DSGVO Setup (technische Baseline)
1) Pflichtangaben ausfüllen
- privacy.html: Verantwortlicher wird nach der Anmeldung automatisch aus der Lizenzbestellung eingetragen (consent-parties.js, GET /api/tenant/consent-parties); reale Prozesse prüfen
- impressum.html: Pflichtangaben gemäß TMG
- TEAMAPP_PRIVACY_CONTACT_EMAIL als Umgebungsvariable setzen
2) Neue API-Funktionen
- GET /api/privacy/info
- GET /api/privacy/consents
- PUT /api/privacy/consents
- GET /api/privacy/export
- POST /api/privacy/delete-request
- GET /api/admin/privacy/requests
- POST /api/admin/privacy/requests/resolve
- POST /api/admin/privacy/cleanup
Hinweis: Push-Registrierung ist jetzt an eine aktive Einwilligung für push_notifications gebunden.
3) Digitale Einwilligung (Spieler / Eltern)
- Trainer erzeugt pro Spieler einen persönlichen Link (30 Tage gültig, einmal verwendbar; gespeichert wird nur der SHA-256-Hash des Tokens). Das Token steht im URL-Fragment (
einwilligung.html#t=…) und landet nicht in Server-Protokollen. - Erwachsene willigen selbst ein (Bestätigung von Volljährigkeit und Identität), bei Jugendlichen ein Erziehungsberechtigter mit Angabe des Verhältnisses und Bestätigung der Zustimmung des Kindes.
- Nachweis (Tabelle
consent_records): Unterzeichner (Name, optional E-Mail/Telefon), Zeitpunkt, bestätigte Punkte, Dokument und Version, SHA-256-Prüfsumme des Wortlauts, angezeigte Sprache, gehashte IP-Adresse. Rechtlich maßgeblich ist die deutsche Fassung. - Widerruf wird mit Datum und Eingangsweg vermerkt; das Einverständnis der Saison wird zurückgenommen.
- Aufbewahrung: Nachweise zu gelöschten Spielern werden nach 3 Jahren gelöscht (Rechenschaftspflicht, Art. 5 Abs. 2 und Art. 7 Abs. 1 DSGVO), mit dem Verein sofort; verbrauchte oder abgelaufene Links nach 90 Tagen.
- API: POST /api/players/{id}/consent-request, POST /api/consent-requests/bulk, POST /api/consent-requests/view, POST /api/consent-requests/submit, GET /api/players/{id}/consent-records, GET /api/consent-records/{id}, POST /api/consent-records/{id}/revoke
4) Retention-Konfiguration (optional)
- TEAMAPP_PRIVACY_INACTIVE_PUSH_SUBSCRIPTIONS_DAYS (Default 180)
- TEAMAPP_PRIVACY_RESOLVED_PRIVACY_REQUESTS_DAYS (Default 730)
5) Operative Prozesse (organisatorisch)
- AVV mit Hosting-/Dienstleistern abschließen
- Verzeichnis von Verarbeitungstätigkeiten führen
- Berechtigungskonzept dokumentieren
- Lösch- und Auskunftsprozess intern festlegen
- Datenschutzfolgenabschätzung prüfen (falls erforderlich)
6) Wichtiger Hinweis
Diese Umsetzung ist eine technische Grundlage und keine Rechtsberatung. Eine juristische Prüfung durch eine fachkundige Stelle bleibt erforderlich.