# Room Policies: Retention, Publication, Auto-Join **Status**: ✅ Vollständig deployed **Konfiguration**: `apps/production/custom-configs/synapse-values.yaml` ## 1. Message Retention Alte Nachrichten automatisch löschen (Speicher sparen, DSGVO). ```yaml retention: enabled: true default_policy: min_lifetime: 1d # Messages bleiben ≥1d max_lifetime: 1y # Messages gelöscht nach 1 Jahr media_retention: local_media_lifetime: 365d # 1 Jahr remote_media_lifetime: 90d # 90 Tage redaction_retention_period: 7d # Gelöschte Messages noch 7d sichtbar ``` ## 2. Room Publication Rules Kontrollieren welche Rooms im öffentlichen Directory sichtbar sind. ```yaml room_list_publication_rules: - user_id: "*" # Alle User action: allow # dürfen ihre Rooms publishen ``` **Alternativ (restrictiv)**: Nur Admins publishen ```yaml room_list_publication_rules: - user_id: "@admin:axion1337.chat" action: allow - user_id: "*" action: deny ``` ## 3. Auto-Join Rooms Neue User automatisch in bestimmte Rooms hinzufügen (Onboarding). ```yaml auto_join_rooms: - "!announcements:axion1337.chat" - "!rules:axion1337.chat" auto_join_rooms_for_guests: false # Nur registered users ``` **Room ID finden**: Element Settings → Advanced → Room ID ## Deployment ```bash # Edit ConfigMap kubectl apply -f apps/production/custom-configs/synapse-values.yaml # Synapse neustarten kubectl rollout restart deployment -n matrix matrix-stack-synapse # Verify kubectl logs -n matrix -l app.kubernetes.io/name=synapse | grep -i "retention\|publication" ``` ## Best Practices **Privater Server**: - max_lifetime: 1y (großzügig) - action: allow (alle publishen) - auto_join_rooms: announcements + rules **Öffentlicher Server (DSGWR)**: - max_lifetime: 90d (kurz) - action: deny (nur Admins) - auto_join_rooms: [] (keine Zwangs-Rooms) --- **Weitere Details**: Siehe Kapitel 5.