- Complete GDPR-compliant privacy policy - Technical details: MariaDB, Qdrant, Filesystem storage - Retention policies and security measures - Data subject rights (links to KINDERRECHTE.md) - Special protection for children (CKL §5 operationalized) - No tracking, no analytics, no third-party cookies - EU-based or self-hosted infrastructure only Completes the compliance documentation suite: ✅ LICENSE.md (MIT + CKL dual license) ✅ KINDERRECHTE.md (children's rights operationalization) ✅ DATENSCHUTZ.md (technical GDPR compliance) Ready for production deployment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
16 KiB
Datenschutzerklärung Crumbforest
Version: 1.0-draft Stand: 2025-12-13 Gültig für: Crumbforest-Ökosystem (CrumbCore, Crumbpages, branko.de)
Präambel
Crumbforest nimmt Datenschutz sehr ernst – besonders, wenn Kinder beteiligt sind.
Diese Datenschutzerklärung erfüllt:
- DSGVO (Datenschutz-Grundverordnung, EU 2016/679)
- BDSG (Bundesdatenschutzgesetz)
- TMG (Telemediengesetz)
- CKL §5 (Crumbforest Children's Knowledge License - Daten & Privatsphäre)
Für Kinder und Eltern: Siehe auch KINDERRECHTE.md für eine einfachere Erklärung.
1. Verantwortlicher
Aktuell (Stand 2025-12-13):
Name: Branko (Lead Maintainer) Website: https://branko.de Email: [wird ergänzt]
In Transition zu:
OZM - Open Futures Museum [Adresse wird ergänzt] [Email wird ergänzt]
Sobald die Trägerschaft formalisiert ist (geplant Q2 2025), wird OZM der rechtliche Verantwortliche im Sinne der DSGVO (Art. 4 Nr. 7).
Datenschutzbeauftragter: [Wird bestellt, sobald gesetzlich erforderlich - bei regelmäßiger Verarbeitung von sensiblen Daten oder mehr als 20 Personen, die mit Datenverarbeitung befasst sind]
2. Grundprinzipien der Datenverarbeitung
Crumbforest folgt den DSGVO-Grundsätzen (Art. 5):
| Prinzip | Wie wir es umsetzen |
|---|---|
| Rechtmäßigkeit | Einwilligung oder berechtigtes Interesse (Bildungsauftrag) |
| Zweckbindung | Daten nur für Lernen, nicht für Werbung/Profiling |
| Datenminimierung | Nur das Nötigste (CKL §5.1) |
| Richtigkeit | Nutzer können Daten korrigieren |
| Speicherbegrenzung | Retention Policies (siehe unten) |
| Integrität & Vertraulichkeit | Verschlüsselung, Zugriffskontrolle |
| Rechenschaftspflicht | Diese Dokumentation |
3. Welche Daten werden verarbeitet?
3.1 Übersicht
| Datentyp | Zweck | Rechtsgrundlage | Speicherdauer |
|---|---|---|---|
| Benutzername | Identifikation, Zuordnung von Projekten | Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) | Bis Account-Löschung |
| Email-Adresse | Kommunikation, Passwort-Reset | Art. 6 Abs. 1 lit. b DSGVO | Bis Account-Löschung |
| Passwort-Hash | Authentifizierung | Art. 6 Abs. 1 lit. b DSGVO | Bis Account-Löschung |
| Chat-Nachrichten | Kontext für Lernbegleitung | Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse: Bildung) | Bis Nutzer löscht |
| Lernprojekte | Speicherung von Arbeitsergebnissen | Art. 6 Abs. 1 lit. b DSGVO | Bis Nutzer löscht |
| Sensor-Messungen | Experimente auswerten | Art. 6 Abs. 1 lit. f DSGVO | Bis Nutzer löscht |
| Login-Zeitstempel | Sicherheit, Aktivitäts-Tracking | Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse: Sicherheit) | 90 Tage |
| IP-Adresse (temporär) | Sicherheit gegen Angriffe | Art. 6 Abs. 1 lit. f DSGVO | Max. 7 Tage in Logs |
Wir verarbeiten KEINE besonderen Kategorien personenbezogener Daten (Art. 9 DSGVO: Gesundheit, Religion, etc.) – außer, ein Nutzer teilt diese freiwillig in Chat-Nachrichten (dann gilt Einwilligung, Art. 9 Abs. 2 lit. a).
3.2 Bei Minderjährigen
Für Nutzer unter 16 Jahren:
- Einwilligung der Sorgeberechtigten erforderlich (Art. 8 DSGVO)
- Erhöhter Schutz durch CKL (keine Paywalls, kein Tracking, Exportrecht)
- Automatische Löschung inaktiver Accounts nach 1 Jahr (mit Vorwarnung)
4. Technische Details: Wo werden Daten gespeichert?
4.1 CrumbCore (FastAPI Backend)
Datenbanken:
MariaDB (Relationale Datenbank)
| Tabelle | Spalten (Beispiel) | Zweck | Retention |
|---|---|---|---|
users |
id, username, email, password_hash, created_at, last_login |
Benutzer-Accounts | Bis Löschung |
messages |
id, user_id, character, user_message, character_response, timestamp |
Chat-Verläufe | Bis Löschung |
sessions |
session_id, user_id, created_at, expires_at |
Login-Sessions | Auto-Löschung nach Ablauf |
projects |
id, user_id, name, description, created_at, updated_at |
Projekt-Metadaten | Bis Löschung |
measurements |
id, project_id, sensor_type, value, timestamp |
Sensor-Daten | Bis Löschung |
Zugriff: Nur CrumbCore Backend (localhost:3306, kein externer Zugriff)
Qdrant (Vektor-Datenbank für RAG)
| Collection | Payload-Felder | Zweck | Retention |
|---|---|---|---|
crumbforest |
text, source, user_id (optional), timestamp |
Semantische Suche über Lernmaterialien | Unbegrenzt (öffentliche Inhalte), bis Löschung (User-Inhalte) |
Zugriff: Nur CrumbCore Backend (localhost:6333, kein externer Zugriff)
Hinweis: Qdrant speichert Vektoren (mathematische Repräsentationen von Text), nicht Klartexte. Die Original-Texte stehen in messages (MariaDB) oder im Filesystem.
Filesystem (Docker Volumes)
/data/
├── projects/
│ └── {user_id}/
│ └── {project_id}/
│ ├── main.py
│ ├── README.md
│ └── ...
└── logs/
├── crumbcore.log (App-Logs, 90 Tage)
└── access.log (Zugriffs-Logs, 7 Tage)
Zugriff: Nur CrumbCore Container (Docker-isoliert)
4.2 branko.de (Public Website)
Keine Datenbank, nur statische HTML-Dateien.
Web-Server-Logs (Nginx/Apache):
- IP-Adresse, User-Agent, Zeitstempel, angefragte URL
- Retention: 7 Tage, dann automatisch gelöscht
- Zweck: Sicherheit (DDoS-Schutz, Fehleranalyse)
Keine Cookies, kein Tracking, kein Analytics.
4.3 Crumbpages (Markdown Docs)
Statische Dateien, keine personenbezogenen Daten gespeichert.
Wenn Nutzer mit Crumbpages arbeiten (lokal oder via CrumbCore), entstehen keine separaten Datenspeicherungen – alles läuft über CrumbCore (siehe 4.1).
5. Datenübermittlung & Drittanbieter
5.1 Hosting
Aktuell: Selbst gehostet (lokal oder auf eigenem Server)
Keine Cloud-Provider (kein AWS, Google Cloud, Azure)
Vorteil:
- ✅ Volle Kontrolle über Daten
- ✅ Keine Weitergabe an Dritte
- ✅ DSGVO-konform per Design
Wenn Cloud-Hosting hinzukommt:
- Nur EU-basierte Provider (DSGVO-konform)
- Auftragsverarbeitungsvertrag (Art. 28 DSGVO)
- Dokumentation hier aktualisiert
5.2 KI-Modell-Provider
CrumbCore nutzt externe APIs:
- OpenAI (GPT-4, GPT-3.5)
- Anthropic (Claude)
- Google (Gemini)
- OpenRouter (Aggregator)
Was wird übermittelt:
- Chat-Nachrichten (Nutzer-Fragen + System-Prompts)
- KEINE Metadaten (IP, Email, Namen) – nur der Text selbst
Rechtsgrundlage:
- Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse: Funktionsfähigkeit)
- Bei Kindern: Einwilligung der Sorgeberechtigten
Datenschutz-Status der Provider:
| Provider | DSGVO-Status | Datenverarbeitung |
|---|---|---|
| OpenAI | DPA verfügbar, API-Daten werden nicht zum Training genutzt (seit März 2023) | USA (GDPR-konformes DPA) |
| Anthropic | DPA verfügbar, keine Nutzung für Training | USA (GDPR-konformes DPA) |
| DPA verfügbar | EU & USA |
Wichtig: Nutzer können wählen, welches Modell sie nutzen (Wahlrecht = erhöhte Transparenz).
Für "Offline-Modus": Geplant ist Integration von lokal laufenden Modellen (Llama, Mistral via Ollama) für völlige Datenautonomie (Roadmap Q3 2025).
5.3 Keine weiteren Drittanbieter
❌ Kein Google Analytics ❌ Kein Facebook Pixel ❌ Keine Werbe-Netzwerke ❌ Keine Social Media Embeds (die tracken) ❌ Keine CDNs für JavaScript (alles lokal)
CKL §5.2 verpflichtet: "Kein Tracking, kein Profiling"
6. Cookies & Tracking
6.1 Cookies
CrumbCore verwendet:
| Cookie | Typ | Zweck | Lebensdauer |
|---|---|---|---|
session_id |
Technisch notwendig | Login-Session | Bis Logout (max. 30 Tage) |
branko.de verwendet: Keine Cookies
6.2 Tracking
Wir tracken NICHT:
- ❌ Keine Bewegungsprofile
- ❌ Keine Verhaltensanalyse
- ❌ Keine "Heatmaps"
- ❌ Keine Cross-Site-Verfolgung
Wir loggen NUR für Sicherheit:
- ✅ Login-Zeitpunkte (gegen Brute-Force)
- ✅ Failed Login Attempts (gegen Hacking)
- ✅ API-Errors (für Debugging)
Diese Logs werden anonymisiert (IP-Adressen gekürzt) und nach 7-90 Tagen gelöscht.
7. Sicherheitsmaßnahmen
7.1 Technische Maßnahmen
| Maßnahme | Umsetzung |
|---|---|
| Verschlüsselung in Transit | HTTPS/TLS 1.3 (Let's Encrypt Zertifikate) |
| Verschlüsselung at Rest | Passwörter: bcrypt mit Salt (12 Rounds), Datenbank-Files: Filesystem-Encryption (LUKS/dm-crypt) |
| Zugriffskontrolle | Role-Based Access Control (RBAC), Nutzer sehen nur eigene Daten |
| Firewall | Nur Ports 80/443 offen, DB-Ports (3306, 6333) nur localhost |
| Container-Isolation | Docker Network Isolation, keine Privileged Containers |
| Logging | Zentrale Logs, regelmäßige Review, Intrusion Detection geplant (Q2 2025) |
| Backups | Tägliche Backups, verschlüsselt, offline gespeichert (Air-Gap) |
| Updates | Automatische Security Updates (unattended-upgrades) |
7.2 Organisatorische Maßnahmen
- Admin-Zugriff: Nur 2-3 Personen (Branko + ggf. OZM-Admins)
- 2FA: Für Admin-Accounts verpflichtend
- Prinzip der geringsten Rechte: Jeder Dienst läuft mit minimalen Berechtigungen
- Incident Response Plan: [In Arbeit, Q1 2025]
- Regelmäßige Audits: Jährliche Security-Reviews
7.3 Datenschutz-Folgenabschätzung (DSFA)
Erforderlich nach Art. 35 DSGVO?
Prüfung:
- ☑ Systematische Überwachung? Nein (kein Tracking)
- ☑ Verarbeitung besonderer Kategorien? Nein (keine Gesundheitsdaten etc.)
- ☑ Minderjährige betroffen? Ja → Erhöhtes Risiko
Ergebnis: DSFA empfohlen (geplant Q1 2025 mit OZM-Governance)
8. Betroffenenrechte (DSGVO Art. 15-22)
8.1 Auskunftsrecht (Art. 15)
Du kannst jederzeit fragen:
- Welche Daten haben wir über dich?
- Zu welchem Zweck?
- Wie lange speichern wir sie?
Wie: Siehe KINDERRECHTE.md - Aktuell per Email, bald self-service via API.
8.2 Recht auf Berichtigung (Art. 16)
Du kannst falsche Daten korrigieren lassen.
Wie: Email an [Kontakt] oder (bald) über Profil-Seite.
8.3 Recht auf Löschung (Art. 17 - "Recht auf Vergessenwerden")
Du kannst verlangen, dass wir deine Daten löschen.
Wie: Siehe KINDERRECHTE.md - Detaillierter Löschprozess dokumentiert.
Ausnahmen:
- Rechtliche Aufbewahrungspflichten (z.B. Buchhaltung)
- Öffentliches Interesse (z.B. veröffentlichte Open-Source-Beiträge)
8.4 Recht auf Datenübertragbarkeit (Art. 20)
Du kannst eine Kopie deiner Daten in strukturiertem Format erhalten.
Format: JSON oder CSV (maschinenlesbar)
Wie: Siehe KINDERRECHTE.md - Export-Funktion.
8.5 Widerspruchsrecht (Art. 21)
Du kannst der Verarbeitung widersprechen (z.B. wenn wir uns auf "berechtigtes Interesse" berufen).
Folge: Wir stellen die Verarbeitung ein, außer es gibt zwingende Gründe.
8.6 Recht auf Einschränkung der Verarbeitung (Art. 18)
Du kannst verlangen, dass wir Daten nur speichern, aber nicht nutzen (z.B. während eines Rechtsstreits).
8.7 Beschwerde bei Aufsichtsbehörde (Art. 77)
Wenn du unzufrieden bist, kannst du dich beschweren bei:
Zuständige Aufsichtsbehörde: (abhängig von Wohnort)
-
Hamburg: Hamburgischer Beauftragter für Datenschutz und Informationsfreiheit Website: https://datenschutz-hamburg.de Email: mailbox@datenschutz.hamburg.de
-
Andere Bundesländer: Siehe https://www.bfdi.bund.de/DE/Service/Anschriften/Laender/Laender-node.html
9. Speicherdauer (Retention Policies)
| Datentyp | Speicherdauer | Löschmechanismus |
|---|---|---|
| Account-Daten | Bis Account-Löschung | Manuell oder nach 1 Jahr Inaktivität (mit Vorwarnung) |
| Chat-Nachrichten | Bis Nutzer löscht | Manuell via API oder Account-Löschung |
| Projekte | Bis Nutzer löscht | Manuell via API oder Account-Löschung |
| Sessions | Max. 30 Tage | Auto-Löschung nach Ablauf |
| Access Logs | 7 Tage | Cron-Job (täglich) |
| App Logs | 90 Tage | Cron-Job (wöchentlich) |
| Backups | 3 Monate | Rotation (älteste wird überschrieben) |
Wichtig: Nach Löschung sind Daten unwiederbringlich gelöscht (inkl. Backups werden bereinigt).
10. Datenverarbeitung bei Kindern
10.1 Einwilligung
Unter 16 Jahren: Einwilligung der Sorgeberechtigten erforderlich (Art. 8 DSGVO).
Wie wir das sicherstellen:
- Checkbox: "Ich bin über 16 Jahre alt" ODER "Ich habe die Einwilligung meiner Eltern"
- Email-Bestätigung an Sorgeberechtigte (geplant Q1 2025)
- Schulen/Lehrkräfte können als "Verantwortliche" auftreten (dann regelt die Schule die Einwilligung)
10.2 Erhöhter Schutz (CKL)
Für Kinder gilt automatisch:
- Kein Profiling (Art. 22 DSGVO + CKL §5.2)
- Keine Werbung (CKL §7.3)
- Keine Weitergabe an Dritte außer KI-Provider (und nur anonymisiert)
- Jederzeit Export/Löschung (CKL §3.2, §3.3)
10.3 Schulkontext
Wenn Crumbforest in Schulen eingesetzt wird:
- Schule ist Verantwortlicher (nicht Crumbforest)
- Lehrer haben Zugriff auf Schüler-Projekte (pädagogischer Zweck)
- Schule muss Einwilligungen einholen (nach Landesschulgesetzen)
Wir bieten: Data Processing Agreement (DPA) für Schulen (Template in Arbeit, Q1 2025).
11. Änderungen dieser Datenschutzerklärung
Wie wir dich informieren:
- Email an registrierte Nutzer (wenn wesentliche Änderungen)
- Hinweis beim nächsten Login
- Versionsnummer und Datum am Anfang dieses Dokuments
Dein Recht:
- Du kannst widersprechen (dann Account löschen)
- Du kannst weiter nutzen (= implizite Einwilligung in neue Version)
Versionshistorie:
- v1.0-draft (2025-12-13): Erste Version
12. Kontakt & Fragen
Für allgemeine Fragen:
Email: [wird ergänzt] Website: https://crumbforest.com
Für Datenschutz-spezifische Anfragen:
Betroffenenrechte: Siehe KINDERRECHTE.md Datenschutzbeauftragter: [wird bestellt, sobald erforderlich]
Für Admins/Entwickler:
Technische Dokumentation: Siehe OZM-NEXUS-ECOSYSTEM.md Section VI CKL Compliance: Siehe LICENSE-CKL.md
13. Zusammenfassung (TL;DR)
✅ Was wir speichern: Nur was nötig ist (Benutzername, Chat, Projekte) ✅ Warum: Damit du lernen kannst ✅ Wo: Lokal auf eigenem Server (keine Cloud) ✅ Wie lange: Bis du löschst (oder 1 Jahr Inaktivität) ✅ Wer sieht es: Nur du (+ dein Lehrer, wenn Schulkontext) ✅ Tracking: Keins (kein Analytics, keine Werbung) ✅ Deine Rechte: Export, Löschung, Korrektur (siehe KINDERRECHTE.md) ✅ Kinder: Besonderer Schutz durch CKL (kein Profiling, keine Paywalls)
Das war's. Keine versteckten Klauseln.
14. Rechtliche Referenzen
Diese Datenschutzerklärung basiert auf:
- DSGVO (EU 2016/679): https://eur-lex.europa.eu/eli/reg/2016/679/oj
- BDSG (Bundesdatenschutzgesetz): https://www.gesetze-im-internet.de/bdsg_2018/
- TMG (Telemediengesetz): https://www.gesetze-im-internet.de/tmg/
- CKL (Crumbforest Children's Knowledge License): LICENSE-CKL.md
- UN-Kinderrechtskonvention (Art. 16 - Privatsphäre): https://www.kinderrechtskonvention.info/
Stand: 2025-12-13 Version: 1.0-draft Nächstes Review: Q1 2025 (nach OZM-Governance-Formalisierung) Lizenz: CC-BY-SA 4.0 (dieses Dokument)
"Wissen gehört dem Kind, solange es fragt." "Daten gehören dem Kind, solange es lernt." — Crumbforest-Prinzip