docs(legal)+test: Compliance-Dokumentation & Consent-Unit-Tests (v1.7.4)
Teil 5 des Compliance-Updates: - docs/legal/: data-processing-inventory.md, subprocessors.md, technical-organizational-measures.md, retention-and-deletion.md, incident-response.md, licenses-and-attributions.md — Ist-Zustand aus der Analyse, offene Punkte als Platzhalter - Reine Consent-Regeln nach src/lib/legal-rules.ts ausgelagert (kein Prisma) + Texte nach src/lib/legal-content.ts (7 Pflichtbestätigungen) — für Testbarkeit - Vitest eingerichtet (vitest.config.ts, test-Script); 13 Tests grün: Pflicht-Dokumenttypen, Re-Consent bei neuer Version, normale Benutzer ≠ Org-Vertreter, 7 Org-Bestätigungen, Platzhalter-Erkennung, keine erfundenen Subprozessoren Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
37
docs/legal/retention-and-deletion.md
Normal file
37
docs/legal/retention-and-deletion.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Aufbewahrungs- und Löschkonzept — Lageplan
|
||||
|
||||
Stand: 2026-07-23 · sorgfältiger Entwurf. **Keine Fristen erfunden** — offene Fristen als `[FRIST — zu
|
||||
entscheiden]`. Der Betreiber muss die markierten Entscheidungen treffen.
|
||||
|
||||
| Datenkategorie | Aufbewahrung | Löschung / Prozess |
|
||||
|---|---|---|
|
||||
| Aktive Benutzerkonten | solange Konto besteht | Selfservice/Antrag; kaskadierende Löschung zugehöriger Daten |
|
||||
| Deaktivierte Konten (`isActive=false`) | `[FRIST]` | `[PROZESS — automatische Löschung nach X?]` |
|
||||
| Organisationen (Tenant) | solange aktiv | Löschung durch Org-Admin (Einstellungen) nach Berechtigungsprüfung |
|
||||
| Pläne / Projekte | bis Löschung durch Org | mit Projekt-/Orglöschung (Cascade) |
|
||||
| Dateiuploads (MinIO) | bis Löschung des Bezugsobjekts | mit Projekt/Org/Icon |
|
||||
| Audit-/Aktionslogs (falls geführt) | `[FRIST]` | `[PROZESS]` |
|
||||
| Sicherheits-/Server-Logs | `[FRIST]` | Rotation `[KONFIG]` |
|
||||
| Einladungen | `[FRIST]` | nach Annahme/Ablauf |
|
||||
| Passwort-Reset-Tokens | Ablauf (`resetTokenExpiry`) | mit Verwendung/Ablauf |
|
||||
| E-Mail-Verifizierungs-Tokens | bis Verifizierung | mit Verifizierung |
|
||||
| E-Mails (beim SMTP-Anbieter) | beim Anbieter | `[ABHÄNGIG]` |
|
||||
| Zahlungsinformationen (Stripe + `SystemSetting/donations`) | `[FRIST]` (ggf. gesetzliche Aufbewahrung) | `[PROZESS]`; Zahlungsdaten liegen bei Stripe |
|
||||
| Supportanfragen (Kontaktformular) | `[FRIST]` | `[PROZESS]` |
|
||||
| Backups | `[BACKUP-AUFBEWAHRUNGSFRIST]` | mit Ablauf des Backup-Zyklus |
|
||||
| Zustimmungshistorie (LegalAcceptance) | zu Nachweiszwecken `[FRIST]` | revisionssicher, i.d.R. nicht gelöscht solange Konto besteht |
|
||||
|
||||
## Grundsätze
|
||||
- Produktivdaten werden nach Abschluss des Löschvorgangs entfernt.
|
||||
- Daten in Sicherungskopien können bis zum Ablauf des regulären Backup-Zyklus fortbestehen.
|
||||
- Organisationsrelevante Daten werden nicht ohne Berechtigungsprüfung sofort gelöscht.
|
||||
- Betroffenenrechte (Auskunft, Berichtigung, Löschung, Export) über `/konto/datenschutz` bzw.
|
||||
Datenschutzkontakt; Eingang wird bestätigt.
|
||||
|
||||
## Vom Betreiber zu treffende Entscheidungen
|
||||
1. Aufbewahrungsfrist deaktivierter Konten und automatischer Löschlauf?
|
||||
2. Log-Aufbewahrung (Server-/Sicherheitslogs) und Rotation?
|
||||
3. Aufbewahrung Zahlungs-/Spendendaten (gesetzliche Pflichten?).
|
||||
4. Backup-Aufbewahrungsfrist (`LEGAL_BACKUP_RETENTION`).
|
||||
5. Aufbewahrung Zustimmungsnachweise nach Kontolöschung.
|
||||
6. Support-/Kontaktanfragen-Frist.
|
||||
Reference in New Issue
Block a user