5.1 KiB
5.1 KiB
title, sidebar_label
| title | sidebar_label |
|---|---|
| DSGVO & Compliance-Operationen | DSGVO-Operationen |
Dieses Runbook beschreibt praktische Abläufe für Datenschutz‑Anfragen, Datenlöschung und Aufbewahrungsfristen.
1. Grundprinzipien
- Gäste benötigen kein Konto; die meisten Daten sind Event‑ und Foto‑bezogen.
- Tenant Admins sind in der Regel Verantwortliche im Sinne der DSGVO, Fotospiel fungiert als Auftragsverarbeiter (je nach Vertragsmodell).
- Rechtsgrundlagen, Impressum und Datenschutzerklärungen werden über die Legal‑Pages im Admin verwaltet – dieses Dokument fokussiert sich auf Betriebsprozesse.
2. Typische Anfragen & Aktionen
- Auskunftsanfragen
- Gast möchte wissen, ob Fotos von ihm/ihr gespeichert sind.
- Typischer Ablauf:
- Gast an Tenant verweisen (wenn Veranstalter Ansprechpartner ist).
- Falls Fotospiel direkt handeln muss: Event/Foto‑IDs anhand bereitgestellter Infos identifizieren (z.B. Link, Screenshot, Zeitfenster).
- Relevante Datensätze in DB (Fotos, Likes, Meldungen) lokalisieren und dokumentieren.
- Löschanfragen
- Ein Gast/Tenant bittet um Löschung spezifischer Fotos oder eines ganzen Events.
- Vorgehen:
- Identität und Berechtigung prüfen (z.B. Tenant Admin, verifizierte Anfrage).
- Fotos/Ereignisse über Admin UI oder interne Tools löschen/archivieren.
- Sicherstellen, dass
event_media_assetsund Archiv‑Speicher ebenfalls bereinigt werden.
- Sicherstellen, dass
- Prüfen, ob Logs/Audits pseudonymisiert bleiben können, ohne personenbezogene Inhalte.
- Anfrage und Zeitpunkt dokumentieren (Ticket, internes Log).
- Datenexport
- Tenant will einen Export seiner Daten (Events, Medien, Statistiken).
- Nutzung der vorhandenen Export‑Funktionen (z.B. CSV/ZIP im Admin) bevorzugen.
- Falls diese nicht ausreichen, manuelle Exporte via Skript/DB mit Datenschutz im Blick (keine unnötigen Felder).
- Beispiel: nur die Felder exportieren, die für den Zweck der Anfrage wirklich notwendig sind (kein Debug‑Log, keine internen IDs, sofern nicht sinnvoll).
2.1 Konkrete Tools & Endpoints
-
Profil-Datenexport (User-Ebene)
- Controller:
App\Http\Controllers\ProfileDataExportController. - UI: Profilbereich der Tenant Admin PWA; Nutzer kann dort einen Export anstoßen.
- Ablauf:
- Nutzer triggert Export →
ProfileDataExportController::store()legt einenDataExport‑Eintrag an (status = pending) und dispatchtGenerateDataExport. - Der Job
GenerateDataExporterstellt ein ZIP mit relevanten Daten und setztstatus = ready,path, ggf.expires_at. - Nutzer kann die Datei über
ProfileDataExportController::download()abrufen, solangeisReady()und nichthasExpired().
- Nutzer triggert Export →
- Ops-Sicht:
- Wenn Exporte „hängen bleiben“ (lange
pending/processing), Queue/Horizon und Logs prüfen, ggf. Job neu anstoßen. - Für DSGVO‑Exports bevorzugt diesen Pfad nutzen, statt ad‑hoc DB‑Abfragen.
- Wenn Exporte „hängen bleiben“ (lange
- Controller:
-
Account-Anonymisierung (User/Tenant-Ebene)
- Service:
App\Services\Compliance\AccountAnonymizer. - Job:
App\Jobs\AnonymizeAccountnutzt diesen Service typischerweise im Hintergrund. - Verhalten:
- Löscht/entfernt Medien (
EventMediaAsset,Photo) für einen Tenant. - Anonymisiert Tenant‑ und User‑Daten (setzt neutrale Namen, entfernt Kontaktinfos, sperrt Accounts).
- Löscht/entfernt Medien (
- Ops-Sicht:
- Nur nach klarer Freigabe einsetzen, da Anonymisierung irreversibel ist.
- Vor Einsatz prüfen, ob für den betreffenden Tenant alle vertraglichen Zusagen (z.B. Datenexport) erfüllt sind.
- Service:
3. Retention & automatisierte Löschung
- Event-bezogene Aufbewahrung
- Standard‑Retentionsfristen für Events/Fotos (z.B. X Tage nach Eventende/Archivierung) laut Produkt‑Spezifikation.
- Jobs/Kommandos, die nach Ablauf Medien archivieren oder löschen (siehe
docs/ops/media-storage-spec.md).
- Logs
- Aufbewahrungsdauer von Applikations‑Logs (z.B. 30–90 Tage), Rotation/Anonymisierung.
- Konfiguration pro Tenant
- Wenn Tenants eigene Retention wünschen, prüfen ob das UI/Config‑Model dies unterstützt (nicht ad‑hoc in SQL ändern).
4. Operative Checkliste bei DSGVO-Fällen
- Anfrage klassifizieren (Auskunft, Löschung, Export, Sonstiges).
- Verantwortlichkeit klären (Tenant vs. Fotospiel).
- Technische Schritte definieren (welche Events/Fotos/Accounts betroffen).
- Durchführung:
- In Admin UI oder via internen Tools.
- Medien/Metadaten konsistent behandeln (keine „hängenden“ Records).
- Dokumentation:
- Ticket/E-Mail‑Thread mit Datum, Betreff, Maßnahmen.
- Follow‑Up:
- Prüfen, ob Runbooks/Automatisierungen angepasst werden sollten (z.B. besserer Self‑Service für Tenants).
5. Verbindung zu Security-Hardening
Das Security‑Hardening‑Epic (docs/process/todo/security-hardening-epic.md) enthält mehrere Workstreams, die DSGVO‑relevant sind:
- Signierte Asset‑URLs statt direkter Storage‑Links.
- Verbesserte Token‑/Auth‑Flows.
- Storage‑Health und Checksummen‑Verifizierung.
Wenn dort neue Features produktiv gehen, sollten die Auswirkungen auf DSGVO‑Prozesse in diesem Runbook ergänzt werden.