Mein Fach – Admin-Handbuch
Dieses Kapitel beschreibt, wie Sie als Schul-Admin oder Tenant-Verantwortlicher das Modul Mein Fach (persoenliches DMS, Postfach, Verteiler) konfigurieren und ueberwachen.
Eine Endnutzer-Beschreibung und eine technische Architektur-Doku sind separat verfuegbar.
Modul aktivieren oder deaktivieren
Im Admin-Portal > Module > Mein Fach koennen Sie das gesamte Modul abschalten — z.B. wenn Sie nur das Standard-DMS auf Space-Ebene nutzen wollen.
| Einstellung | Wirkung |
|---|---|
| Aktiviert (Standard) | Alle Nutzer haben Zugriff auf "Mein Fach" — Dokumente, Notizen, Postfach |
| Deaktiviert | Welten-Icon "Mein Fach" verschwindet bei allen Nutzern. Bestehende Daten bleiben erhalten und werden bei Reaktivierung wieder zugaenglich. |
| Nur Lesen | Nutzer sehen vorhandene Drops, koennen aber keine neuen empfangen oder selbst senden — fuer Zwischenzustaende waehrend Audit-Reviews |
Daten bleiben erhalten
Beim Deaktivieren werden keine Daten geloescht. Eine Reaktivierung gibt sofort wieder Zugriff. Wenn Sie Daten loeschen wollen, nutzen Sie das DSGVO-Loeschen-Tool.
Quotas pro Rolle
In Admin-Portal > Module > Mein Fach > Quotas koennen Sie pro UserType die Speicher-Limits setzen:
| Rolle | Eigene Dokumente (Standard Light) | Postfach (Standard Light) |
|---|---|---|
| Schueler | 2 GB | 500 MB |
| Eltern | 1 GB | 500 MB |
| Lehrer | 10 GB | 1 GB |
| Mitarbeiter | 5 GB | 750 MB |
| Admin | 20 GB | 2 GB |
| GUEST | 100 MB | 50 MB |
Pro-Plan
Die Standardwerte des Pro-Plans sind fuenffach so gross. Im Tenant-Setup wird automatisch gesetzt, je nachdem welchen Plan Sie gebucht haben.
Anpassen pro Tenant
Sie koennen die Defaults pro UserType ueberschreiben — z.B. weil Ihre Schule besonders viele PDFs in Lehrer-Faechern hat:
Lehrer: Eigene Dokumente: 10 GB → 25 GB
Postfach: 1 GB → 3 GBAenderungen wirken sofort auf alle Nutzer dieser Rolle. Nutzer, die ueber dem alten Limit waren, bekommen einen einmaligen Hinweis.
Quota verkleinern
Wenn Sie eine Quota verkleinern und Nutzer bereits ueber dem neuen Limit liegen, werden keine Daten geloescht. Die Nutzer koennen aber keine neuen Dateien mehr hochladen, bis sie unter das Limit kommen.
Kosten-Auswirkung
Mein Fach nutzt Object Storage (S3 / MinIO / Hetzner). Die effektive Speicher-Nutzung sehen Sie im Cost-Management-Dashboard:
Storage-Nutzung Tenant "Schule Musterstadt"
Eigene Dokumente: 14.2 GB
Postfach (alle): 3.1 GB
Verteiler-Originale: 0.8 GB (Reference-Dedup spart ~85 GB)
─────────────────────────────────────
Gesamt: 18.1 GB
Geschaetzte Kosten: 0.09 €/MonatDie Verteiler-Funktion nutzt Reference-Dedup — eine verteilte Datei wird nur einmal gespeichert, auch wenn sie 200 Empfaengern zugestellt wurde. Das spart erheblich Speicher.
Privacy-Defaults pro Rolle
Sie koennen vorgeben, welche Privacy-Einstellung neue Nutzer beim Erstellen ihres Accounts haben:
| Rolle | Empfohlener Default | Begruendung |
|---|---|---|
| Schueler | Nur Mitarbeiter | Schutz vor Schueler-zu-Schueler-Mobbing |
| Eltern | Nur Mitarbeiter | Schutz vor Eltern-Eltern-Marketing |
| Lehrer | Alle | Lehrer brauchen breite Erreichbarkeit |
| Mitarbeiter | Alle | Wie Lehrer |
| Admin | Alle | Wie Lehrer |
Nutzer koennen ihre eigene Einstellung jederzeit aendern — Sie geben nur den Startwert vor.
Strenger Modus
Sie koennen erzwingen, dass die Standard-Privacy-Einstellung nicht weniger streng sein darf als der Default. Beispiel:
Schueler-Default: Nur Mitarbeiter
Schueler darf maximal: Nur Mitarbeiter
→ Schueler kann strenger einstellen ("Nur Kontakte" oder "Niemand"),
aber nicht "Alle"Das ist sinnvoll fuer Schul-Datenschutz-Konzepte und DSGVO-Konformitaet.
Auto-Loeschung — Tenant-Maximum
In Admin-Portal > Module > Mein Fach > Aufbewahrung legen Sie das Maximum fest:
| Einstellung | Wirkung |
|---|---|
| Tenant-Max-Retention | z.B. 90 Tage — Nutzer koennen nicht laenger einstellen |
| Default-Wert fuer neue Nutzer | z.B. 60 Tage — wird beim Erstellen des Accounts gesetzt |
| Audit-Log-Retention | z.B. 365 Tage — wie lange Audit-Eintraege erhalten bleiben |
DSGVO-Empfehlung
Setzen Sie das Tenant-Maximum auf 60-90 Tage. Laengere Aufbewahrung fuer "kommunikatives Postfach" ist in der Regel nicht durch berechtigtes Interesse gedeckt. Eigene Dokumente und Archiv-Inhalte sind davon nicht betroffen — die zaehlen zur eigenen Datenherrschaft des Nutzers.
Verteiler-Permissions
Pro Space koennen Sie festlegen, wer in den Verteiler-Fach-Tab Drops einlegen darf.
Standard-Vorgaben
| Space-Typ | Default-Verteiler-Berechtigte |
|---|---|
| Klassen-Space | Klassenlehrer + Schul-Admin |
| Faecher-Space | Fachlehrer + Schul-Admin |
| Eltern-Space | Klassenlehrer + Eltern-Vertreter |
| Lehrerzimmer | Schulleitung + alle Lehrer |
| Verein-Mitgliedschafts-Space | Vorstand |
Erweiterte Konfiguration
Ueber den Space-Admin-Dialog koennen Sie zusaetzliche Personen autorisieren:
Space "Klasse 5b"
Verteiler-Berechtigte:
☑ Frau Mueller (Klassenlehrerin)
☑ Herr Schmidt (Stellvertreter)
☑ Eltern-Vertreterin
☐ Schuelersprecher ← optional aktivierenAudit
Jede Aenderung an Verteiler-Permissions landet im Audit-Log mit Begruendungs-Eingabe.
Audit-Log und Compliance
Tenant-weiter Log-Zugriff
Im Admin-Portal > Module > Mein Fach > Audit-Log sehen Sie alle Aktivitaeten:
| Filter | Beispiele |
|---|---|
| Aktion | drop, read, move, delete, admin_access |
| Sender | konkrete Person oder UserType |
| Empfaenger | konkrete Person oder UserType |
| Zeitraum | letzte 24h, 7 Tage, 30 Tage, custom |
| Verteiler-Drops | nur Drops aus Spaces |
Notfall-Zugriff dokumentieren
Wenn Sie als Admin auf das Postfach eines Nutzers zugreifen muessen, gilt:
- Begruendung angeben — Pflichtfeld
- Datenschutz-Hinweis akzeptieren
- Zugriff wird mit Zeitstempel und Grund im Audit-Log gespeichert
- Der Nutzer wird automatisch benachrichtigt:
⚠️ Schul-Admin hat Ihr Postfach am 17.04. eingesehen. Grund: DSGVO-Anfrage Erziehungsberechtigte. Admin: Frau Schmidt (Schulleitung) - Eintrag im Verarbeitungsverzeichnis automatisch erzeugt
Nicht missbrauchen
Notfall-Zugriffe ohne dokumentierten Grund sind eine DSGVO-Verletzung. Das Modul macht es Ihnen einfach, korrekt zu handeln — und schwer, falsch zu handeln. Nutzen Sie es nur wenn noetig.
Erlaubte Notfall-Gruende
Folgende Gruende sind in Prilog vorausgewaehlt:
- DSGVO-Anfrage Betroffener — Auskunft / Loeschung / Berichtigung
- DSGVO-Anfrage Erziehungsberechtigte — Einsicht in das Konto eines Minderjaehrigen
- Mobbing-Vorfall — dokumentierter Vorfall mit Beweissicherung
- Datenrettung — Nutzer hat eigene Daten verloren und bittet um Wiederherstellung
- Forensik (Strafverfolgung) — schriftliche Anfrage von Behoerden
- Weiteres — mit Klartext-Begruendung (mind. 50 Zeichen)
DSGVO-Loeschung von Postfach-Inhalten
Wenn ein Nutzer ausscheidet und Sie eine DSGVO-konforme Loeschung durchfuehren muessen:
Standard-Workflow
- Admin-Portal > Nutzer > Person waehlen > "Konto loeschen"
- Es wird ein 30-Tage-Grace-Period gestartet
- Innerhalb der 30 Tage koennen Sie DSGVO-Export durchfuehren — alle eigenen Dokumente, Notizen und Archiv-Inhalte als ZIP
- Postfach-Inhalt wird sofort geloescht (gilt als Kommunikation, nicht als eigene Datenherrschaft)
- Nach 30 Tagen werden auch eigene Dokumente und Notizen endgueltig geloescht
Sofort-Loeschung
Wenn ein Nutzer sofortige Loeschung verlangt (DSGVO Art. 17):
- Admin-Portal > Nutzer > Person waehlen > "DSGVO-Sofortloeschung"
- Begruendung der Sofort-Loeschung dokumentieren
- Alle Daten werden innerhalb 24h geloescht — eigene Dokumente, Notizen, Postfach, Archiv
- Verteilte Dateien in den Postfaechern anderer Nutzer (z.B. Hausaufgaben, die der ausscheidende Lehrer verteilt hat) bleiben mit dem Vermerk "Sender geloescht" — andernfalls verlieren Schueler ploetzlich ihre Hausaufgaben
- Audit-Log-Eintrag wird erzeugt und im Verarbeitungsverzeichnis dokumentiert
Verteilte Dateien
Verteiler-Drops werden bei Sender-Loeschung nicht automatisch aus den Empfaenger-Postfaechern entfernt — das wuerde z.B. Schuelern ploetzlich ihre Hausaufgaben loeschen. Die Dateien bleiben mit dem Vermerk "Sender geloescht" erhalten und werden nach normaler Auto-Retention der Empfaenger geloescht.
ClamAV-Integration
Alle Drops und Uploads werden automatisch auf Schadcode geprueft:
- Upload-Proxy scannt jede Datei mit ClamAV vor dem Speichern
- Bei einem Treffer wird die Datei abgelehnt
- Sender und Empfaenger werden benachrichtigt (mit allgemeinem Text — nicht "Trojaner X gefunden", sondern "Datei konnte nicht zugestellt werden")
- Im Audit-Log wird der Vorfall mit Datei-Hash, Sender und ClamAV-Signatur dokumentiert
Falsch-positiver Treffer?
Wenn ClamAV eine harmlose Datei blockiert, koennen Sie sie ueber das Admin-Portal > ClamAV > Quarantaene wiederherstellen oder direkt zustellen. Der Sender wird benachrichtigt.
Webhook (n8n / Make / Custom-Automation)
Pro Tenant koennen Sie eine Webhook-URL hinterlegen, die bei jedem eingehenden Drop angepingt wird. Damit koennen Sie eigene Automationen anschliessen — z.B. Slack-Notification, n8n-Workflow, eigene Datenbank.
Konfiguration
- Admin-Portal > Tenants > [Tenant] > Mein Fach: Einstellungen
- Im Bereich Webhook die HTTPS-URL eintragen
- Speichern
Pflicht: HTTPS
Aus Sicherheitsgruenden werden HTTP-URLs ignoriert. Webhooks gehen nur an https:// Adressen.
Payload
Bei jedem drop.received POST mit JSON:
{
"event": "drop.received",
"tenantId": "cmneba0nv000fzxazefimnlvt",
"recipientUserId": "@user2:weser.prilog.team",
"senderUserId": "@user1:weser.prilog.team",
"documentId": "cmo7..."
"fileName": "hausaufgabe.pdf",
"mimeType": "application/pdf",
"sizeBytes": 234567,
"senderNote": "Bitte bis Donnerstag",
"fromSpace": null,
"ts": 1735574400000
}Signatur-Verifikation
Jeder Request enthaelt einen Header:
X-Prilog-Signature: sha256=<hex>
X-Prilog-Event: drop.receivedDie Signatur ist HMAC-SHA256 mit dem STORAGE_ENCRYPTION_KEY als Geheimnis und dem JSON-Body als Nachricht. Empfaenger sollte verifizieren — sonst kann jemand falsche Drop-Events vortaeuschen.
Verhalten
- Best-effort: kein Retry bei Fehler (n8n-Workflows duerfen einzelne Events verlieren)
- 5s Timeout
- Drop-Flow wird nicht blockiert — Webhook ist async fire-and-forget
- Bei wiederholten Fehlern: Tenant-Admin im Audit-Log nachvollziehbar
Mail-zu-DMS — Was Admins wissen sollten
Seit Phase 10 koennen Nutzer sich eine persoenliche DMS-E-Mail-Adresse generieren lassen (dms-<slug>@mail.prilog.chat). Eingehende Mails landen automatisch in Mein Fach > Postfach > Neu.
Welche Daten werden gespeichert?
Pro Nutzer-Alias (UserDmsEmailAlias):
slug— 12-Zeichen Crockford-Base32 (eindeutig pro Tenant)fullAddress—dms-<slug>@mail.prilog.chat(global eindeutig)enabled— kann vom Nutzer ein/aus geschaltet werdenlastReceivedAt— wann zuletzt eine Mail eintraf (audit)
Wer darf eine Adresse haben?
Standardmaessig alle Nutzer mit aktivem Personal-Fach-Modul. Falls Sie das einschraenken wollen, im Modul-Settings das Feature deaktivieren.
Anti-Spam-Mechanismus
- Adresse = Geheimnis — Nutzer sind angehalten, sie nicht weiterzugeben
- Bei Verdacht auf Missbrauch: Nutzer kann rotieren (alte Adresse wird sofort ungueltig)
- Stalwart-Webhook validiert IP-Whitelist (nur Stalwart-MTA darf POSTen)
Auswirkung auf die Quota
Eingehende Mails + Anhaenge zaehlen zur Postfach-Quota des jeweiligen Nutzers. Bei voller Quota werden weitere Mails noch akzeptiert (Stalwart kennt die Quota nicht), aber das DMS-Personal-Side-Effect-Handling logged einen Fehler.
Globale Uebersicht (Roadmap)
Eine Admin-Uebersicht aller aktiven Mail-Aliases pro Tenant ist auf der Roadmap. Aktuell muessen Sie ggf. per DB-Query nachsehen:
SELECT matrix_user_id, full_address, enabled, last_received_at
FROM user_dms_email_aliases
WHERE tenant_id = '...'
ORDER BY last_received_at DESC NULLS LAST;Service-Account-Rotation
Der MinIO-Service-Account jedes Tenants wird alle 90 Tage automatisch rotiert. Cron-Job storage-rotation laeuft taeglich 04:00.
Was passiert beim Rotieren:
- Backend ruft Agent → erstellt neuen SvcAcct mit neuer Bucket-Policy
- Neue AccessKey/Secret werden in TenantRuntime gespeichert (Secret AES-256-GCM verschluesselt)
- Der alte SvcAcct bleibt aktiv — kein Cleanup. Tenant-Admin kann ihn manuell loeschen falls gewuenscht.
- Neue Uploads benutzen sofort den neuen SvcAcct (LRU-Cache wird invalidiert)
Manueller Trigger: POST /api/admin/tenants/:tenantId/storage/initialize jederzeit moeglich (z.B. nach Compromise-Verdacht).
Reporting
Storage-Reports
Im Admin-Portal > Reports > Speicher sehen Sie:
- Top-10-Nutzer nach eigene Dokumente Speicher
- Top-10-Nutzer nach Postfach-Speicher
- Top-10-Verteilungen nach Empfaenger-Anzahl
- Tenant-weiter Trend (Wachstum / Plateau / Schrumpfung)
Aktivitaets-Reports
- Drops pro Tag (Tenant-weit)
- Verteilungen pro Woche, sortiert nach Sender
- Dropoff-Quote: wie oft Drops nicht geoeffnet werden (Indikator fuer ineffiziente Verteiler-Nutzung)
DSGVO-Reports
Auf Knopfdruck erzeugbar:
- Verarbeitungsverzeichnis-Eintrag "Mein Fach" — fuer Ihren AVV
- Liste aller Notfall-Zugriffe — fuer DSGVO-Audit
- Quota-Reservierung-Bericht — fuer Cost-Management
Migration und Onboarding
Bestehender Tenant: Modul aktivieren
Wenn Sie das Modul bei einem bestehenden Tenant aktivieren:
- Admin-Portal > Module > Mein Fach > Aktivieren
- Standard-Quotas und -Settings werden pro Rolle angewendet
- Bestehende Nutzer bekommen sofort ein Welten-Icon Mein Fach — leer, bereit zum Nutzen
- Eine Push-Benachrichtigung informiert alle aktiven Nutzer ueber das neue Modul (1x, optional)
Mass-Onboarding fuer Schueler
Beim Schuljahres-Start koennen Sie z.B. allen Schuelern automatisch eine Begruessungs-Hausaufgabe verteilen:
- Im Admin-Portal Verteiler an mehrere Spaces gleichzeitig auswaehlen (Klasse 5a-5d)
- PDF mit Schul-Regeln, Stundenplan, Materialliste hochladen
- Verteilen — alle Schueler haben es im Postfach
Troubleshooting
Nutzer beschwert sich: "Ich kann nichts mehr ablegen"
Ursache: Postfach oder eigene Dokumente sind voll.
Loesung:
- Admin-Portal > Nutzer > Person > Mein Fach — Speicher-Status pruefen
- Bei
Postfach 100% voll: Nutzer aufraeumen lassen oder Quota erhoehen - Bei
Eigene Dokumente 100% voll: Quota erhoehen oder Nutzer auf Pro-Plan upgraden
Drop wurde nicht zugestellt
Ursachen:
| Symptom | Wahrscheinliche Ursache | Loesung |
|---|---|---|
| "Empfaenger hat dies abgelehnt" | Privacy-Setting des Empfaengers blockiert Sender | Sender mit Empfaenger sprechen oder ueber Chat senden |
| "Postfach des Empfaengers voll" | Hard-Limit erreicht | Empfaenger aufraeumen lassen oder Quota erhoehen |
| "Datei zu gross" | Sender hat 50+ MB hochgeladen | Datei verkleinern oder via Chat senden |
| "Spam-Limit erreicht" | Sender hat in einer Stunde 20 Drops an dieselbe Person geschickt | 1h warten oder Tenant-Limit anpassen |
| "Datei wurde abgelehnt" | ClamAV-Treffer | Quarantaene pruefen, ggf. wiederherstellen |
Audit-Log zeigt unbekannten Zugriff
Wenn ein Nutzer einen Audit-Log-Eintrag "Zugriff durch Admin XY" sieht und sich beschwert:
- Im Audit-Log-Detail den Grund pruefen, den der Admin angegeben hat
- Falls der Grund nicht plausibel ist — interner Vorfall, ggf. den Admin zur Stellungnahme bitten
- Verarbeitungsverzeichnis-Eintrag pruefen — er sollte automatisch erzeugt sein
Best Practices
Fuer Schulen
- Schueler-Privacy auf "Nur Mitarbeiter" setzen (Mobbing-Schutz)
- Aufbewahrung 60-90 Tage (DSGVO-konform)
- Verteiler-Permission pro Klassen-Space dokumentieren — wer darf, wer nicht
- Audit-Log monatlich durchschauen — Notfall-Zugriffe stichprobenartig pruefen
- Schueler-Quotas konservativ — 2 GB sind genug, mehr verleitet zu "ich speichere mein ganzes Leben hier"
Fuer Vereine / Firmen
- Privacy-Default "Alle" ist meist OK — Mitarbeiter haben oft offene Kommunikation
- Lehrer-Aequivalent (z.B. "Vorstand") sollte Quotas wie ein Lehrer bekommen
- Aufbewahrung 1 Jahr ist oft praxisnah, da Vereins-Kommunikation oft saisonal ist (Saison, Veranstaltungen)
- Verteiler-Funktion fuer Newsletter und Vereins-Mitteilungen nutzen
Zusammenfassung
- Mein Fach ist ein vollwertiges Modul — kann pro Tenant aktiviert / deaktiviert werden
- Quotas, Privacy-Defaults, Auto-Loeschung sind pro UserType konfigurierbar
- Verteiler-Berechtigung pro Space anpassbar
- Audit-Log und DSGVO-Tools sind eingebaut — keine externe Workflow noetig
- ClamAV-Scan automatisch bei jedem Drop
- Cost-Management mit Reference-Dedup spart bei Verteilern erheblich Speicher