# InnungsApp — DSGVO & Datenschutzkonzept --- ## 1. Überblick InnungsApp verarbeitet personenbezogene Daten von: - Innungsgeschäftsführern und Admins - Mitgliedsbetrieben (Betriebsinhaber) - Azubi-Bewerbern (Minderjährige möglich!) - Auszubildenden (Minderjährige möglich!) Dies begründet hohe DSGVO-Anforderungen — insbesondere bei Minderjährigen. --- ## 2. Rechtsgrundlagen | Verarbeitung | Rechtsgrundlage | Artikel DSGVO | |---|---|---| | Mitgliederverwaltung | Berechtigtes Interesse der Innung | Art. 6 Abs. 1 lit. f | | Kommunikation (News) | Berechtigtes Interesse | Art. 6 Abs. 1 lit. f | | Lehrlingsbörse (Betrieb) | Vertragserfüllung | Art. 6 Abs. 1 lit. b | | Lehrlingsbörse (Bewerber) | Einwilligung | Art. 6 Abs. 1 lit. a | | Azubi-Profil (Minderjährige) | Elterliche Einwilligung (< 16 J.) | Art. 8 DSGVO | | Analytics (PostHog) | Berechtigtes Interesse | Art. 6 Abs. 1 lit. f | | Push Notifications | Einwilligung | Art. 6 Abs. 1 lit. a | --- ## 3. Datenkategorien & Speicherdauer ### Mitgliedsdaten | Datenkategorie | Speicherdauer | Begründung | |---|---|---| | Name, Betrieb, Kontaktdaten | Mitgliedschaft + 3 Jahre | Handelsrechtliche Aufbewahrungspflicht | | E-Mail (Auth) | Bis Kontolöschung | Technisch notwendig | | Push Tokens | Bis Abmeldung / App-Deinstallation | Technisch notwendig | | Lesestatus (news_reads) | 12 Monate | Analytics, danach Anonymisierung | | Login-Logs | 30 Tage | Sicherheit | ### Azubi-Bewerber-Daten | Datenkategorie | Speicherdauer | Begründung | |---|---|---| | Bewerberprofil | 6 Monate nach letzter Aktivität | Automatische Löschung | | Chat-Nachrichten | 90 Tage nach Gesprächsende | Automatische Löschung | | Video-Views (anonym) | 90 Tage | Analytics | ### Logs & Analytics | Datenkategorie | Speicherdauer | |---|---| | Supabase Auth Logs | 30 Tage | | PostHog Events | 12 Monate (anonymisiert nach 3 Monaten) | | Edge Function Logs | 7 Tage | --- ## 4. Auftragsverarbeitung (AVV) InnungsApp ist **Auftragsverarbeiter** für die Innungen. Innungen sind **Verantwortliche** für die Daten ihrer Mitglieder. ### AVV-Pflicht Mit jeder Innung wird ein AVV (Auftragsverarbeitungsvertrag) abgeschlossen: - Elektronisch im Onboarding-Prozess - Signatur via Klick-Einwilligung (dokumentiert) - Bestandteil der AGBs ### AVV-Inhalte (Kernanforderungen) - Gegenstand und Dauer der Verarbeitung - Art und Zweck der Verarbeitung - Art der personenbezogenen Daten - Kategorien betroffener Personen - Pflichten und Rechte des Verantwortlichen (Innung) - Technische und organisatorische Maßnahmen (TOMs) - Sub-Auftragsverarbeiter (Supabase, Resend, etc.) --- ## 5. Sub-Auftragsverarbeiter | Anbieter | Zweck | Standort | Datenschutz-Basis | |---|---|---|---| | **Supabase** | Datenbank, Auth, Storage | EU (Frankfurt, AWS eu-central-1) | EU-Standardvertragsklauseln | | **Vercel** | Web-Hosting Admin | USA + EU-Edge | EU-SCC, EU-Daten bleiben in EU | | **Resend** | Transaktions-E-Mails | USA | EU-SCC | | **Expo / EAS** | App-Build, Push-Routing | USA | EU-SCC | | **PostHog** | Analytics | EU (optional) | EU-Hosting wählbar | | **Mux** | Video-Hosting (Post-MVP) | USA | EU-SCC | **Wichtig:** Alle kritischen Daten (Mitgliederdaten, Auth) liegen in Supabase Frankfurt (EU). US-Anbieter erhalten nur technisch notwendige Minimal-Daten. --- ## 6. Technische & Organisatorische Maßnahmen (TOMs) ### Vertraulichkeit - **Datenverschlüsselung in Transit:** TLS 1.3 für alle Verbindungen - **Datenverschlüsselung at Rest:** AES-256 via Supabase (AWS KMS) - **Row Level Security:** Strikte Datenisolation auf Datenbankebene - **JWT-basierte Auth:** Kurzlebige Access Tokens (1 Stunde), Refresh Tokens (7 Tage) - **Magic Link:** Einmalig verwendbar, 7 Tage gültig ### Integrität - **Audit Logs:** Alle Admin-Aktionen werden geloggt (wer hat was wann geändert) - **Backup:** Supabase automatisch täglich (30 Tage Retention im Pro-Plan) - **Input Validation:** Server-seitige Validierung aller Formulare (Zod Schemas) ### Verfügbarkeit - **Supabase SLA:** 99,5 % Uptime - **Multi-AZ:** Supabase verwendet PostgreSQL mit Standby in separater AZ - **CDN:** Vercel und Supabase Storage mit globalem CDN ### Zugriffskontrolle - **Role-based Access Control:** `admin` | `member` | `public` - **Principle of Least Privilege:** Jede Rolle nur Minimalrechte - **Admin-Zugang:** Nur via Supabase Dashboard mit 2FA - **Mitarbeiter-Schulung:** Jährliche DSGVO-Unterweisung --- ## 7. Betroffenenrechte ### Auskunftsrecht (Art. 15 DSGVO) **Prozess:** 1. Betroffene Person sendet E-Mail an datenschutz@innungsapp.de 2. Identität wird verifiziert (Magic Link oder Ausweiskopie) 3. Auskunft innerhalb von 30 Tagen 4. Format: PDF mit allen gespeicherten Daten ### Recht auf Löschung (Art. 17 DSGVO) **Self-Service in der App:** - Einstellungen → "Konto löschen" - Sofortige Anonymisierung der personenbezogenen Daten - Technische Daten werden nach 30 Tagen endgültig gelöscht - Auth-Account wird sofort gelöscht **Admin-seitige Löschung:** - Admin kann Mitglied deaktivieren (kein Datenzugriff) - Vollständige Löschung auf Anfrage an InnungsApp innerhalb 30 Tage ### Recht auf Datenübertragbarkeit (Art. 20 DSGVO) - Export als JSON oder CSV auf Anfrage - Enthält: Profildaten, News-Leseverlauf, Terminanmeldungen, eigene Stellen ### Widerspruchsrecht (Art. 21 DSGVO) - Push Notifications: jederzeit in App-Einstellungen deaktivierbar - Analytics: Opt-Out via Einstellungsmenü (PostHog Cookie-freies Tracking) --- ## 8. Besondere Anforderungen: Minderjährige ### Problem Azubi-Bewerber können 15–16 Jahre alt sein → Minderjährige nach DSGVO Art. 8. ### Lösung **Altersabfrage bei Registrierung:** - "Sind Sie unter 16 Jahre alt?" (Ja / Nein) - Bei "Ja": Elterliche Einwilligung erforderlich **Einwilligungs-Flow (unter 16):** 1. App zeigt: "Für Personen unter 16 Jahren benötigen wir die Zustimmung eines Erziehungsberechtigten." 2. E-Mail-Adresse des Erziehungsberechtigten eingeben 3. Erziehungsberechtigter erhält E-Mail mit Einwilligung-Link 4. Nach Bestätigung: Bewerber-Profil freigegeben **Minimale Datenerhebung bei Minderjährigen:** - Kein Geburtsdatum gespeichert (nur "unter/über 16") - Keine Adresse - Keine Fotos ohne explizite Einwilligung - Chat: automatische Löschung nach 30 Tagen --- ## 9. Datenschutzerklärung & Impressum ### Pflichtangaben **Datenschutzerklärung** (auf innungsapp.de + in App abrufbar): - Verantwortlicher: Timo Knuth, [Adresse] - Datenschutzbeauftragter: (ab 20 Mitarbeiter oder sensible Daten: Pflicht — für MVP: optional) - Kategorien verarbeiteter Daten - Zwecke und Rechtsgrundlagen - Speicherdauer - Sub-Auftragsverarbeiter - Betroffenenrechte + Beschwerderecht bei Aufsichtsbehörde **Aufsichtsbehörde BW:** Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg Lautenschlagerstraße 20, 70173 Stuttgart ### Cookie-Policy - InnungsApp Mobile: keine Cookies (Native App) - Admin Web: Session Cookie (Supabase Auth) — notwendig, kein Banner erforderlich - Analytics (PostHog): Cookie-freies Tracking (pixel-los) — kein Banner erforderlich --- ## 10. Incident Response Plan ### Bei Datenpanne 1. **Erkennung** → intern oder via Supabase-Alert 2. **Bewertung** (< 24h): Umfang, betroffene Personen, Risiko 3. **Meldung an Aufsichtsbehörde** (< 72h, Art. 33 DSGVO) wenn Risiko für Betroffene 4. **Benachrichtigung der Betroffenen** wenn hohes Risiko (Art. 34 DSGVO) 5. **Dokumentation** im Verarbeitungsverzeichnis ### Technische Reaktionsmaßnahmen - Supabase Auth: Alle Sessions ungültig machen (1 Klick) - Betroffene Innungen isolieren (org_id deaktivieren) - Logs sichern (vor Löschung durch Rotation) - Passwörter: nicht relevant (Magic Link, kein Passwort)