Files
OZM-Keks-Handbuch-v1/DATENSCHUTZ.md
Krümel Branko c2ec78b55e Add DATENSCHUTZ.md (DSGVO/Privacy compliance documentation)
- 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>
2025-12-13 03:19:27 +01:00

16 KiB
Raw Blame History

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)
Google 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)


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:


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