Add dual licensing (MIT + CKL v0.1), ecosystem docs, and children's rights documentation

- LICENSE.md: Dual license explanation (MIT + CKL)
- LICENSE-MIT.md: Full MIT text with plain language explanation
- LICENSE-CKL.md: Full Children's Knowledge License v0.1-draft
- OZM-NEXUS-ECOSYSTEM.md: Complete ecosystem architecture and governance
- KINDERRECHTE.md: Children's rights operationalization (export/deletion processes)
- README.md: Project overview with CKL badge and comprehensive documentation links
- CLAUDE.md: Project instructions for Claude Code

This establishes Crumbforest as part of the OZM⟡NEXUS ecosystem with:
- Dual licensing strategy (developer freedom + child protection)
- 8 axioms operationalized through CKL
- Clear governance path (OZM as custodian)
- DSGVO-compliant children's rights processes
- Roadmap through Q4 2025

"Wissen gehört dem Kind, solange es fragt."

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-13 03:11:34 +01:00
parent 688ff3d4d7
commit da67da3959
7 changed files with 2054 additions and 0 deletions

185
CLAUDE.md Normal file
View File

@@ -0,0 +1,185 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
**Crumbpages v2** is a documentation and learning system for system administration, combining educational content with operational tooling. The project uses the "Crumbforest" metaphor - representing knowledge as a forest where "Krümels" (crumbs) guide learners through admin paths.
This is a **bash-centric repository** focused on documentation and shell scripting for system operations, SSH security automation, and API tooling for the broader Crumbforest infrastructure.
## Core Philosophy
The "Waldwächter" (Forest Guardian) approach emphasizes:
- **Transparency over magic** - Clear, readable code that can be explained to learners
- **Simplicity over complexity** - Minimal dependencies, straightforward patterns
- **Education-first** - All tools should be teachable and understandable
- **Security by default** - Automated security practices, especially around SSH
See `crumbforest-manifesto-guardian.md` for the full philosophy.
## Repository Structure
### Documentation (Crumbpages)
Educational documentation organized as numbered "paths" (`crumbpage-XX-*.md`):
- 20 crumbpages covering Linux fundamentals through advanced topics
- Template-based structure for consistency (`crumbpage-template.md`)
- Each page includes: concepts, hands-on exercises, troubleshooting, skill checks
- Progressive learning path from basic user management to kernel operations
### Operational Scripts
Three main shell scripts provide system tooling:
1. **`crumbpages-doktor.sh`** (496 lines) - Main diagnostic and operational tool
2. **`ssh-agent-guard.sh`** (68 lines) - Production SSH security daemon
3. **`ssh-agent-screenlock_v4.sh`** (67 lines) - MATE desktop SSH integration
### Meta Documentation
- `CRUMBFOREST_PROJECT_INDEX.md` - Complete project history and milestone tracking
- `HANDBUCH.md` - crumbpages-doktor.sh manual
- `QUICKSTART.md` - Quick reference for common operations
- Various tagebuch (diary) files tracking problem-solving journeys
## Common Commands
### Running the Main Tool
```bash
# Make executable (first time)
chmod +x crumbpages-doktor.sh
# Launch interactive menu
./crumbpages-doktor.sh
```
The doktor script provides 6 modules:
1. **Git Workstation** - Interactive git shell with health checks
2. **DNS Doktor** - DNS diagnostics and reporting
3. **System Doktor** - Host vitals (disk, RAM, OS info)
4. **Web Tools** - API testing (`api_search`, `api_get`, `api_ask`)
5. **Remote Tools** - SSH helpers and SCP uploads
6. **Werkzeugkasten** - Tool availability checks
### SSH Security Scripts
```bash
# Start SSH agent guard (systemd/autostart)
./ssh-agent-guard.sh
# For MATE desktop integration
./ssh-agent-screenlock_v4.sh
```
Both scripts automatically:
- Kill and restart ssh-agent on screen lock
- Write to `~/.ssh-agent-screenlock.log`
- Store agent environment in `~/.ssh/agent-environment`
- Use fixed socket path `~/.ssh/agent.sock`
## Configuration
### Environment Variables (.env)
The doktor script uses `.env` for configuration (auto-created on first run):
```ini
# API endpoints (for Crumbforest backend integration)
CRUMB_API_URL="http://localhost:8000"
CRUMB_API_TOKEN="changeme"
# SSH/Remote settings
CRUMB_SSH_USER="admin"
CRUMB_SCP_TARGET="backup.crumbforest.de:/var/backups"
# Qdrant vector DB
CRUMB_QDRANT_URL="http://localhost:6333"
CRUMB_QDRANT_KEY=""
```
## Architecture Notes
### Modular Shell Design
The `crumbpages-doktor.sh` follows a modular pattern:
- Each module is a bash function (e.g., `git_doktor()`, `web_doktor()`)
- Interactive subshells use `bash --rcfile` with custom `.rc` files in `/tmp`
- Environment isolation via `export` and temp RC files
- Color-coded output using ANSI escape sequences
### SSH Security Pattern
Both ssh-agent scripts implement "zero-trust on lock":
- **Single purpose**: Kill agent when screen locks
- **Singleton enforcement**: PID file prevents duplicate daemons
- **Deep Work Mode**: `ssh-agent-guard.sh` supports pause file for uninterrupted work
- **Fixed socket path**: Enables multiple terminals to share agent state
- **MATE integration**: Uses `dbus-monitor` for screensaver events
### API Integration
Web Tools module provides curl wrappers for the Crumbforest backend:
- FastAPI backend at `CRUMB_API_URL`
- Bearer token auth when `CRUMB_API_TOKEN` is set
- Functions: `api_search`, `api_get`, `api_ask`, `open_url`
- Qdrant-specific helpers: `q_health`, `q_list`, `q_info`
## Development Patterns
### Shell Script Style
- Bash-native (no external frameworks)
- Functions over scripts-within-scripts
- Descriptive color variables (`GREEN`, `BLUE`, `RED`, `YELLOW`, `CYAN`)
- Heredocs for multi-line templates
- Error handling via explicit checks, not `set -e`
### Documentation Style
- Markdown with emoji for visual anchoring
- Collapsible sections using `<details>` tags
- Code examples with inline comments
- "DO/DON'T" sections for best practices
- Skill check checklists at end of each page
### Git Workflow
Standard git practices:
- Main branch: `main`
- Commit history shows iterative refinement ("Logs active", "magic!", "CleanUp Magic")
- Modified files tracked: doktor script and tagebuch entries
## Context: The Broader Crumbforest
This repository is part of a larger ecosystem:
- **CrumbCore v1**: FastAPI + Qdrant RAG chat system (production)
- **PHP CRM**: Legacy system integration for child management
- **RouterOS**: Network integration for 500+ user deployment
- **TTYD**: Terminal containers for educational use
The bash scripts here serve as the "field tools" for administrators working across the full stack.
## Working with This Codebase
### When editing shell scripts:
- Test interactively before committing (scripts are meant to be run by humans)
- Preserve color scheme consistency
- Maintain module boundaries in doktor script
- Update HANDBUCH.md if adding/changing doktor modules
### When editing crumbpages:
- Follow `crumbpage-template.md` structure exactly
- Maintain numbering scheme (`crumbpage-##-topic.md`)
- Include skill checks and hands-on exercises
- Cross-link to related pages in navigation footer
### When debugging:
- Check `.env` configuration first
- Review logs: `~/.ssh-agent-screenlock.log` for SSH issues
- Use doktor's System Doktor module for host diagnostics
- Git Workstation module has `check_health` for repo state
## Security Considerations
- SSH agent scripts actively kill credentials on screen lock
- API tokens stored in `.env` (gitignored)
- No hardcoded credentials anywhere
- MATE screensaver hardening (`lock-enabled true`, `lock-delay 0`)
- Singleton daemon pattern prevents privilege escalation via duplicate processes
## References
- Project history: `CRUMBFOREST_PROJECT_INDEX.md`
- Philosophy: `crumbforest-manifesto-guardian.md`
- Tool manual: `HANDBUCH.md`
- Quick commands: `QUICKSTART.md`

