feat(sprint-6): Phase 2 — DSGVO consent management
- V6 migration: consents table with audit columns - Consent entity, repository, service (grant/revoke/check) - ConsentController: GET/POST/DELETE consent endpoints - DSGVO export (Art. 15): full personal data JSON download - DSGVO deletion (Art. 17): anonymization + account deactivation - Frontend: consent banner (modal, cannot dismiss), privacy settings page - React Query hooks for consent + DSGVO operations - Full i18n (de/en) for consent and DSGVO namespaces
This commit is contained in:
@@ -343,5 +343,32 @@
|
||||
"notFound": "Ressource nicht gefunden.",
|
||||
"quotaExceeded": "Kontingent überschritten.",
|
||||
"serverError": "Serverfehler. Bitte versuche es später erneut."
|
||||
},
|
||||
"consent": {
|
||||
"title": "Datenschutz-Einwilligung",
|
||||
"dataProcessing": "Datenverarbeitung",
|
||||
"dataProcessingDesc": "Ich willige ein, dass meine personenbezogenen Daten (Name, E-Mail, Geburtsdatum, Ausgabe-Historie) zum Zweck der Vereinsverwaltung verarbeitet werden. Rechtsgrundlage: Art. 6 Abs. 1 lit. a DSGVO.",
|
||||
"marketing": "Marketing-Benachrichtigungen",
|
||||
"marketingDesc": "Ich möchte über neue Funktionen und Angebote informiert werden.",
|
||||
"accept": "Ich stimme zu",
|
||||
"reject": "Ablehnen und Konto löschen",
|
||||
"required": "Erforderlich",
|
||||
"revoke": "Einwilligung widerrufen",
|
||||
"revokeWarning": "Ohne Einwilligung zur Datenverarbeitung kann der Dienst nicht genutzt werden.",
|
||||
"granted": "Erteilt am",
|
||||
"revoked": "Widerrufen"
|
||||
},
|
||||
"dsgvo": {
|
||||
"title": "Datenschutz",
|
||||
"export": "Meine Daten exportieren",
|
||||
"exportDesc": "Laden Sie alle über Sie gespeicherten Daten als JSON-Datei herunter (Art. 15 DSGVO).",
|
||||
"exportButton": "Daten herunterladen",
|
||||
"exporting": "Daten werden zusammengestellt...",
|
||||
"exported": "Datenexport heruntergeladen.",
|
||||
"delete": "Konto und Daten löschen",
|
||||
"deleteDesc": "Alle personenbezogenen Daten werden unwiderruflich gelöscht oder anonymisiert (Art. 17 DSGVO). Ausgabe-Daten bleiben anonymisiert erhalten (gesetzliche Aufbewahrungspflicht).",
|
||||
"deleteButton": "Konto endgültig löschen",
|
||||
"deleteConfirm": "Bist du sicher? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"deleteSuccess": "Dein Konto wurde gelöscht. Du wirst jetzt abgemeldet."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -343,5 +343,32 @@
|
||||
"notFound": "Resource not found.",
|
||||
"quotaExceeded": "Quota exceeded.",
|
||||
"serverError": "Server error. Please try again later."
|
||||
},
|
||||
"consent": {
|
||||
"title": "Privacy Consent",
|
||||
"dataProcessing": "Data Processing",
|
||||
"dataProcessingDesc": "I consent to the processing of my personal data (name, email, date of birth, distribution history) for the purpose of club management. Legal basis: Art. 6(1)(a) GDPR.",
|
||||
"marketing": "Marketing Notifications",
|
||||
"marketingDesc": "I would like to receive information about new features and offers.",
|
||||
"accept": "I agree",
|
||||
"reject": "Decline and delete account",
|
||||
"required": "Required",
|
||||
"revoke": "Revoke consent",
|
||||
"revokeWarning": "Without consent for data processing, the service cannot be used.",
|
||||
"granted": "Granted on",
|
||||
"revoked": "Revoked"
|
||||
},
|
||||
"dsgvo": {
|
||||
"title": "Privacy",
|
||||
"export": "Export my data",
|
||||
"exportDesc": "Download all data stored about you as a JSON file (Art. 15 GDPR).",
|
||||
"exportButton": "Download data",
|
||||
"exporting": "Compiling data...",
|
||||
"exported": "Data export downloaded.",
|
||||
"delete": "Delete account and data",
|
||||
"deleteDesc": "All personal data will be irreversibly deleted or anonymized (Art. 17 GDPR). Distribution data will be retained in anonymized form (legal retention requirement).",
|
||||
"deleteButton": "Permanently delete account",
|
||||
"deleteConfirm": "Are you sure? This action cannot be undone.",
|
||||
"deleteSuccess": "Your account has been deleted. You will now be logged out."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user