Deine Rechte bei Crumbforest đČ
FĂŒr Kinder: Das hier gehört DIR. Wir passen darauf auf.
FĂŒr Eltern: Dieses Dokument operationalisiert CKL §3 (Rechte der Kinder) und ist DSGVO-konform.
đŠ Was gehört dir?
Alles, was du erschaffst, gehört dir â nicht uns, nicht der Schule, nicht dem Internet.
Das sind deine Sachen:
- âïž Texte: Alle Fragen, die du stellst. Alle Geschichten, die du schreibst.
- đ» Code: Alle Programme, die du baust (Python, Bash, Blockly...)
- đš Bilder: Alle Zeichnungen und Screenshots
- đ Messungen: Alle Daten, die du sammelst (Temperatur, Bewegung, Sensoren...)
- đŹ Chats: Alle GesprĂ€che mit den Charakteren (KrĂŒmeleule, FunkFox...)
- đïž Projekte: Alles, was du mit Raspberry Pi, ESP32 oder anderen Tools baust
Wichtig: Auch wenn du das auf einem Computer von Crumbforest machst â du bist der Besitzer oder die Besitzerin!
Das steht so im Gesetz (CKL §3.1 + DSGVO Art. 20).
đŸ Wie bekomme ich meine Daten?
Du kannst jederzeit eine Kopie von allem verlangen, was du gemacht hast.
So geht's:
Wenn du mit CrumbCore arbeitest:
Aktuell (Stand 2025-12):
- Sprich mit deinem Lehrer oder deiner Lehrerin
- Oder schreibe eine Email an: [Kontakt wird ergÀnzt]
- Wir schicken dir dann alles als Datei
Bald (geplant Q1 2025):
Du kannst selbst auf einen Knopf drĂŒcken:
1. Gehe zu deinem Profil
2. Klicke auf "Meine Daten herunterladen"
3. Du bekommst eine ZIP-Datei mit allem
Die Datei enthÀlt:
meine-crumbforest-daten.zip
âââ chats.json (alle GesprĂ€che)
âââ projekte/ (deine Projekte)
â âââ esp32-blink/
â âââ pi-server/
âââ messungen.csv (Sensor-Daten)
âââ README.txt (ErklĂ€rung, was was ist)
Alles in offenen Formaten (JSON, CSV, TXT, PNG) â du kannst es mit jedem Programm öffnen!
Wenn du mit Crumbpages lernst:
- Alle Markdown-Dateien sind sowieso frei zugÀnglich
- Du kannst sie einfach kopieren: Rechtsklick â Kopieren
- Oder das ganze Repo herunterladen (siehe QUICKSTART.md)
đïž Wie lösche ich meine Daten?
Manchmal möchte man nicht, dass alte Sachen gespeichert bleiben. Das ist okay!
Du kannst sagen: "Ich will, dass ihr alles von mir löscht."
So geht's:
Option 1: Alles löschen
- Sprich mit deinem Lehrer/deiner Lehrerin
- Oder schreibe eine Email mit deinen Eltern an: [Kontakt wird ergÀnzt]
- Schreibe rein: "Bitte löscht alle meine Daten."
Was wir dann tun:
1. Wir löschen alle deine Chats aus der Datenbank
2. Wir löschen deine Projekte vom Server
3. Wir löschen deinen Account
4. Wichtig: Vorher fragen wir: "Willst du vorher eine Kopie?"
Das dauert maximal 7 Tage.
Option 2: Nur bestimmte Sachen löschen
Du kannst auch sagen: "Löscht nur dieses Projekt" oder "Löscht nur diese Chat-Nachricht".
Das geht genauso â sag uns einfach, was weg soll.
Bald (geplant Q1 2025):
Du kannst selbst löschen:
1. Gehe zu deinem Profil
2. Klicke auf "Meine Daten verwalten"
3. WÀhle aus, was du löschen willst
4. BestÀtige: "Ja, wirklich löschen"
đ Was wird ĂŒberhaupt gespeichert?
Wir speichern nur, was zum Lernen wichtig ist. Nicht mehr!
Das speichern wir:
| Was? | Warum? | Wo? | Wie lange? |
|---|---|---|---|
| Dein Benutzername | Damit wir wissen, wer du bist | CrumbCore Datenbank | Bis du kĂŒndigst |
| Deine Chat-Nachrichten | Damit die Charaktere sich erinnern | CrumbCore Datenbank | Bis du löschst |
| Deine Projekte (Code, Bilder...) | Damit du spÀter weiter machen kannst | CrumbCore Dateisystem | Bis du löschst |
| Sensor-Messungen | Damit du deine Experimente auswerten kannst | CrumbCore Datenbank | Bis du löschst |
| Wann du dich einloggst | Damit wir wissen, ob du noch aktiv bist | CrumbCore Logfiles | 90 Tage |
Das speichern wir NICHT:
- â Keine Passwörter (nur verschlĂŒsselte Hashes)
- â Keine IP-Adressen (auĂer temporĂ€r fĂŒr Sicherheit)
- â Keine Tracking-Cookies
- â Keine "Werbe-ID" oder Ă€hnliches
- â Keine Bilder von dir (auĂer du lĂ€dst sie hoch fĂŒr ein Projekt)
- â Keine Sprachaufnahmen
- â Keine Bewegungsprofile
Crumbforest hat kein Google Analytics, kein Facebook Pixel, keine Spionage-Tools.
Wer kann meine Daten sehen?
- Du selbst (immer)
- Dein Lehrer/deine Lehrerin (wenn du in einem Kurs bist)
- Die Admins von Crumbforest (nur fĂŒr technischen Support)
- Niemand sonst!
Wir verkaufen deine Daten NIEMALS. Nie, nie, nie.
Das ist gesetzlich verboten (DSGVO) und gegen die CKL.
đȘ Was passiert, wenn ich gehe?
Du kannst jederzeit aufhören, bei Crumbforest zu lernen.
Wenn du gehst:
Du kannst wÀhlen:
Option A: Mitnehmen
- Wir geben dir alles als Download
- Du kannst woanders weiter machen
- Wir löschen deine Daten nach 30 Tagen
Option B: Löschen
- Wir löschen sofort alles
- Nichts bleibt ĂŒbrig
- Du kannst nicht mehr zurĂŒck
Option C: Archivieren
- Wir behalten deine Sachen fĂŒr dich (max. 1 Jahr)
- Du kannst spÀter wieder kommen
- Nach 1 Jahr fragen wir nochmal: "Willst du es noch?"
Ohne Nachteile: Du musst nichts zahlen, du bekommst keinen Ărger, alles ist gut.
Das ist dein Recht (CKL §10.2 + DSGVO Art. 17).
đĄïž Wie sicher sind meine Daten?
Wir nehmen Sicherheit sehr ernst.
Was wir tun:
- đ VerschlĂŒsselung: Passwörter sind verschlĂŒsselt (niemand kann sie lesen)
- đ„ïž Lokaler Server: Deine Daten sind nicht in der "Cloud" (kein Google, kein Amazon)
- đ Zugriffskontrolle: Nur du und dein Lehrer können deine Projekte sehen
- đ Logs: Wir schreiben auf, wer was macht (gegen Hacker)
- đ Backups: Wir machen Sicherheitskopien (falls Computer kaputt geht)
- đïž Löschung: Wenn wir löschen, ist es wirklich gelöscht (nicht nur versteckt)
Was du tun solltest:
- â WĂ€hle ein gutes Passwort (nicht "1234")
- â Verrate dein Passwort niemandem (auch nicht Freunden)
- â Melde dich ab, wenn du fertig bist
- â Sag Bescheid, wenn etwas komisch ist
â Ich habe eine Frage / Es gibt ein Problem
FĂŒr Kinder:
Sprich zuerst mit deinem Lehrer oder deiner Lehrerin.
Wenn das nicht hilft, oder wenn du denkst "Das ist nicht okay", dann:
- Sprich mit deinen Eltern
- Oder schreibe uns: [Kontakt wird ergÀnzt]
FĂŒr Eltern/Sorgeberechtigte:
Sie haben jederzeit das Recht:
- Auskunft ĂŒber gespeicherte Daten zu verlangen (DSGVO Art. 15)
- Daten korrigieren zu lassen (DSGVO Art. 16)
- Daten löschen zu lassen (DSGVO Art. 17)
- Der Verarbeitung zu widersprechen (DSGVO Art. 21)
- Beschwerde bei der Aufsichtsbehörde einzulegen
Kontakt:
- Email: [wird ergÀnzt]
- Verantwortlicher: Branko (Lead Maintainer)
- Datenschutzbeauftragter: [wird ergÀnzt, wenn benötigt]
Aufsichtsbehörde:
Je nach Bundesland â siehe: https://www.bfdi.bund.de/DE/Service/Anschriften/Laender/Laender-node.html
đ Zusammenfassung (fĂŒr Eltern & Lehrer)
| Recht | Gesetzliche Grundlage | Wie umgesetzt? |
|---|---|---|
| Eigentum an Inhalten | CKL §3.1 | Kinder behalten Urheberrechte |
| DatenportabilitÀt | DSGVO Art. 20, CKL §3.2 | Export-Funktion (geplant Q1 2025) |
| Löschung | DSGVO Art. 17, CKL §3.3 | Löschprozess dokumentiert |
| Auskunft | DSGVO Art. 15 | Auf Anfrage, bald self-service |
| Widerspruch | DSGVO Art. 21 | Jederzeit ohne Nachteile |
| Datenminimierung | DSGVO Art. 5, CKL §5.1 | Nur lernrelevante Daten |
| Transparenz | DSGVO Art. 12-14, CKL §5.3 | Dieses Dokument + DATENSCHUTZ.md |
| Keine Paywalls | CKL §7.3 | Lernkerne kostenlos |
đ§ Technische Umsetzung (fĂŒr Entwickler)
TODOs fĂŒr vollstĂ€ndige Compliance:
1. Export-API implementieren
Status: âł Geplant Q1 2025
Endpoint: GET /api/v1/my-data
Authentication: Bearer Token (User muss eingeloggt sein)
Response:
{
"user": {
"username": "kruemel123",
"created_at": "2024-09-15T10:30:00Z",
"last_login": "2025-12-13T14:22:00Z"
},
"messages": [
{
"id": 1,
"character": "KrĂŒmeleule",
"timestamp": "2025-12-13T14:00:00Z",
"user_message": "Wie funktioniert Bash?",
"character_response": "Bash ist eine Shell..."
}
],
"projects": [
{
"id": 1,
"name": "ESP32 Blink",
"created_at": "2025-11-01T09:00:00Z",
"files": [
{"filename": "main.py", "content": "...base64..."}
]
}
],
"measurements": [...],
"export_date": "2025-12-13T15:00:00Z",
"format_version": "1.0"
}
Optional: Auch als ZIP-Download verfĂŒgbar machen:
# app/routers/data_export.py
from fastapi import APIRouter, Depends
from fastapi.responses import StreamingResponse
import zipfile
import io
@router.get("/my-data.zip")
async def export_data_zip(user = Depends(get_current_user)):
# Erstelle ZIP in Memory
zip_buffer = io.BytesIO()
with zipfile.ZipFile(zip_buffer, 'w', zipfile.ZIP_DEFLATED) as zip_file:
# FĂŒge alle User-Daten hinzu
zip_file.writestr("README.txt", "Deine Crumbforest Daten...")
zip_file.writestr("chats.json", json.dumps(user.messages))
# ... weitere Dateien
zip_buffer.seek(0)
return StreamingResponse(
zip_buffer,
media_type="application/zip",
headers={"Content-Disposition": f"attachment; filename=crumbforest-{user.username}.zip"}
)
2. Lösch-API implementieren
Status: âł Geplant Q1 2025
Endpoint: DELETE /api/v1/my-data
Authentication: Bearer Token + zusÀtzliche BestÀtigung (gegen UnfÀlle)
Request:
{
"confirm": "DELETE_ALL_MY_DATA",
"reason": "optional feedback"
}
Was gelöscht wird:
# app/services/data_deletion.py
async def delete_user_data(user_id: int):
# 1. Chats aus MariaDB
await db.execute("DELETE FROM messages WHERE user_id = ?", user_id)
# 2. Vektoren aus Qdrant (wenn User-spezifisch)
qdrant_client.delete(
collection_name="crumbforest",
points_selector=models.FilterSelector(
filter=models.Filter(
must=[
models.FieldCondition(
key="user_id",
match=models.MatchValue(value=user_id)
)
]
)
)
)
# 3. Projekte aus Dateisystem
shutil.rmtree(f"/data/projects/{user_id}")
# 4. Sessions
await db.execute("DELETE FROM sessions WHERE user_id = ?", user_id)
# 5. User-Account
await db.execute("DELETE FROM users WHERE id = ?", user_id)
# 6. Logs bereinigen (DSGVO: Personenbezug entfernen)
# Logfiles anonymisieren, nicht löschen (Sicherheit)
await anonymize_logs(user_id)
Response:
{
"status": "deleted",
"deleted_at": "2025-12-13T15:30:00Z",
"items_deleted": {
"messages": 42,
"projects": 3,
"files": 18
}
}
3. DATENSCHUTZ.md erstellen
Status: ⳠTODO (nÀchster Schritt nach KINDERRECHTE.md)
Sollte enthalten:
- Detaillierte Datenbank-Schema-Dokumentation
- Welche Tabellen speichern was?
- Retention Policies
- Backup-Strategie
- Incident Response Plan
4. Frontend fĂŒr Self-Service
Status: âł Geplant Q1 2025
Mockup:
âââââââââââââââââââââââââââââââââââââââ
â Mein Profil â
âââââââââââââââââââââââââââââââââââââââ€
â â
â đŠ Meine Daten herunterladen â
â ââ Als JSON â
â ââ Als ZIP (alles) â
â â
â đïž Daten löschen â
â ââ Nur Chats löschen â
â ââ Nur Projekt "X" löschen â
â ââ â ïž ALLES löschen (Account) â
â â
â đ Was ist gespeichert? â
â ââ 42 Chat-Nachrichten â
â ââ 3 Projekte (18 Dateien) â
â ââ Letzter Login: heute 14:22 â
â â
âââââââââââââââââââââââââââââââââââââââ
5. Automatische Daten-Bereinigung
Status: âł Geplant Q2 2025
Cron-Job fĂŒr:
- Alte Sessions löschen (> 90 Tage inaktiv)
- Anonyme Accounts löschen (> 1 Jahr inaktiv)
- Logfiles bereinigen (> 90 Tage alt)
# scripts/cleanup_cron.py
async def cleanup_inactive_users():
threshold = datetime.now() - timedelta(days=365)
inactive_users = await db.fetch_all(
"SELECT id FROM users WHERE last_login < ? AND account_type = 'anonymous'",
threshold
)
for user in inactive_users:
# Email-Warnung 30 Tage vorher (wenn Email vorhanden)
# Dann löschen
await delete_user_data(user.id)
đ Rechtliche Hinweise
Dieses Dokument ist rechtsverbindlich.
Es konkretisiert die Rechte aus:
- Crumbforest Children's Knowledge License (CKL) v0.1
- DSGVO (Datenschutz-Grundverordnung)
- TMG (Telemediengesetz)
- Kinderrechtskonvention der UN (insb. Art. 16)
Verantwortlicher im Sinne der DSGVO:
[Wird ergĂ€nzt nach OZM-Transition â aktuell: Branko]
Stand: 2025-12-13
Version: 1.0-draft
NĂ€chstes Review: Q1 2025 (nach CKL v1.0 Finalisierung)
đČ Schlusswort
Crumbforest ist dein Wald.
Alles, was du hier pflanzt, gehört dir.
Niemand kann es dir wegnehmen.
Du kannst es jederzeit mitnehmen.
Und wenn du Fragen hast?
Frag einfach. Das ist dein Recht.
"Wissen gehört dem Kind, solange es fragt."
Lizenz: CC-BY-SA 4.0 (dieses Dokument)
Teil von: Crumbforest Ecosystem (https://crumbforest.com)
Siehe auch: LICENSE-CKL.md, OZM-NEXUS-ECOSYSTEM.md