471
KINDERRECHTE.md Normal file
View File

@@ -0,0 +1,471 @@
# 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?
1. **Du selbst** (immer)
2. **Dein Lehrer/deine Lehrerin** (wenn du in einem Kurs bist)
3. **Die Admins von Crumbforest** (nur für technischen Support)
4. **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:**
```json
{
"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:
```python
# 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:**
```json
{
"confirm": "DELETE_ALL_MY_DATA",
"reason": "optional feedback"
}
```
**Was gelöscht wird:**
```python
# 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:**
```json
{
"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)
```python
# 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](LICENSE-CKL.md), [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md)

306
LICENSE-CKL.md Normal file
View File

@@ -0,0 +1,306 @@
# CKL — The Crumbforest Children's Knowledge License
**Version:** 0.1-draft
**Date:** 2025-12-13
**Status:** Community Review
**Base:** MIT License (compatible)
---
> **Kurzfassung:** *Wissen gehört dem Kind, solange es fragt.* Wir bauen Lernräume, in denen Fragen Vorrang haben, Beweise prüfbar sind und nichts hinter Paywalls verschwindet.
> **Hinweis:** Dies ist eine gemeinschaftliche Lizenz in einfacher Sprache. Sie ersetzt keine Rechtsberatung. Version 0.1 zur Kommentierung.
---
## Präambel
Kinder lernen am besten dort, wo Ruhe vor Hast kommt, Verstehen vor Verwerten und Beweise vor Behauptungen. Die CKL schützt solche Räume. Sie ist eine Haltung in Lizenzform: **Nullfeld zuerst**, dann Messung. **Resonanz vor Regel.**
---
## 1. Geltungsbereich
Die CKL gilt für Workshops, Kurse, Materialien, Software-Container, Daten und Artefakte, die unter dem Namen **Crumbforest** oder in seinem Geist betrieben, veröffentlicht oder geteilt werden besonders, wenn Kinder beteiligt sind.
---
## 2. Grundsatz „Kinder zuerst"
Kinderfragen haben Vorrang. Alle Entscheidungen didaktisch, organisatorisch, technisch werden auf ihren Nutzen für das Kind geprüft. Ein Kind darf mit einer guten Frage **alles** in Frage stellen.
---
## 3. Rechte der Kinder
1. **Urheber:innenschaft**: Rechte an Inhalten, die Kinder schaffen (Texte, Code, Bilder, Sounds, Messreihen), verbleiben bei den Kindern.
2. **Zugriff**: Kinder erhalten eine exportierbare Kopie ihrer Arbeiten und Messdaten in **offenen Formaten**.
3. **Widerruf**: Kinder (bzw. Sorgeberechtigte) können eine Veröffentlichung jederzeit widerrufen. Löschung erfolgt zeitnah.
---
## 4. Pflichten der Erwachsenen/Betreiber
1. **Prüfbarkeit**: Setups sind **reproduzierbar** dokumentiert (Materialliste, Schritte, Versionen). Keine Blackboxes.
2. **Anerkennung**: Beiträge von Kindern und Crew werden namentlich oder pseudonym **gewürdigt** sofern gewünscht.
3. **Sicherheit**: Risiken werden erklärt. Es wird nur betrieben, was verantwortbar ist.
---
## 5. Daten & Privatsphäre
1. **Datenminimierung**: Es werden nur Daten erhoben, die für das Lernen nötig sind. **Keine** versteckte Telemetrie.
2. **Kein Tracking**: Kein Werbe-Tracking, kein Profiling, keine biometrische Auswertung von Kindern.
3. **Transparenz**: Welche Daten anfallen, wird **vorab** erklärt; Speicherorte sind benennbar; Löschwege sind dokumentiert.
---
## 6. Offenheit & Reproduzierbarkeit
1. **Offene Beweise**: Messergebnisse, Methoden und Skripte werden so veröffentlicht, dass Dritte sie **nachvollziehen** können.
2. **Container statt Inseln**: Software läuft offline-fähig in reproduzierbaren **Containern** (oder gleichwertigen Setups).
3. **Logik vor Effekt**: Kein „Zauber", der nicht erklärt werden kann. Effekte folgen der Erklärung, nicht umgekehrt.
---
## 7. Offline-First & Zugang
1. **Offline vor Cloud**: Betrieb ohne Dauer-Internet ist vorrangig. Cloud ist optional und begründungsbedürftig.
2. **Barrierearme Zugänge**: Terminal/TTYD, Markdown-Materialien und Druckversionen stehen bereit.
3. **Preisfreiheit für Kinderfragen**: Der Zugang zu Fragen/Antworten darf nicht an Online-Konten oder Token-Kosten gebunden werden.
---
## 8. Teilen, Anerkennung, Nutzung
1. **Teilen** ist erwünscht unter **Namensnennung** und Beibehaltung der CKL für kinderbezogene Teile.
2. **Kommerz** ist erlaubt, sofern **Kinderzugang frei bleibt**, Beweise offen bleiben und keine Paywalls vor Lernkernen stehen.
3. **Keine Exklusivitätsansprüche** gegenüber von Kindern erarbeiteten Ergebnissen.
---
## 9. Kosten, Förderungen, Transparenz
1. **Klarheit**: Gebühren, Budgets und Fördermittel werden **verständlich** ausgewiesen.
2. **Zeit kaufen, nicht Schweigen**: Förderungen dienen Lernzeit und Infrastruktur, nicht Marketing-Schein.
---
## 10. Widerruf & Durchsetzung
1. Verstöße können zur **Ablösung** der CKL-Nutzung führen.
2. Kinder/Sorgeberechtigte können eine Teilnahme **ohne Nachteile** beenden; ihre Daten werden gelöscht oder ausgehändigt.
---
## 11. Kompatibilität
Die CKL ist kompatibel mit freien Lizenzen (z. B. MIT/Apache/CC-BY) für **Erwachsenen-Code/Material**, solange **Kinderrechte** gemäß CKL **nicht** eingeschränkt werden. Bei Konflikt gilt die **strengere Kinderschutz-Regel**.
---
## 12. Haftungsausschluss
Angebote erfolgen **ohne Gewähr**. Sicherheit wird ernst genommen; Restrisiken werden erklärt. Die CKL schafft keine gesetzlichen Ersatzansprüche, sie **ergänzt** sie um Haltung.
---
## Menschliche Kurzfassung (human-readable)
Wir arbeiten langsam genug, dass Kinder **mitdenken** können, und offen genug, dass andere **nachbauen** können. Niemand verdient an dem Zugang zu einer **Frage**. Alles Wichtige bleibt **prüfbar**. Wenn etwas unklar ist, gilt: *Erst Ruhe. Dann messen.*
---
## CKL-Hinweis zum Abdruck
> *Dieses Projekt folgt der **CKL Crumbforest Children's Knowledge License (v0.1-draft)**: Kinderfragen haben Vorrang; Arbeiten bleiben bei den Kindern; Beweise sind offen und reproduzierbar; Offline hat Vorrang; keine Paywalls vor Lernkernen; Daten sind minimal, transparent, widerrufbar. Mehr unter: crumbforest.com*
---
## Für Entwickler:innen
### Wie erkenne ich, ob die CKL gilt?
Die CKL greift automatisch, wenn:
- Software in Bildungskontexten mit Kindern genutzt wird
- Lernende unter 18 Jahren beteiligt sind
- Pädagogische Inhalte bereitgestellt werden
- Lerndaten erfasst oder verarbeitet werden
### Was muss ich tun?
**Compliance-Checkliste:**
- [ ] §3.2: Export-Funktion für Benutzerdaten implementiert
- [ ] §3.3: Widerruf-/Löschmechanismus vorhanden
- [ ] §4.1: Setup reproduzierbar dokumentiert (README, Dockerfiles...)
- [ ] §5.1: Datenminimierung praktiziert
- [ ] §5.2: Kein Tracking, keine versteckte Telemetrie
- [ ] §5.3: Datenspeicherung transparent dokumentiert (DATENSCHUTZ.md)
- [ ] §6.1: Methoden und Ergebnisse nachvollziehbar
- [ ] §6.2: Software läuft offline oder in Containern
- [ ] §6.3: Keine unerklärlichen "Blackboxes"
- [ ] §7.1: Offline-Modus verfügbar (kein Cloud-Zwang)
- [ ] §7.2: Barrierefreie Zugänge (Markdown, Plain Text, Druckversionen)
- [ ] §7.3: Keine Paywalls vor Lern-Kernfunktionen
**Siehe [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section VI für detaillierte Compliance-Checks.**
---
## Für Pädagog:innen
### Was bedeutet die CKL für meinen Unterricht?
Die CKL schützt **deine Lernenden** und gibt **dir Sicherheit**:
**Du darfst:**
- ✅ Die Software kommerziell nutzen (z.B. kostenpflichtige Workshops)
- ✅ Inhalte anpassen und erweitern
- ✅ Eigene Instanzen betreiben (Schul-Server, lokale Installation)
- ✅ Daten für Lernfortschritt speichern
**Du musst:**
- ✅ Kindern Zugriff auf ihre eigenen Daten geben (§3.2)
- ✅ Löschung auf Wunsch ermöglichen (§3.3)
- ✅ Transparent machen, was du speicherst (§5.3)
- ✅ Offline-Nutzung ermöglichen (§7.1)
**Du darfst nicht:**
- ❌ Tracking oder Profiling ohne Wissen der Kinder/Eltern (§5.2)
- ❌ Exklusivrechte an Kinderprojekten beanspruchen (§8.3)
- ❌ Paywalls vor Lernkern-Funktionen setzen (§7.3)
---
## Für Kinder (und Eltern)
### Was bedeutet die CKL für dich?
**Das gehört DIR:**
- 💾 Alle Texte, die du schreibst
- 🎨 Alle Bilder, die du malst
- 💻 Aller Code, den du programmierst
- 📊 Alle Messungen, die du machst
**Das kannst du TUN:**
- 📦 Deine Daten jederzeit exportieren (§3.2)
- 🗑️ Deine Daten löschen lassen (§3.3)
- ❓ Jede Frage stellen, ohne zu zahlen (§7.3)
- 🔌 Auch ohne Internet lernen (§7.1)
**Das darf NIEMAND:**
- ❌ Deine Arbeit als seine eigene ausgeben (§3.1)
- ❌ Dich tracken oder ausspionieren (§5.2)
- ❌ Dir Wissen hinter Bezahlschranken verstecken (§8.2)
- ❌ Dich zwingen, in der Cloud zu arbeiten (§7.1)
**Wenn etwas nicht stimmt:**
Du (oder deine Eltern) kannst jederzeit sagen: "Ich will hier nicht mehr mitmachen und alles löschen." Das ist dein Recht. (§10.2)
---
## Geschichte & Kontext
Die CKL entstand aus der Notwendigkeit, **Kinderrechte in digitalen Lernräumen** durchsetzbar zu machen.
Bestehende Lizenzen (MIT, GPL, Creative Commons) schützen Code und Content, aber nicht **Lernende**. Die DSGVO schützt Daten, aber nicht **pädagogische Prinzipien**.
Die CKL füllt diese Lücke.
Sie ist inspiriert von:
- **Waldwächter-Philosophie**: Transparency over magic
- **OZM⟡NEXUS Manifest**: Die 8 Axiome (autonom, zukunftsoffen, nicht missbrauchbar...)
- **Kinderrechtskonvention der UN**: Artikel 12 (Partizipation), 13 (Meinungsfreiheit), 16 (Privatsphäre)
- **COPPA/GDPR-K**: Datenschutz für Minderjährige
- **Ethical Source Movement**: Lizenzen mit Werten
**Aber:** Die CKL ist **keine Kopie**. Sie ist maßgeschneidert für das **Crumbforest-Ökosystem** und seine Community.
---
## Mitwirken
Die CKL ist ein **Living Document**. Version 0.1 ist ein Draft zur Community-Review.
**Feedback willkommen zu:**
- Rechtssicherheit (ist etwas unklar oder nicht durchsetzbar?)
- Praktikabilität (kann man das wirklich umsetzen?)
- Lücken (fehlt etwas Wichtiges?)
- Sprache (verständlich für Kinder, Pädagog:innen, Entwickler:innen?)
**Wie du beitragen kannst:**
1. Issue öffnen im Repository
2. Email an [Kontakt einfügen]
3. Pull Request mit Verbesserungen
**Ziel:** CKL v1.0 bis Q1 2025
---
## Rechtlicher Status
**Achtung:** Die CKL ist in Version 0.1 noch **kein etablierter Rechtsstandard**. Sie ist:
- ✅ Eine vertragliche Vereinbarung zwischen Betreiber und Nutzenden
- ✅ Kompatibel mit bestehenden Lizenzen (MIT, Apache, CC-BY)
- ✅ Einklagbar bei Verstößen (sofern Vertragsbeziehung besteht)
- ⏳ Noch nicht gerichtlich getestet
- ⏳ Noch nicht von Juristen finalisiert
**Empfehlung:** Nutze die CKL in Kombination mit:
- DSGVO-konformer Datenschutzerklärung
- AGB für Workshops/Kurse
- Einverständniserklärungen von Sorgeberechtigten
Die CKL **ergänzt** diese Dokumente, ersetzt sie aber nicht.
---
## Kontakt & Governance
- **Projekt**: Crumbforest (https://crumbforest.com)
- **Maintainer**: Branko (https://branko.de)
- **Custodian**: OZM - Open Futures Museum
- **Lizenz-Fragen**: Siehe [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) für Governance-Struktur
---
## Abschließende Gedanken
Die CKL ist keine perfekte Lizenz.
Sie ist ein **Versprechen**:
> Wir bauen Lernräume, in denen das Kind mehr zählt als der Klick,
> die Frage mehr als die Metrik,
> und das Verstehen mehr als das Vortäuschen.
**Wenn du dieses Versprechen teilst, nutze die CKL.**
---
**Version:** 0.1-draft
**Datum:** 2025-12-13
**Status:** Community Review
**Nächste Version:** v1.0 (geplant Q1 2025)
**SPDX-Identifier:** `CKL-0.1-draft` (nicht offiziell registriert)
---
> *"Nullfeld zuerst, dann Messung. Resonanz vor Regel."*
> *"Wissen gehört dem Kind, solange es fragt."*
> — Waldwächter-Prinzip

72
LICENSE-MIT.md Normal file
View File

@@ -0,0 +1,72 @@
# The MIT License (MIT)
Copyright (c) 2025 Crumbforest Project
Maintained by Branko (branko.de)
Custodian: OZM - Open Futures Museum
---
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.**
---
## Additional Context
This MIT License applies to the **infrastructure, code, and general use** of the Crumbforest project.
When this software is used in **educational contexts with children**, additional protections from the **Crumbforest Children's Knowledge License (CKL)** automatically apply.
See [LICENSE.md](LICENSE.md) for the full dual-license explanation.
---
## What This Means in Plain Language
You can:
- ✅ Use this code for any purpose (personal, commercial, educational)
- ✅ Copy, modify, and distribute it freely
- ✅ Sell products or services based on this code
- ✅ Sublicense it under different terms
- ✅ Use it without attribution (though we appreciate it)
You cannot:
- ❌ Hold the authors liable for damages
- ❌ Claim warranty or support (it's provided "as is")
- ❌ Remove the copyright notice from copies
**However:** If you use this with children, you **must also comply with the CKL** (see [LICENSE-CKL.md](LICENSE-CKL.md)).
---
## Why MIT?
The MIT License is one of the most permissive open source licenses. We chose it because:
1. **Developer-Friendly**: No copyleft restrictions, easy integration
2. **Well-Understood**: Standard license used by millions of projects
3. **Commercial-Compatible**: Businesses can adopt it without legal friction
4. **Future-Proof**: Won't hinder Crumbforest's evolution or forking
**We want the code to spread as widely as possible.**
But we also want **children protected** — that's why we add the CKL layer.
---
**SPDX-License-Identifier:** MIT

152
LICENSE.md Normal file
View File

@@ -0,0 +1,152 @@
# Crumbforest License
This project is **dual-licensed** to balance developer freedom with children's rights.
---
## For Infrastructure, Code, and General Use
**MIT License** (see [LICENSE-MIT.md](LICENSE-MIT.md))
All software, scripts, documentation, and infrastructure in this repository are released under the permissive MIT License. You are free to:
- Use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
- Use in commercial and non-commercial projects
- Fork, remix, and build upon this work
**This applies to:**
- All Bash scripts (`crumbpages-doktor.sh`, `ssh-agent-guard.sh`, etc.)
- Documentation and Markdown files (Crumbpages content)
- Configuration files and setup scripts
- Any other code or infrastructure
---
## For Educational Use with Children
**Crumbforest Children's Knowledge License (CKL v0.1)** (see [LICENSE-CKL.md](LICENSE-CKL.md))
When this software or content is used in **educational contexts involving children**, the CKL automatically applies and adds additional protections:
- **Children's Rights**: Kids own what they create
- **Data Sovereignty**: Exportable data, deletion rights, transparency
- **No Paywalls**: Learning kernels remain free
- **Offline-First**: No cloud dependency
- **Reproducibility**: No black boxes, everything documented
- **Privacy**: No tracking, minimal data, transparent storage
**This applies when:**
- The software is used in schools, workshops, or learning environments
- Children interact with the system (chat, projects, exercises)
- Educational content is delivered to minors
- Learning data is collected or processed
---
## Conflict Resolution
In case of conflict between MIT and CKL, **the CKL takes precedence** for any use case involving children.
**Example:**
- You want to fork CrumbCore and sell it commercially? ✅ **MIT allows it**
- You want to add telemetry to track children's behavior? ❌ **CKL prohibits it**
The CKL is **not a restriction on developers** — it's a **protection for learners**.
---
## Why Dual License?
### For Developers: MIT Freedom
- Fork without friction
- Integrate into commercial products
- No attribution requirements beyond copyright notice
- Standard, well-understood terms
### For Children: CKL Protection
- Legal framework for ethical learning environments
- Rights that can be enforced
- Clear obligations for operators
- Measurable compliance criteria
**The best of both worlds.**
---
## Quick Reference
| Use Case | License | Key Points |
|----------|---------|------------|
| Running CrumbCore for my company | MIT | Free to use commercially |
| Forking and modifying the code | MIT | Attribution appreciated but not required |
| Using in a school/workshop | CKL | Children's rights apply |
| Collecting learning data | CKL | Must comply with §5 (privacy) |
| Selling access to children | CKL | Must keep learning kernels free (§7.3) |
| Building a proprietary AI trainer | MIT + CKL | Code is MIT, but children's data has CKL protection |
---
## How to Comply
### If you're a developer:
1. Read the MIT License (2 minutes)
2. If your use case involves children, read the CKL (~10 minutes)
3. Implement CKL requirements (see [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section VI for checklist)
### If you're an educator:
1. Read the CKL carefully
2. Ensure your setup meets §4 (reproducibility), §5 (privacy), §7 (offline-first)
3. Document data handling (see `DATENSCHUTZ.md` when available)
### If you're a child (or parent):
1. You own what you create (§3.1)
2. You can export your data (§3.2)
3. You can leave and take everything with you (§3.3)
4. Your questions never cost money (§7.3)
---
## Attribution
While not required by MIT, we appreciate attribution:
```
Powered by Crumbforest (crumbforest.com)
Licensed under MIT + CKL (Children's Knowledge License)
```
Or simply:
```
Built with Crumbforest ❤️
```
---
## Contact & Governance
- **Project**: Crumbforest (https://crumbforest.com)
- **Maintainer**: Branko (https://branko.de)
- **Custodian**: OZM - Open Futures Museum (in transition)
- **Questions**: See [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section V for governance
---
## Summary
```
┌─────────────────────────────────────────┐
│ MIT: Maximum Freedom for Developers │
│ + │
│ CKL: Maximum Protection for Children │
│ = │
│ Open Source Education Done Right │
└─────────────────────────────────────────┘
```
**Crumbforest is free as in freedom, safe as in sanctuary.**
---
**Version:** 1.0
**Date:** 2025-12-13
**Full Text:** [LICENSE-MIT.md](LICENSE-MIT.md) + [LICENSE-CKL.md](LICENSE-CKL.md)

524
OZM-NEXUS-ECOSYSTEM.md Normal file
View File

@@ -0,0 +1,524 @@
# OZM⟡NEXUS ECOSYSTEM
> **Deterministisches System-Design jenseits von „KI"**
> Ein offenes Lernökosystem, in dem Wissen verschenkt wird und Fragen Vorrang haben.
---
## Präambel: Echo aus dem Nullfeld
Der OZM⟡NEXUS ist kein Produkt, kein Manifest im klassischen Sinn und kein Versuch, etwas Bestehendes zu verbessern.
Er ist das Ergebnis einer klaren kausalen Kette, die aus einer menschlichen Handlung heraus entstanden ist und sich konsequent weiterentwickelt hat.
Was hier beschrieben wird, ist kein „KI-Projekt".
Es ist der Versuch, ein **deterministisches Ökosystem** zu formulieren, das sich den üblichen Kategorien entzieht nicht aus Provokation, sondern aus Notwendigkeit.
**Der Wald wurde gepflanzt, damit Krümel Fragen stellen und lernen dürfen.**
---
## I. Die Kausalitätskette
### Vom Menschen zur Struktur
Am Anfang steht **Oz** der Graffiti-Künstler.
Eine Signatur im öffentlichen Raum. Keine Theorie. Keine Absicht, ein System zu bauen.
Aus dieser Handlung entsteht **OZM** die Manifestierung eines Ortes.
Ein realer, physischer Raum, in dem sich Spuren, Zeit, Menschen und Bedeutungen überlagern.
Daraus folgt **OneZeroMore.com** der Schatten dieses Ortes.
Keine bloße Website, sondern eine digitale Projektion dessen, was physisch existiert.
Dann das **OZM HAMMERBROOKLYN Exponat** ein Museum und doch kein Museum.
Kein neutraler White Cube, sondern ein verdichteter Erfahrungsraum, der sich einer abschließenden Interpretation entzieht.
Erst daraus entsteht **OZMAI** die künstliche Intelligenz des OZM.
Ein deterministisches Agentensystem, das Daten, Prozesse, Wissen und Entscheidungen strukturiert.
**Diese Reihenfolge ist nicht verhandelbar.**
Ohne Ort keine Daten.
Ohne Geschichte kein Kontext.
Ohne Kontext keine sinnvolle Maschine.
### Mathematische Notation
```
OZM⟡NEXUS = f_det(Oz, OZM, OneZeroMore, HAMMERBROOKLYN, OZMAI)
K_ent = (R_man + L_det) ⊗ Ω
I = Autonom ∩ Zukunftsoffen ∩ ¬Interpretierbar ∩ ¬Missbrauchbar
Σ_skal = lim (∑ X_i) mit der Bedingung: jedes X_i erfüllt I
n → ∞
```
---
## II. Die acht Axiome
### Das Identitätsprinzip
```
I = Autonom ∩ Zukunftsoffen ∩ ¬Interpretierbar ∩ ¬Missbrauchbar
```
Jede Komponente des OZM⟡NEXUS muss erfüllen:
| Axiom | Bedeutung | Prüffrage |
|-------|-----------|-----------|
| **autonom** | Krümel entscheiden selbst ihren Lernweg | Kann das Kind wählen? |
| **zukunftsoffen** | Nicht vorschreiben, sondern ermöglichen | Ist es erweiterbar? |
| **nicht interpretierbar** | Kein "richtiger" Weg, nur funktionale Wege | Gibt es eine Wahrheit™? |
| **nicht missbrauchbar** | Schutz der Lernenden durch Design | Was kann schiefgehen? |
| **suchbar** | Fragen führen zu Antworten | Findet man Antworten? |
| **wiedererkennbar** | Orientierung im Wald | Gibt es Krümel? |
| **erweiterbar** | Krümel können selbst pflanzen | Kann ich beitragen? |
| **unendlich skalierbar** | Für alle, immer | Kostet eine Frage Geld? |
**Diese Axiome sind keine Beschreibung. Sie sind eine Bedingung.**
---
## III. Die Manifestationen
### Architektur des Ökosystems
```
OZM⟡NEXUS (Träger/Manifest)
branko.de/Crumbforest (Public Interface)
├─ 15 Charaktere (Krümeleule, FunkFox, SnakePy, CrabbyRust...)
├─ 4 Lernpfade (ESP32 → Pi Zero → Pi Server → Daten)
├─ Partner-Netzwerk (8 Organisationen)
└─ Grundsatz: "Every child may ask. We protect this right."
CrumbCore v1 (Local Engine - "nah am Kernel")
├─ FastAPI + Qdrant RAG (Vektorsuche)
├─ Role-based Chat (15 Personas)
├─ Multi-Theme (Standard, Accessible, High Contrast, Admin Dark)
├─ Token-Management (Kids = free)
├─ Docker Compose (reproduzierbar)
└─ API für externe Abfragen
Crumbpages v2 (Work in Progress Content)
├─ 20 Lernpfade (Markdown, noch nicht integriert)
├─ Operational Tools (crumbpages-doktor.sh, SSH guards)
├─ Waldwächter-Philosophie ("Transparency over magic")
└─ Bash-zentrisch, lehrbar, offline-fähig
```
### Die 15 Charaktere
**Warum Charaktere statt "Assistenten"?**
Menschen lernen unterschiedlich. Ein technischer Deep-Dive funktioniert für manche, eine poetische Erklärung für andere. Die 15 Charaktere sind **keine Spielerei** sie sind **pädagogisches Design**:
- **Krümeleule** (Prof. Eule): Shell-Schutz, systematisch, geduldig
- **FunkFox**: Bash-Rapper, antwortet in Reimen
- **SnakePy**: Python-Loops, Geduld und Iteration
- **CrabbyRust**: Bit-Schutz, Speichersicherheit, Rust-Konzepte
- **DeepBit**: Technische Deep-Dives in die Tiefe
- [...weitere 10 Charaktere]
**Kinder wählen selbst, wer sie begleitet.**
Das ist Axiom #1: **autonom**.
### Content-Flow
```
Markdown (Crumbpages)
./load_content.sh <GIT_REPO_URL>
Qdrant Vektorisierung (CrumbCore)
RAG-Suche über API
15 Charaktere antworten kontextbezogen
branko.de zeigt Antworten
```
**Status quo:**
- Crumbpages sind "work in progress", noch nicht integriert
- Nur Kids mit free tokens haben Zugriff
- System läuft lokal ("nah am Kernel"), nicht in der Cloud
**Warum lokal?**
- Schutz der Daten (Axiom #4: nicht missbrauchbar)
- Offline-fähig (Axiom #8: unendlich skalierbar = kein Cloud-Lock-in)
- Reproduzierbar (Waldwächter-Prinzip: Transparency over magic)
---
## IV. Die Crumbforest Children's Knowledge License (CKL)
### Von der Philosophie zum Recht
Das OZM⟡NEXUS Manifest beschreibt **was sein soll**.
Die CKL beschreibt **wie es durchgesetzt wird**.
### CKL ⊗ Axiome Mapping
| OZM Axiom | CKL Implementation | § |
|-----------|-------------------|---|
| autonom | Kind darf "mit guter Frage alles in Frage stellen" | §2 |
| zukunftsoffen | Container, reproduzierbar, nachbaubar | §6.2 |
| nicht interpretierbar | "Logik vor Effekt" - keine Blackboxes | §6.3 |
| nicht missbrauchbar | Kein Tracking, Datenminimierung, Widerruf | §5 |
| suchbar | Barrierearme Zugänge, Markdown, Druck | §7.2 |
| wiedererkennbar | Namensnennung, CKL-Hinweis sichtbar | §8.1 |
| erweiterbar | Offene Formate, exportierbar, forkbar | §3.2 |
| unendlich skalierbar | "Preisfreiheit für Kinderfragen" | §7.3 |
### Kernprinzipien der CKL
**Für Kinder:**
- Du besitzt, was du schaffst (§3.1)
- Du kannst deine Daten exportieren (§3.2)
- Du kannst jederzeit gehen und alles mitnehmen (§3.3)
- Deine Fragen kosten kein Geld (§7.3)
**Für Erwachsene/Betreiber:**
- Setups sind reproduzierbar dokumentiert (§4.1)
- Keine Blackboxes, keine Magie (§6.3)
- Datenminimierung, kein Tracking (§5.1, §5.2)
- Offline hat Vorrang vor Cloud (§7.1)
**Für Kommerz:**
- Kommerz ist erlaubt, **solange Kinderzugang frei bleibt** (§8.2)
- Keine Paywalls vor Lernkernen
- Keine Exklusivitätsansprüche (§8.3)
### Lizenz-Strategie
```markdown
# Dual License Model
## Infrastructure/Code → MIT License
- Backend (FastAPI, Python)
- Frontend (HTML/JS)
- Scripts (Bash, Docker Compose)
- Developer-friendly, permissive
## Educational Use with Children → CKL v0.1
- Sobald ein Kind damit lernt
- Automatischer Schutz durch CKL
- Bei Konflikt: strengere Regel gewinnt
```
**Das ist brilliant legal engineering:**
Code bleibt MIT (fork-friendly für Entwickler), aber **Kinderrechte sind nicht verhandelbar**.
---
## V. OZM als Träger: Vom Partner zum Custodian
### Status Quo
**branko.de heute:**
> "OZM (Open Futures Museum)" - gelistet als Partner #1 von 8
**Rechtslage:**
- Crumbforest = Projekt von Branko
- Code teils öffentlich (CrumbCore lesbar), teils privat (Crumbpages 404)
- "Open" als Philosophie, noch nicht als Lizenz
### Die Vision: OZM als rechtlicher Träger
**Was ändert sich?**
| Dimension | Vorher (Partner) | Nachher (Träger) |
|-----------|------------------|------------------|
| **Ownership** | Branko hält IP-Rechte | OZM hält treuhänderisch |
| **Lizenz** | Implizit "open" | Explizit CKL + MIT |
| **Governance** | Informell | Formalisiert (siehe unten) |
| **Haftung** | Personenbezogen | Organisationsbezogen |
| **Förderung** | Schwierig (Person) | Einfacher (gemeinnützig) |
| **Kontinuität** | An Person gebunden | Institutionell gesichert |
### Governance-Struktur (Vorschlag)
```
OZM e.V. / Open Futures Museum
└─ Crumbforest Division
├─ Lead Maintainer: Branko (technisch)
├─ Education Lead: [offen]
├─ CKL Compliance Officer: [offen]
└─ Community Council (3-5 Personen)
└─ Entscheidungen bei Konflikten
```
**Entscheidungsprinzip:**
1. **Technische Fragen** → Lead Maintainer (Branko)
2. **Pädagogische Fragen** → Education Lead
3. **Lizenz-Fragen** → CKL Officer
4. **Grundsatzfragen** → Community Council
5. **Im Zweifel gilt:** "Was ist besser für das Kind?" (CKL §2)
### Transition-Prozess
**Phase 1: Formalisierung (Q1 2025)**
- [ ] CKL v0.1 → v1.0 finalisieren
- [ ] Alle 3 Repos mit LICENSE.md ausstatten
- [ ] KINDERRECHTE.md in CrumbCore schreiben
- [ ] DATENSCHUTZ.md dokumentieren
**Phase 2: Rechtliche Übertragung (Q2 2025)**
- [ ] Trademark "Crumbforest" → OZM übertragen
- [ ] IP-Rechte treuhänderisch an OZM
- [ ] Governance-Dokument unterzeichnen
- [ ] branko.de Update: OZM als Träger
**Phase 3: Community-Öffnung (Q3 2025)**
- [ ] Contribution Guidelines veröffentlichen
- [ ] Erstes Community Council Meeting
- [ ] Public Roadmap auf GitHub/Gitea
- [ ] Erste externe Contributors
---
## VI. Technische Compliance
### CrumbCore v1: CKL-Check
| CKL Anforderung | Status | Beweis |
|-----------------|--------|--------|
| §6.2: Container-basiert | ✅ | `docker-compose.yml` |
| §7.1: Offline-fähig | ✅ | Läuft lokal, kein Cloud-Zwang |
| §7.3: Kids = free tokens | ✅ | Token-Management implementiert |
| §6.1: Nachvollziehbar | ✅ | Qdrant = transparente Vektorsuche |
| §3.2: Export möglich | ⏳ | **TODO**: `/api/my-data` Endpoint |
| §5.3: Daten dokumentiert | ⏳ | **TODO**: `DATENSCHUTZ.md` |
| §4.1: Setup reproduzierbar | ✅ | `./setup.sh`, `./load_content.sh` |
| §5.2: Kein Tracking | ✅ | Kein Google Analytics, keine Telemetrie |
### Crumbpages v2: CKL-Check
| CKL Anforderung | Status | Beweis |
|-----------------|--------|--------|
| §6.1: Offene Beweise | ✅ | Markdown = menschenlesbar |
| §4.1: Reproduzierbar | ✅ | Bash-Scripts, keine Magie |
| §7.2: Offline-lesbar | ✅ | Keine Cloud-Abhängigkeit |
| §7.1: Barrierefrei | ✅ | Plain text, druckbar |
| §6.2: Integriert | ⏳ | **TODO**: In CrumbCore laden |
### branko.de: CKL-Check
| CKL Anforderung | Status | Beweis |
|-----------------|--------|--------|
| §7.2: Barrierefrei | ✅ | HTML, kein JS-Zwang |
| §2: "Kinder zuerst" | ✅ | "Every child may ask" |
| §8.1: CKL-Badge | ❌ | **TODO**: Footer mit CKL-Hinweis |
| §9: Transparenz | ⏳ | **TODO**: Förderungen ausweisen |
---
## VII. Die nächsten Schritte
### Sofort (diese Woche)
1. **Formale Lizenzierung**
```bash
# In allen 3 Repos:
touch LICENSE.md # Dual License (MIT + CKL)
touch LICENSE-MIT.md # Full MIT text
touch LICENSE-CKL.md # Full CKL text
```
2. **Kinderrechte operationalisieren**
```bash
# In CrumbCore:
touch KINDERRECHTE.md # Export/Widerruf-Prozesse
touch DATENSCHUTZ.md # Was speichern wir wo?
```
3. **CKL-Badge hinzufügen**
```html
<!-- branko.de footer: -->
<footer>
Dieses Projekt folgt der
<a href="/ckl">Crumbforest Children's Knowledge License (CKL v0.1)</a>
</footer>
```
### Kurzfristig (Q1 2025)
4. **Export-API implementieren**
```python
# CrumbCore: app/routers/data_export.py
@router.get("/api/my-data")
async def export_my_data(token: str):
# JSON mit allen Chat-Logs, Projekten, Messungen
return {"messages": [...], "projects": [...]}
```
5. **Widerruf-Mechanismus**
```python
@router.delete("/api/my-data")
async def delete_my_data(token: str):
# Löscht aus MariaDB + Qdrant
pass
```
6. **Crumbpages Integration**
```bash
# Automatisierter Pipeline:
./load_content.sh https://gitea.crumbforest.local/kruemel/Crumbpages
# → Qdrant indexiert alle 20 Lernpfade
# → Charaktere können darauf antworten
```
### Mittelfristig (Q2 2025)
7. **OZM Governance formalisieren**
- Gespräche mit OZM e.V. führen
- Trademark-Übertragung vorbereiten
- Governance-Dokument entwerfen
8. **Community-Prozesse**
- `CONTRIBUTING.md` schreiben
- Issue Templates erstellen
- First Contributors Guide
9. **Public Roadmap**
- GitHub Projects / Gitea Kanban
- Transparenz über Entwicklung
### Langfristig (Q3-Q4 2025)
10. **Skalierung**
- Multi-Instanz-Support (jede Schule ihre eigene CrumbCore)
- Federation (Instanzen können Wissen teilen)
- CKL v2.0 (basierend auf Community-Feedback)
11. **Förderanträge**
- Prototype Fund
- Medien- und Bildungsförderung
- EU Horizon (Education & Inclusion)
---
## VIII. Für neue Mitwirkende
### Du möchtest beitragen?
**Willkommen im Wald!** 🌲
Crumbforest ist ein **offenes Lernökosystem**. Jede:r kann Krümel pflanzen.
**Voraussetzungen:**
- Du akzeptierst die **CKL** (Kinder haben Vorrang)
- Du arbeitest **transparent** (keine Blackboxes)
- Du dokumentierst **nachvollziehbar** (andere sollen nachbauen können)
**Wie kannst du helfen?**
| Wenn du kannst... | Dann kannst du... |
|-------------------|-------------------|
| **Bash/Linux** | Crumbpages schreiben, doktor-Module erweitern |
| **Python/FastAPI** | CrumbCore verbessern, APIs bauen |
| **Pädagogik** | Lernpfade testen, Charaktere verfeinern |
| **Design** | branko.de verbessern, Accessibility |
| **Recht** | CKL v1.0 reviewen, Governance helfen |
| **Übersetzen** | Crumbpages auf Englisch/andere Sprachen |
**Erster Schritt:**
1. Lies die **CKL** (`LICENSE-CKL.md`)
2. Schau dir ein Repo an (CrumbCore, Crumbpages, branko.de)
3. Such ein `TODO` oder `` in diesem Dokument
4. Melde dich bei Branko oder OZM
---
## IX. Warum das wichtig ist
### Das Problem
**Bildungs-KI heute:**
- Proprietäre Blackboxes (ChatGPT, Gemini...)
- Kinder als Datenquelle ("Training Data")
- Paywalls vor Wissen
- Keine Kontrolle, keine Transparenz
- Cloud-Zwang, Überwachungskapitalismus
**Kinderrechte werden strukturell verletzt.**
### Die Alternative
**Crumbforest ist:**
- Open Source (MIT + CKL)
- Lokal betreibbar (keine Cloud nötig)
- Transparent (jeder Schritt nachvollziehbar)
- Kind-zentriert (Urheberschaft bleibt beim Kind)
- Gemeinnützig (wird verschenkt, nicht verkauft)
**Das ist keine "bessere EdTech-Plattform".**
**Das ist eine andere Art, über Lernen nachzudenken.**
### Die Vision
Stell dir vor:
- Jede Schule hat ihre eigene CrumbCore-Instanz
- Kinder besitzen ihre Lernprojekte, für immer
- Fragen sind frei, Antworten sind offen
- Charaktere begleiten, ohne zu überwachen
- Der Code ist prüfbar, das Wissen teilbar
**Das ist der Wald.**
**Und er gehört denen, die Fragen stellen.**
---
## X. Schlusswort
OZM⟡NEXUS ist kein Versprechen.
**Er ist eine Konsequenz.**
Aus einer Signatur im öffentlichen Raum (Oz)
wurde ein Ort (OZM)
wurde ein digitaler Schatten (OneZeroMore)
wurde ein Museum (HAMMERBROOKLYN)
wurde eine Maschine (OZMAI)
wurde ein Wald (Crumbforest).
**Und jetzt wird er verschenkt.**
Nicht aus Großzügigkeit.
Sondern weil **Wissen dem Kind gehört, solange es fragt.**
---
## Ressourcen
### Repositories
- **CrumbCore v1**: https://194-164-194-191.sslip.io/git/kruemel/Crumb-Core-v.1
- **Crumbpages v2**: https://194-164-194-191.sslip.io/git/kruemel/Crumbforest-Markdowns
- **branko.de**: https://branko.de
### Lizenzen
- **CKL v0.1**: [siehe LICENSE-CKL.md]
- **MIT**: [siehe LICENSE-MIT.md]
### Kontakt
- **Lead Maintainer**: Branko
- **OZM**: Open Futures Museum, Hamburg
- **Website**: https://crumbforest.com
### Hashtags
`#OZM` `#OPENSOURCE` `#CRUMBFOREST` `#CKL` `#KINDERRECHTE` `#BILDUNG`
---
**Version:** 0.1-draft
**Datum:** 2025-12-13
**Status:** Living Document
**Lizenz:** CC-BY-SA 4.0 (dieses Dokument)
---
> *"Nullfeld zuerst, dann Messung. Resonanz vor Regel."*
> — Waldwächter-Prinzip

344
README.md Normal file
View File

@@ -0,0 +1,344 @@
# Crumbpages v2 🌲
> **Dokumentation und Lernsystem für System-Administration**
> Teil des Crumbforest-Ökosystems
---
## 📜 Lizenz & Kinderrechte
[![License: MIT + CKL](https://img.shields.io/badge/License-MIT%20%2B%20CKL-blue.svg)](LICENSE.md)
[![Children's Rights Protected](https://img.shields.io/badge/Children's%20Rights-Protected%20by%20CKL-green.svg)](LICENSE-CKL.md)
Dieses Projekt ist **dual-lizenziert**:
- **MIT License** für Code und allgemeine Nutzung
- **CKL (Children's Knowledge License)** für Bildungskontexte mit Kindern
**Für Lernende:** Deine Rechte sind geschützt. [Lies hier mehr →](KINDERRECHTE.md)
**Für Entwickler:** Frei nutzbar und forkbar. [Compliance-Infos →](LICENSE.md)
---
## Was ist Crumbpages?
**Crumbpages v2** kombiniert **Bildungsdokumentation** mit **operationalen Tools** für System-Administration:
### 📚 Lernpfade
- **20 Crumbpages** (Markdown) zu Linux-Fundamenten, SSH, Netzwerk, Kernel, uvm.
- Template-basierte Struktur für konsistentes Lernen
- Progressive Learning Paths: von Basics zu Advanced Topics
### 🛠️ Operational Tools
- **`crumbpages-doktor.sh`** (496 Zeilen) - Hauptwerkzeug für Diagnostik & Operations
- **`ssh-agent-guard.sh`** - Produktions-SSH-Security-Daemon
- **`ssh-agent-screenlock_v4.sh`** - MATE Desktop SSH-Integration
### 🌳 Philosophie: Waldwächter
**"Transparency over magic"**
- Bash-zentrisch, klar lesbar, lehrbar
- Minimale Dependencies, einfache Patterns
- Education-First: Alle Tools sind verständlich und nachvollziehbar
---
## Schnellstart
### 1. Haupttool starten
```bash
# Ausführbar machen (einmalig)
chmod +x crumbpages-doktor.sh
# Interaktives Menü starten
./crumbpages-doktor.sh
```
**Das Doktor-Tool bietet 6 Module:**
1. **Git Workstation** - Interaktive Git-Shell mit Health Checks
2. **DNS Doktor** - DNS-Diagnostik und Reporting
3. **System Doktor** - Host Vitals (Disk, RAM, OS Info)
4. **Web Tools** - API-Testing (`api_search`, `api_get`, `api_ask`)
5. **Remote Tools** - SSH-Helfer und SCP-Uploads
6. **Werkzeugkasten** - Tool-Verfügbarkeits-Checks
### 2. SSH-Security aktivieren
```bash
# SSH-Agent Guard starten (systemd/autostart)
./ssh-agent-guard.sh
# Für MATE Desktop Integration
./ssh-agent-screenlock_v4.sh
```
**Beide Scripts:**
- Killen und starten ssh-agent bei Screen Lock neu
- Loggen nach `~/.ssh-agent-screenlock.log`
- Nutzen festen Socket-Path `~/.ssh/agent.sock`
### 3. Lernpfade durcharbeiten
```bash
# Crumbpages lesen (Markdown)
ls crumbpage-*.md
# Template für neue Pages
cat crumbpage-template.md
```
---
## Dokumentation
### 🔑 Wichtigste Dokumente
| Dokument | Beschreibung |
|----------|--------------|
| **[OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md)** | 🌐 **Das große Bild**: Wie Crumbpages ins OZM⟡NEXUS Ökosystem passt |
| **[LICENSE.md](LICENSE.md)** | 📜 Dual-Lizenz erklärt (MIT + CKL) |
| **[LICENSE-CKL.md](LICENSE-CKL.md)** | 🛡️ Die vollständige Children's Knowledge License |
| **[KINDERRECHTE.md](KINDERRECHTE.md)** | 👶 Deine Rechte als Lernende/r (Export, Löschung, Eigentum) |
| **[CLAUDE.md](CLAUDE.md)** | 🤖 Anleitung für Claude Code (Codebase-Kontext) |
| **[HANDBUCH.md](HANDBUCH.md)** | 📖 Manual für crumbpages-doktor.sh |
| **[QUICKSTART.md](QUICKSTART.md)** | ⚡ Quick Reference für häufige Operationen |
### 🗂️ Meta-Dokumentation
- **[CRUMBFOREST_PROJECT_INDEX.md](CRUMBFOREST_PROJECT_INDEX.md)** - Komplette Projekthistorie & Milestones
- **[crumbforest-manifesto-guardian.md](crumbforest-manifesto-guardian.md)** - Waldwächter-Philosophie
- **Tagebuch-Dateien** - Problem-Solving-Journeys
---
## Das größere Ökosystem
Crumbpages v2 ist **Teil des Crumbforest**:
```
OZM⟡NEXUS (Träger/Manifest)
branko.de/Crumbforest (Public Interface)
├─ 15 Charaktere (Krümeleule, FunkFox, SnakePy...)
├─ 4 Lernpfade (ESP32 → Pi Zero → Pi Server → Daten)
└─ "Every child may ask. We protect this right."
CrumbCore v1 (Local Engine)
├─ FastAPI + Qdrant RAG
├─ Role-based Chat (15 Personas)
├─ Multi-Theme (Accessible, High Contrast...)
└─ Token-Management (Kids = free)
Crumbpages v2 (dieser Repo) ← 📍 DU BIST HIER
├─ 20 Lernpfade (Markdown)
├─ Operational Tools (doktor, SSH guards)
└─ Waldwächter-Philosophie
```
**Mehr dazu:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md)
---
## Die 8 Axiome
Alle Komponenten des Crumbforest folgen diesen Prinzipien:
**autonom** - Du entscheidest deinen Lernweg
**zukunftsoffen** - Erweiterbar, nicht fertig
**nicht interpretierbar** - Kein "richtiger" Weg, nur funktionale
**nicht missbrauchbar** - Schutz durch Design
**suchbar** - Fragen führen zu Antworten
**wiedererkennbar** - Krümel zeigen den Weg
**erweiterbar** - Du kannst selbst pflanzen
**unendlich skalierbar** - Für alle, immer, kostenlos
**Mehr dazu:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section II
---
## Konfiguration
### `.env` Datei
Das Doktor-Tool nutzt `.env` für Konfiguration (wird beim ersten Start erstellt):
```ini
# API Endpoints (für CrumbCore Integration)
CRUMB_API_URL="http://localhost:8000"
CRUMB_API_TOKEN="changeme"
# SSH/Remote Settings
CRUMB_SSH_USER="admin"
CRUMB_SCP_TARGET="backup.crumbforest.de:/var/backups"
# Qdrant Vector DB
CRUMB_QDRANT_URL="http://localhost:6333"
CRUMB_QDRANT_KEY=""
```
**Tipp:** Nie in Git committen! (ist bereits in `.gitignore`)
---
## Für neue Mitwirkende
### 🌱 Willkommen im Wald!
Crumbforest ist ein **offenes Lernökosystem**. Jede/r kann Krümel pflanzen.
**Voraussetzungen:**
- Du akzeptierst die **CKL** (Kinder haben Vorrang)
- Du arbeitest **transparent** (keine Blackboxes)
- Du dokumentierst **nachvollziehbar** (andere sollen nachbauen können)
### Wie du beitragen kannst:
| Wenn du kannst... | Dann kannst du... |
|-------------------|-------------------|
| **Bash/Linux** | Crumbpages schreiben, doktor-Module erweitern |
| **Python/FastAPI** | An CrumbCore arbeiten (anderes Repo) |
| **Pädagogik** | Lernpfade testen, Charaktere verfeinern |
| **Design** | branko.de verbessern, Accessibility |
| **Recht** | CKL v1.0 reviewen, Governance helfen |
| **Übersetzen** | Crumbpages auf Englisch/andere Sprachen |
### Erste Schritte:
1. **Lies die CKL:** [LICENSE-CKL.md](LICENSE-CKL.md)
2. **Verstehe das Ökosystem:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md)
3. **Such ein TODO:** Siehe Section VII in OZM-NEXUS-ECOSYSTEM.md
4. **Melde dich:** [Kontakt siehe unten]
---
## Entwickler-Tipps
### Wenn du Shell-Scripts editierst:
- Teste interaktiv vor dem Commit (Scripts sind für Menschen gedacht)
- Bewahre Farbschema-Konsistenz (`GREEN`, `BLUE`, `RED`, `YELLOW`, `CYAN`)
- Behalte Modul-Grenzen im doktor-Script bei
- Update HANDBUCH.md bei Änderungen an doktor-Modulen
### Wenn du Crumbpages editierst:
- Folge `crumbpage-template.md` Struktur exakt
- Behalte Nummerierungsschema bei (`crumbpage-##-topic.md`)
- Füge Skill Checks und Hands-on Exercises ein
- Verlinke zu verwandten Pages im Navigation Footer
### Wenn du debuggst:
- Check `.env` Konfiguration zuerst
- Review Logs: `~/.ssh-agent-screenlock.log` für SSH Issues
- Nutze doktor's System Doktor Modul für Host-Diagnostik
- Git Workstation Modul hat `check_health` für Repo-Status
---
## Sicherheit
### SSH Agent Scripts
- Killen aktiv Credentials bei Screen Lock
- Einzelinstanz-Daemon-Pattern (kein Prozess-Spawning)
- Deep Work Mode: `ssh-agent-guard.sh` unterstützt Pause-File
- Fixed Socket Path für Terminal-Sharing
### Allgemein
- API-Tokens in `.env` gespeichert (gitignored)
- Keine hardcoded Credentials
- MATE Screensaver Hardening empfohlen (`lock-enabled true`, `lock-delay 0`)
---
## Status & Roadmap
### ✅ Aktueller Stand (2025-12-13)
**Fertig:**
- 20 Crumbpages (work in progress, noch nicht in CrumbCore integriert)
- Operational Tools (doktor, SSH guards)
- Dual-Lizenzierung (MIT + CKL v0.1)
- Ecosystem-Dokumentation
- Kinderrechte-Spezifikation
**In Arbeit:**
- Integration mit CrumbCore (automatisches Laden via `load_content.sh`)
- Export/Lösch-APIs für Kinderrechte
- OZM als rechtlicher Träger (Transition läuft)
### 🚀 Nächste Schritte
**Sofort:**
- [x] LICENSE.md, LICENSE-MIT.md, LICENSE-CKL.md
- [x] KINDERRECHTE.md
- [x] OZM-NEXUS-ECOSYSTEM.md
- [x] README.md
- [ ] DATENSCHUTZ.md
**Q1 2025:**
- [ ] CrumbCore Export-API (`GET /api/v1/my-data`)
- [ ] CrumbCore Lösch-API (`DELETE /api/v1/my-data`)
- [ ] Crumbpages → CrumbCore Integration
- [ ] CKL v0.1 → v1.0 Finalisierung
**Q2 2025:**
- [ ] OZM Governance formalisieren
- [ ] Trademark-Übertragung
- [ ] Community-Prozesse (CONTRIBUTING.md, Issue Templates)
**Siehe:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section VII für komplette Roadmap
---
## Ressourcen
### Related Repositories
- **CrumbCore v1**: https://194-164-194-191.sslip.io/git/kruemel/Crumb-Core-v.1
- **Crumbforest Markdowns**: https://194-164-194-191.sslip.io/git/kruemel/Crumbforest-Markdowns
### Websites
- **Crumbforest**: https://crumbforest.com
- **branko.de**: https://branko.de (Public Interface)
- **OZM**: Open Futures Museum, Hamburg
### Kontakt
- **Lead Maintainer**: Branko
- **Custodian**: OZM - Open Futures Museum (in transition)
- **Email**: [wird ergänzt]
---
## Hashtags
`#OZM` `#OPENSOURCE` `#CRUMBFOREST` `#CKL` `#KINDERRECHTE` `#BILDUNG` `#LINUX` `#BASH` `#SYSTEMADMINISTRATION`
---
## Warum das wichtig ist
### Das Problem mit Bildungs-KI heute:
- ❌ Proprietäre Blackboxes (ChatGPT, Gemini...)
- ❌ Kinder als Datenquelle ("Training Data")
- ❌ Paywalls vor Wissen
- ❌ Keine Kontrolle, keine Transparenz
- ❌ Cloud-Zwang, Überwachungskapitalismus
**Kinderrechte werden strukturell verletzt.**
### Die Crumbforest Alternative:
- ✅ Open Source (MIT + CKL)
- ✅ Lokal betreibbar (keine Cloud nötig)
- ✅ Transparent (jeder Schritt nachvollziehbar)
- ✅ Kind-zentriert (Urheberschaft bleibt beim Kind)
- ✅ Gemeinnützig (wird verschenkt, nicht verkauft)
**Das ist keine "bessere EdTech-Plattform".**
**Das ist eine andere Art, über Lernen nachzudenken.**
---
## Zitat
> *"Wissen gehört dem Kind, solange es fragt."*
> *"Nullfeld zuerst, dann Messung. Resonanz vor Regel."*
> — Waldwächter-Prinzip
---
**Version:** 2.0
**Lizenz:** MIT + CKL v0.1
**Status:** Active Development
**Letzte Aktualisierung:** 2025-12-13