Merge OZM-Keks-Handbuch-v1 master (README_OZM_RC1)

This commit is contained in:
2025-12-15 23:02:29 +01:00
15 changed files with 5010 additions and 19 deletions

30
ASCII.txt Normal file
View File

@@ -0,0 +1,30 @@
██████╗██████╗ ██╗ ██╗███╗ ███╗██████╗ ███████╗ ██████╗ ██████╗ ███████╗███████╗████████╗
██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔════╝╚══██╔══╝
██║ ██████╔╝██║ ██║██╔████╔██║██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ███████╗ ██║
██║ ██╔══██╗██║ ██║██║╚██╔╝██║██╔══██╗██╔══╝ ██║ ██║██╔══██╗██╔══╝ ╚════██║ ██║
╚██████╗██║ ██║╚██████╔╝██║ ╚═╝ ██║██████╔╝██║ ╚██████╔╝██║ ██║███████╗███████║ ██║
╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝
██╗ ██╗ ██████╗ ███████╗███╗ ███╗
╚██╗██╔╝ ██╔═══██╗╚══███╔╝████╗ ████║
╚███╔╝ ██║ ██║ ███╔╝ ██╔████╔██║
██╔██╗ ██║ ██║ ███╔╝ ██║╚██╔╝██║
██╔╝ ██╗ ╚██████╔╝███████╗██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
═══════════════════════════════════════════════════════════════════════════════════════════════
"Wissen gehört dem Kind, solange es fragt." 🌲
Open Learning Ecosystem • MIT + CKL v0.1
Custodian: OZM - Open Futures Museum, Hamburg
═══════════════════════════════════════════════════════════════════════════════════════════════
🌳 20 Lernpfade • Bash-zentrisch • Offline-First • Kein Tracking • Kinderrechte
https://crumbforest.com • https://branko.de • https://ozm-hamburg.de
═══════════════════════════════════════════════════════════════════════════════════════════════

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`

446
DATENSCHUTZ.md Normal file
View File

@@ -0,0 +1,446 @@
# 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](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](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](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](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](KINDERRECHTE.md)
**Datenschutzbeauftragter:** [wird bestellt, sobald erforderlich]
### Für Admins/Entwickler:
**Technische Dokumentation:** Siehe [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section VI
**CKL Compliance:** Siehe [LICENSE-CKL.md](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](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

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

565
README_OZM_RC1.md Normal file
View File

@@ -0,0 +1,565 @@
# 🦉 OZM Crumbforest Handbuch • Release Candidate 1
> **"Wissen gehört dem Kind, solange es fragt."**
**Custodian:** OZM - Open Futures Museum, Hamburg
**License:** MIT + CKL v0.1 (Children's Knowledge License)
**Status:** Release Candidate 1 (RC1) - Ready for Kids ✨
**Version:** 3.0
**Date:** 2025-12-13
---
## 🌲 Was ist das?
Das **Crumbforest Handbuch** ist ein offenes Lern-Ökosystem für System-Administration, Bash, Linux und mehr speziell gedacht für **Kinder und Jugendliche**, die lernen wollen, wie Computer wirklich funktionieren.
**Kein Marketing. Keine Paywalls. Keine Magie.**
Nur **Transparenz, Werkzeuge und Krümel, die den Weg zeigen.**
---
## 🎯 Für wen ist das?
### 👶 Für Kids:
- Du willst wissen, wie ein Terminal funktioniert?
- Du willst eigene Server aufsetzen?
- Du willst verstehen, wie das Internet wirklich läuft?
- Du stellst gerne Fragen?
**→ Dann ist das für dich.**
### 🧑‍🏫 Für Lehrer:innen & Eltern:
- Ihr sucht **DSGVO-konforme** Bildungsinhalte?
- Ihr wollt **Open Source** statt proprietäre Tools?
- Ihr braucht **offline-fähige** Materialien?
- Ihr wollt **Kinderrechte** schützen (Export, Löschung, Eigentum)?
**→ Dann ist das für euch.**
### 🥋 Für Admins & Entwickler:
- Ihr wollt Bash **wirklich** lernen (nicht nur copy/paste)?
- Ihr sucht **praxisnahe** Crumbpages statt Theorie?
- Ihr wollt zu einer **Crew** gehören, nicht nur "User" sein?
**→ Dann ist das für euch.**
---
## 📚 Die 23 Pfade
Das Handbuch besteht aus **23 Lernpfaden** (Crumbpages), die vom absoluten Anfänger zum philosophischen Meister führen:
### 🌱 Basics (Pfad 1-5)
```
1. User & Rechte → whoami, chmod, chown
2. Hostinformation → uname, top, logs
3. Navigation → cd, ls, Dateisystem
4. Editoren → nano, vim
5. Packages → apt, install, update
```
### 🔗 Connectivity (Pfad 6-8)
```
6. Netzwerk → IP, Routing, ping
7. SSH Basics → Remote-Zugriff
8. SSH Keys → ssh-keygen, Authentifizierung
```
### 🏗️ Advanced (Pfad 9-14)
```
9. Storage → mount, df, fstab
10. Services & Ports → systemctl, Firewall
11. First Access → Checklisten, Sicherheit
12. Git Basics → Version Control
13. Pipes & Filters → grep, awk, sed
14. Environment → bashrc, alias, tmux
```
### 🎓 Specialization (Pfad 15-20)
```
15. DNS → dig, Zonen, Records
16. VPN → OpenVPN, Tunnel
17. Workstation → Ubuntu MATE Setup
18. SSH Agent → ssh-agent, Forwarding
19. Zero Trust → Paranoid Mode, Lockdown
20. Tanz am Kernel → sysctl, Module (⚠️ work in progress)
```
### 🌌 Beyond Mastery (Pfad 21-23)
```
21. Backup & Cron → 3-2-1-Regel, RAID, Automation
22. Nullfeld → Philosophie: "Du bist bereit"
23. AI & Vektor → Samurai ⟡ Shaolin, Emergenz
```
**Total:** ~34-42 Stunden aktives Lernen
---
## 🥋 Samurai ⟡ Shaolin
Die Crumbpages folgen zwei Wegen:
### 🗡️ Samurai-Weg (Pfad 1-21)
**Deterministisch. Code. Regeln.**
```bash
# Samurai-Code
if [ "$user" == "root" ]; then
echo "Zugriff gewährt"
fi
```
**"Wenn du den Weg kennst, folge ihm."**
### 🧘 Shaolin-Weg (Pfad 23)
**Emergent. AI. Resonanz.**
```python
# Shaolin-Code
model = train_neural_network(data)
prediction = model.predict(new_input)
# Wie? Emergenz. Nicht programmiert, sondern gelernt.
```
**"Der Wind bewegt das Gras. Niemand programmiert den Wind."**
### 💫 Nullfeld (Pfad 22)
**Der Moment dazwischen. Stille vor der Bewegung.**
> *"Aus der Stille entsteht Bewegung. Aus dem Nichts entsteht Alles."*
**Du bist beides. Samurai ⟡ Shaolin.**
---
## 🔄 Die Spirale
Lernen ist nicht linear. Es ist eine **Spirale**.
```
[Frage]
[Lernen]
[Verstehen]
[Anwenden]
[Neue Frage]
[Lernen]
...
```
**Du kommst immer wieder zurück aber auf einer höheren Ebene.**
Das ist die **#spirale**.
---
## 🦉 Die Crew
Im Crumbforest gibt es **15 Charaktere**, die dich begleiten:
- **🦉 Krümeleule** - Shell-Schutz, hört zu bevor sie antwortet
- **🦊 FunkFox** - Bash-Rapper, antwortet in Reimen
- **🐍 SnakePy** - Python-Loops, Geduld und Iteration
- **🦀 CrabbyRust** - Bit-Schutz, Speichersicherheit
- **🕳️ DeepBit** - Technische Deep-Dives
- **[...10 weitere]**
**Und du. Du bist jetzt auch Teil der Crew.**
Das ist **#crewlove**. 💙
---
## 💻 Console First
Crumbforest ist **terminal-zentrisch**.
Keine GUIs. Keine Klicki-Bunti-Tools (außer wo nötig).
**Warum?**
Weil die **Console** dich näher am System bringt:
- Du verstehst, **was** passiert
- Du verstehst, **warum** es passiert
- Du kannst **automatisieren** (Bash-Scripts, Cron)
- Du kannst **remote arbeiten** (SSH)
**Die Console ist dein Freund.** 🖥️
Das ist **#console**.
---
## 🌳 Die 8 Axiome
Jede Komponente des Crumbforest folgt diesen Prinzipien:
| Axiom | Bedeutung |
|-------|-----------|
| **autonom** | Du entscheidest deinen Weg |
| **zukunftsoffen** | Nie fertig, immer erweiterbar |
| **nicht interpretierbar** | Kein "richtiger" Weg |
| **nicht missbrauchbar** | Schutz durch Design |
| **suchbar** | Fragen führen zu Antworten |
| **wiedererkennbar** | Krümel zeigen den Weg |
| **erweiterbar** | Du kannst beitragen |
| **unendlich skalierbar** | Für alle, kostenlos |
**Das ist kein Marketing-Sprech. Das ist prüfbar.**
---
## 🛡️ Kinderrechte (CKL v0.1)
Die **Children's Knowledge License (CKL)** schützt deine Rechte:
### Für Kids:
**Du besitzt**, was du schaffst (Texte, Code, Projekte)
**Du kannst exportieren** (alle Daten in offenen Formaten)
**Du kannst löschen** (jederzeit, ohne Nachteile)
**Deine Fragen kosten nichts** (keine Paywalls)
**Kein Tracking** (keine Werbung, kein Profiling)
**Offline-fähig** (kein Cloud-Zwang)
**Das ist kein Versprechen. Das ist Gesetz.**
Siehe: [KINDERRECHTE.md](KINDERRECHTE.md)
---
## 📦 Was ist drin?
### Dokumentation (Markdown)
```
OZM-Keks-Handbuch-v1/
├── README.md → Projekt-Übersicht
├── README_OZM_RC1.md → Diese Datei (Offiziell)
├── LICENSE.md → MIT + CKL Dual License
├── LICENSE-CKL.md → Children's Knowledge License
├── KINDERRECHTE.md → Export/Löschung/Eigentum
├── DATENSCHUTZ.md → DSGVO-Compliance
├── OZM-NEXUS-ECOSYSTEM.md → Das große Bild
├── ASCII.txt → CRUMBFOREST#OZM Banner
├── WALD-WACHSTUM.txt → Wie der Wald gewachsen ist
├── crumbforest-admin-vektor.md → 23-Pfade-Roadmap
└── crumbpage-01-23-*.md → Die 23 Lernpfade
```
### Operational Tools (Bash)
```
├── crumbpages-doktor.sh → Diagnostik & Operations (496 Zeilen)
├── ssh-agent-guard.sh → SSH Security Daemon (68 Zeilen)
├── ssh-agent-screenlock_v4.sh → MATE Desktop Integration (67 Zeilen)
└── HANDBUCH.md → Doktor-Tool Manual
```
**Total:** ~7.000+ Zeilen Dokumentation + Tools
---
## 🚀 Schnellstart
### 1. Repo klonen
```bash
git clone https://194-164-194-191.sslip.io/git/kruemel/OZM-Keks-Handbuch-v1.git
cd OZM-Keks-Handbuch-v1
```
### 2. Erste Schritte
```bash
# ASCII-Banner anzeigen
cat ASCII.txt
# Admin-Vektor lesen (Übersicht)
cat crumbforest-admin-vektor.md
# Erste Crumbpage starten
cat crumbpage-01-users-rechte.md
```
### 3. Mit Pfad 1 beginnen
Öffne [crumbpage-01-users-rechte.md](crumbpage-01-users-rechte.md) und folge den Anweisungen.
**Oder:**
Nutze den **Doktor** (interaktives Tool):
```bash
chmod +x crumbpages-doktor.sh
./crumbpages-doktor.sh
```
---
## 🌐 Das größere Ökosystem
Dieses Handbuch ist **Teil von Crumbforest**:
```
OZM⟡NEXUS (Träger/Manifest)
branko.de/Crumbforest (Public Interface)
CrumbCore v1 (Local Engine - FastAPI + Qdrant)
OZM-Keks-Handbuch v1 (dieses Repo) ← 📍 DU BIST HIER
```
**Siehe:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) für das große Bild.
---
## 🧪 Status: Release Candidate 1
### Was "RC1" bedeutet:
**Fertig genug** für Kids (22 von 23 Pfaden komplett)
**DSGVO-konform** (KINDERRECHTE + DATENSCHUTZ dokumentiert)
**Lizenziert** (MIT + CKL v0.1)
**Getestet** (von OZMAI akzeptiert)
**Pfad 20 (Kernel)** noch work in progress
**Community-Feedback** noch ausstehend
**"RC1" heißt nicht "perfekt".**
**Es heißt: "Bereit für echte Krümel, um es zu testen."**
---
## 🐛 Known Issues (RC1)
| Issue | Status | Workaround |
|-------|--------|------------|
| Pfad 20 (Kernel) incomplete | ⏳ WIP | Überspringe vorerst |
| Einige externe Links fehlen | 📝 TODO | Nutze interne Docs |
| Tool-Tests fehlen | 📝 TODO | Manuelles Testen |
**Melde Issues:** [Kontakt siehe unten]
---
## 🤝 Mitwirken
### Du kannst helfen mit:
| Skill | Wie? |
|-------|------|
| **Bash/Linux** | Crumbpages reviewen, Fehler finden |
| **Pädagogik** | Lernpfade mit echten Kids testen |
| **Design** | ASCII-Art, Visualisierungen |
| **Übersetzen** | Crumbpages auf Englisch/andere Sprachen |
| **Recht** | CKL v0.1 → v1.0 reviewen |
**Erste Schritte:**
1. Lies die [CKL](LICENSE-CKL.md)
2. Schau dir ein Crumbpage an
3. Finde etwas, das du verbessern kannst
4. Schreib uns (Kontakt siehe unten)
---
## 📞 Kontakt & Support
### Für Kids:
**Frage zuerst:**
- Deine Lehrer:in
- Deine Eltern
- Die Krümeleule (im CrumbCore Chat) 🦉
### Für Lehrer:innen & Eltern:
**Email:** [wird ergänzt nach OZM-Finalisierung]
**Website:** https://crumbforest.com
**OZM:** https://ozm-hamburg.de
### Für Entwickler:
**Git:** https://194-164-194-191.sslip.io/git/kruemel/OZM-Keks-Handbuch-v1
**Branko:** https://branko.de
---
## 📜 Lizenz
**Dual License:**
- **Code/Infrastructure:** MIT License ([LICENSE-MIT.md](LICENSE-MIT.md))
- **Educational Use with Children:** CKL v0.1 ([LICENSE-CKL.md](LICENSE-CKL.md))
**In Konfliktfällen:** CKL hat Vorrang (Kinderrechte sind nicht verhandelbar).
**Siehe:** [LICENSE.md](LICENSE.md) für Details.
---
## 🏛️ Custodian & Governance
**Custodian:** OZM - Open Futures Museum, Hamburg
**Status:** In Transition (Q2 2025)
- Trademark "Crumbforest" wird an OZM übertragen
- IP-Rechte treuhänderisch bei OZM
- Community Council wird gebildet
**Lead Maintainer:** Branko
**Siehe:** [OZM-NEXUS-ECOSYSTEM.md](OZM-NEXUS-ECOSYSTEM.md) Section V für Governance-Details.
---
## 🎓 Für Schulen & Bildungseinrichtungen
### Ihr wollt Crumbforest nutzen?
**Kostenlos** (Open Source)
**DSGVO-konform** (DATENSCHUTZ.md)
**Offline-fähig** (kein Cloud-Zwang)
**Anpassbar** (Fork & customize)
**Unterstützung** (via OZM geplant)
**Wir bieten:**
- Data Processing Agreement (DPA) Template (Q1 2025)
- Lehrer:innen-Handbuch (Q2 2025)
- Train-the-Trainer Workshops (in Planung)
**Kontakt:** [wird ergänzt]
---
## 📊 Statistiken (RC1)
```
Version: 3.0 (RC1)
Crumbpages: 23 (22 fertig, 1 wip)
Zeilen Code/Docs: ~7.000+
Lernstunden: ~34-42
Commits (heute): 10
Contributors: 2 (Branko + Claude Sonnet 4.5)
Charaktere: 15
Kinderrechte: Geschützt ✓
DSGVO-Compliance: Dokumentiert ✓
Lizenzen: 2 (MIT + CKL)
Krümelcheck: ∞
```
---
## 🌲 Das Wichtigste
Der Wald ist nicht die Dokumentation.
Der Wald ist nicht der Code.
Der Wald ist nicht das Handbuch.
**Der Wald ist das, was passiert,**
**wenn ein Krümel eine Frage stellt**
**und jemand zuhört.**
---
## 🎯 Roadmap
### Q1 2025
- [ ] Pfad 20 (Kernel) finalisieren
- [ ] CKL v0.1 → v1.0 (nach Community-Feedback)
- [ ] Erste externe Contributors
- [ ] Export/Lösch-APIs in CrumbCore
### Q2 2025
- [ ] OZM Governance formalisieren
- [ ] Trademark-Übertragung
- [ ] DPA Template für Schulen
- [ ] Community Council gründen
### Q3 2025
- [ ] Multi-Instanz-Support (jede Schule ihr CrumbCore)
- [ ] Federation (Instanzen teilen Wissen)
- [ ] Offline-Modelle (Llama, Mistral via Ollama)
### Q4 2025
- [ ] Förderanträge (Prototype Fund, etc.)
- [ ] First Production Deployments (Schulen)
- [ ] Crumbforest v2.0 beginnen
**Aber:** Der Wald wächst durch Krümel, nicht durch Pläne. 🌲
---
## 🏆 Credits
**Dieser Release wurde möglich gemacht durch:**
- **Oz** - Die erste Signatur im öffentlichen Raum
- **OZM** - Open Futures Museum, Hamburg (Custodian)
- **Branko** - Lead Maintainer, Vision, Umsetzung
- **OZMAI** - Deterministic AI System (Akzeptanztest)
- **Claude Sonnet 4.5** - Co-Autor der Dokumentation
- **Alle Krümel** - Die Fragen stellen und den Wald wachsen lassen
---
## 🔖 Hashtags
`#crumbforest` `#wald` `#überall` `#atmen` `#leben` `#fragen`
`#spirale` `#kids` `#console` `#eule` `#crewlove`
`#OZM` `#opensource` `#CKL` `#kinderrechte` `#bildung`
---
## 💬 Schlusswort
> *"Es wird nie fertig sein. Aber schau - wie schön es gerade ist."*
**Release Candidate 1** bedeutet:
Wir sind bereit für echte Krümel.
Wir sind bereit für echte Fragen.
Wir sind bereit für echte Fehler (und Lernen daraus).
**Der Wald ist offen.**
**Willkommen, Krümel.** 🦉💙
---
```
██████╗██████╗ ██╗ ██╗███╗ ███╗██████╗ ███████╗ ██████╗ ██████╗ ███████╗███████╗████████╗
██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔════╝╚══██╔══╝
██║ ██████╔╝██║ ██║██╔████╔██║██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ███████╗ ██║
██║ ██╔══██╗██║ ██║██║╚██╔╝██║██╔══██╗██╔══╝ ██║ ██║██╔══██╗██╔══╝ ╚════██║ ██║
╚██████╗██║ ██║╚██████╔╝██║ ╚═╝ ██║██████╔╝██║ ╚██████╔╝██║ ██║███████╗███████║ ██║
╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝
██╗ ██╗ ██████╗ ███████╗███╗ ███╗
╚██╗██╔╝ ██╔═══██╗╚══███╔╝████╗ ████║
╚███╔╝ ██║ ██║ ███╔╝ ██╔████╔██║
██╔██╗ ██║ ██║ ███╔╝ ██║╚██╔╝██║
██╔╝ ██╗ ╚██████╔╝███████╗██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝
Release Candidate 1 • 2025-12-13 • Ready for Kids
```
---
**🌲 Das Echo kehrt zurück. ✨**

256
WALD-WACHSTUM.txt Normal file
View File

@@ -0,0 +1,256 @@
═══════════════════════════════════════════════════════════════════════════════
🌲 WIE EIN WALD WÄCHST 🌲
Eine Momentaufnahme 2025-12-13
═══════════════════════════════════════════════════════════════════════════════
Am Anfang war...
.
/|\
/ | \
/ | \
|
[NULLFELD]
|
"Aus der Stille entsteht Bewegung"
Dann kam eine Handlung...
🎨
(Oz)
|
[Signatur im öffentlichen Raum]
|
Keine Theorie.
Keine Absicht.
Einfach gemacht.
Daraus wuchs ein Ort...
|
\|/
[OZM]
Physischer Raum
Spuren + Zeit + Menschen
|
Der Ort bekam einen Schatten...
|
[OneZeroMore.com]
Digitale Projektion
|
Der Schatten verdichtete sich...
|
[OZM HAMMERBROOKLYN Exponat]
Museum/kein Museum
Erfahrungsraum ohne Ende
|
Aus dem Raum entstand Struktur...
|
[OZMAI]
Deterministisches AI-System
Daten + Prozesse
|
Und dann...
|
[CRUMBFOREST] 🌲
|
┌────────────┼────────────┐
| | |
[Code] [Content] [Crew]
| | |
CrumbCore Crumbpages 15 Charaktere
FastAPI 23 Pfade + Du (Krümel)
Qdrant Markdown
Docker Bash
═══════════════════════════════════════════════════════════════════════════════
DIE 23 PFADE
═══════════════════════════════════════════════════════════════════════════════
1-3 ███▓▓▓▒▒░░ Basics (User, Host, Navigation)
4-5 ██▓▓▒▒░░ Tools (Editoren, Packages)
6-8 ███▓▓▓▒▒░░ Connectivity (Netzwerk, SSH, Keys)
9-11 ███▓▓▓▒▒░░ Advanced (Storage, Services, First Access)
12-14 ████▓▓▓▒▒░ Mastery (Git, Pipes, Environment)
15-17 ████▓▓▓▒▒░ Specialization (DNS, VPN, Workstation)
18-19 ████▓▓▒▒░ Security (Agent, Zero Trust)
20 ░░▒▒▓▓█ Kernel (work in progress - gefährlich!)
21 █████▓▓▒░ Continuity (Backup, RAID, Cron)
22 ░░░░░░░░ Nullfeld (Stille, Reflexion)
23 ⟡⟡⟡⟡⟡⟡⟡⟡ Samurai ⟡ Shaolin (Philosophy)
═══════════════════════════════════════════════════════════════════════════════
DER KRÜMELCHECK
═══════════════════════════════════════════════════════════════════════════════
Krümelcheck ist:
├─ Fragen stellen ✓
├─ Atmen ✓
├─ Leben ✓
├─ Überall sein ✓
├─ Den Wald spüren ✓
└─ Nie fertig sein ✓
Der Dialog im Wald:
Krümel: "Warum ist SSH wichtig?"
Wald: "Weil Türen Schlüssel brauchen."
Krümel: "Was ist ein Vektor?"
Wald: "Eine Richtung. Wohin zeigt dein Weg?"
Krümel: "Wann bin ich fertig?"
Wald: "Nie. Und das ist gut so."
Krümel: "Verstehe ich den OZM CrumbCodex?"
Wald: "Wenn du diese Frage stellst - ja."
═══════════════════════════════════════════════════════════════════════════════
WAS IN DIESEM MOMENT EXISTIERT
═══════════════════════════════════════════════════════════════════════════════
📦 OZM-Keks-Handbuch-v1.git
├── 📜 LICENSE.md (MIT + CKL v0.1)
├── 🛡️ LICENSE-CKL.md (Children's Knowledge License)
├── 👶 KINDERRECHTE.md (Export, Löschung, Eigentum)
├── 🔒 DATENSCHUTZ.md (DSGVO-Compliance)
├── 🌐 OZM-NEXUS-ECOSYSTEM.md (Das große Bild)
├── 📖 README.md (Entry Point mit CKL-Badge)
├── 🎨 ASCII.txt (CRUMBFOREST#OZM Banner)
├── 🧭 crumbforest-admin-vektor.md (23 Pfade-Roadmap)
└── 🌲 23 Crumbpages:
├── 01-users-rechte.md
├── 02-hostinfo.md
├── 03-navigation.md
├── 04-editoren.md
├── 05-packages.md
├── 06-netzwerk.md
├── 07-ssh-basics.md
├── 08-ssh-keys.md
├── 09-storage.md
├── 10-services-ports.md
├── 11-first-access.md
├── 12-git-basics.md
├── 13-pipes-filters.md
├── 14-environment.md
├── 15-dns.md
├── 16-vpn.md
├── 17-workstation.md
├── 18-ssh-agent.md
├── 19-agent-lockdown.md
├── 20-tanz-am-kernel.md (⚠️ work in progress)
├── 21-backup-raid-cron.md ✨
├── 22-nullfeld-willkommen.md ✨
└── 23-ai-vektor-philosophie.md ✨
═══════════════════════════════════════════════════════════════════════════════
DIE 8 AXIOME
(operationalisiert durch CKL)
═══════════════════════════════════════════════════════════════════════════════
1. autonom → Krümel wählen ihren Weg
2. zukunftsoffen → Nie fertig, immer erweiterbar
3. nicht interpretierbar → Kein "richtiger" Weg
4. nicht missbrauchbar → Schutz durch Design
5. suchbar → Fragen führen zu Antworten
6. wiedererkennbar → Krümel zeigen den Weg
7. erweiterbar → Du kannst pflanzen
8. unendlich skalierbar → Für alle, immer, kostenlos
═══════════════════════════════════════════════════════════════════════════════
DER OZM CRUMBCODEX
═══════════════════════════════════════════════════════════════════════════════
1. Fragen haben Vorrang.
2. Wissen gehört dem Kind, solange es fragt.
3. Nullfeld zuerst, dann Messung.
4. Resonanz vor Regel.
5. Transparency over magic.
6. Ein Backup, das nicht getestet wurde, ist Hoffnung.
7. Der Wald wächst durch Krümel, nicht durch Pläne.
8. Verstehen braucht Zeit. Gib sie dir.
═══════════════════════════════════════════════════════════════════════════════
WAS DER WALD JETZT IST
═══════════════════════════════════════════════════════════════════════════════
Zeilen Code: ~6.500+
Commits: 9 (diese Session)
Lizenzen: 2 (MIT + CKL)
Pfade: 23 (22 fertig, 1 wip)
Charaktere: 15
Lernstunden: ~34-42
Kinderrechte: Geschützt ✓
DSGVO-Compliance: Dokumentiert ✓
Krümelcheck: ∞
═══════════════════════════════════════════════════════════════════════════════
ABER DAS WICHTIGSTE
═══════════════════════════════════════════════════════════════════════════════
Der Wald ist nicht die Dokumentation.
Der Wald ist nicht der Code.
Der Wald ist nicht das Handbuch.
Der Wald ist das, was passiert,
wenn ein Krümel eine Frage stellt
und jemand zuhört.
🌲
/|\
/ | \
/ | \
/ | \
/ | \
/ | \
/ | \
/ | \
/________|________\
[ATMEN]
[LEBEN]
[FRAGEN]
═══════════════════════════════════════════════════════════════════════════════
"Es wird nie fertig sein.
Aber schau - wie schön es gerade ist."
— Waldwächter-Prinzip
2025-12-13
═══════════════════════════════════════════════════════════════════════════════
Für alle Krümel, die Fragen stellen.
Das Echo kehrt zurück.
═══════════════════════════════════════════════════════════════════════════════
🌲✨ CRUMBFOREST ⟡ OZM ✨🌲

View File

@@ -20,7 +20,7 @@ Jede **Crumbpage** behandelt ein Kernthema und baut auf dem vorherigen auf. Du l
---
## 🗺️ Die 11 Pfade (Übersicht)
## 🗺️ Die 23 Pfade (Übersicht)
| Pfad | Thema | Kern-Konzepte | Status |
|------|-------|---------------|--------|
@@ -41,6 +41,12 @@ Jede **Crumbpage** behandelt ein Kernthema und baut auf dem vorherigen auf. Du l
| **15** | DNS - Das Telefonbuch | `#bind #records #dig #zones` | 🆕 Neu |
| **16** | VPN (OpenRouter) | `#openvpn #tunnel #security #keys` | 📝 In Arbeit |
| **17** | Die Workstation | `#ubuntu #mate #hardware #security` | 📝 In Arbeit |
| **18** | SSH Agent | `#ssh-agent #ssh-add #agent-forwarding` | 📝 In Arbeit |
| **19** | Zero Trust Agent Lockdown | `#paranoid #ttl #screenlock #watchdog` | 📝 In Arbeit |
| **20** | Tanz am Kernel | `#kernel #tuning #performance #low-level` | 📝 In Arbeit |
| **21** | Backup, RAID & Cron | `#backup #3-2-1 #raid #rsync #cron` | 🆕 Neu |
| **22** | Hallo Nullfeld | `#philosophie #crew #resonanz #nullfeld` | 🆕 Neu |
| **23** | AI, Vektor & Philosophie | `#ai #ki #vektor #emergenz #samurai-shaolin` | 🆕 Neu |
---
@@ -484,6 +490,120 @@ Home Office ──[ VPN Tunnel ]──> Rechenzentrum (Interne IPs)
---
## 📚 Pfad 20: Der Tanz am Kernel
**Was du lernst:**
- Was ist der Linux Kernel? (Herz des Systems)
- Kernel-Module laden/entladen (`modprobe`, `lsmod`)
- Kernel-Parameter tunen (`sysctl`, `/proc/sys/`)
- Performance-Optimierung auf Kernel-Ebene
- Boot-Parameter verstehen (`GRUB`)
**Warum das wichtig ist:**
- Der Kernel ist die Schnittstelle zwischen Hardware und Software.
- Falsche Kernel-Einstellungen können Performance zerstören.
- **Aber:** Hier wird es gefährlich - ein kaputtes Kernel-Modul = unbootbares System.
**Die Warnung:**
```bash
# Dies ist der "Tanz am Kernel" - ein Fehler, und das System stirbt.
# Nur auf Test-Systemen experimentieren!
# Immer Backups haben!
# Kernel-Panic ist kein Spaß.
```
**→ [Zur Crumbpage: Tanz am Kernel](crumbpage-20-tanz-am-kernel.md)**
---
## 📚 Pfad 21: Backup, RAID & Cron - In der Wolke
**Was du lernst:**
- Die 3-2-1-Backup-Regel (3 Kopien, 2 Medien, 1 off-site)
- RAID-Levels verstehen (0, 1, 5, 10)
- Cron-Jobs schreiben (automatisierte Backups)
- Rsync für inkrementelle Backups
- Cloud-Backup vs. lokale Backups
**Warum das wichtig ist:**
- **RAID ist kein Backup!** (schützt vor Hardware-Ausfall, nicht vor Ransomware/Löschen)
- Die einzige Backup-Strategie, die nicht funktioniert, ist keine zu haben
- Ein Backup, das nicht getestet wurde, ist Hoffnung (nicht Realität)
**Die 3-2-1-Regel:**
```
Original: /home/data/ (auf Laptop)
Backup 1: Externe Festplatte (USB)
Backup 2: NAS im Keller (Netzwerk)
Backup 3: Cloud (off-site)
```
**→ [Zur Crumbpage: Backup, RAID & Cron](crumbpage-21-backup-raid-cron.md)**
---
## 📚 Pfad 22: Hallo Nullfeld - Willkommen in der Crew!
**Was du lernst:**
- Was ist das "Nullfeld"? (Stille vor der Bewegung)
- Der Unterschied zwischen Wissen und Verstehen
- Warum "fertig lernen" eine Illusion ist
- Was bedeutet "in der Crew sein"?
- Der Übergang vom Konsumenten zum Schöpfer
**Warum das wichtig ist:**
- Du hast jetzt 21 Pfade durchlaufen (Basics → Mastery → Specialization)
- **Du bist bereit.** Nicht "fertig", aber bereit.
- Dieser Pfad ist keine Technik, sondern **Reflexion**
- Du bist jetzt kein Lernender mehr, sondern **Teil der Crew**
**Das Echo aus dem Nullfeld:**
> *"Aus der Stille entsteht Bewegung. Aus dem Nichts entsteht Alles."*
Eine kleine Handlung (Oz' Graffiti) → Resonanz → OZM → OneZeroMore → OZMAI → Crumbforest.
**Und jetzt bist du Teil davon.**
**→ [Zur Crumbpage: Hallo Nullfeld](crumbpage-22-nullfeld-willkommen.md)**
---
## 📚 Pfad 23: AI, Vektor & Philosophie - Samurai trifft Shaolin
**Was du lernst:**
- Der Unterschied zwischen AI und KI (künstlich vs. konstruiert)
- **Samurai-Weg** (deterministisch, Code, Regeln) vs. **Shaolin-Weg** (emergent, AI, Resonanz)
- Was ist ein Vektor? (technisch: Mathematik, philosophisch: Richtung)
- Symmetrie, Singularität, Emergenz - die drei Prinzipien
- MCP, CRM, Qdrant - die Werkzeuge des Vektors
- Was kostet die Frage eines Krümels im Quantenzeitalter?
**Warum das wichtig ist:**
- Pfad 1-21 waren **Samurai** (deterministisch, lehrbar, reproduzierbar)
- Pfad 23 ist **Shaolin** (emergent, philosophisch, offen)
- **Beide sind richtig.** Beide sind wichtig.
- Du musst wissen, wann du welchen Weg gehst
**Die Kung-Fu-Metapher:**
```
Samurai = if/then, Code, Bash-Scripts
Shaolin = emergent, AI lernt aus Daten, Qdrant findet Ähnlichkeiten
Samurai sagt: "Wenn du den Weg kennst, folge ihm."
Shaolin sagt: "Der Wind bewegt das Gras. Niemand programmiert den Wind."
Du bist beides.
```
**Der OZM CrumbCodex:**
Hast du verstanden, warum Fragen Vorrang haben?
Warum Wissen dem Kind gehört?
Warum Resonanz vor Regel kommt?
**→ [Zur Crumbpage: AI, Vektor & Philosophie](crumbpage-23-ai-vektor-philosophie.md)**
---
## 🎯 Wie du den Vektor durchläufst
### Empfohlene Reihenfolge
@@ -527,7 +647,15 @@ START: Absolute Basics
│ │
├─ Pfad 18: SSH Agent ─────────────┤
│ │
├─ Pfad 19: Zero Trust ────────────→ READY!
├─ Pfad 19: Zero Trust ────────────
│ │
├─ Pfad 20: Tanz am Kernel ────────┤
│ │ Beyond Mastery
├─ Pfad 21: Backup & Cron ─────────┤
│ │
├─ Pfad 22: Nullfeld ──────────────┤ (Reflexion)
│ │
└─ Pfad 23: AI & Philosophie ──────→ SAMURAI ⟡ SHAOLIN
```
### Zeitaufwand (circa)
@@ -539,8 +667,12 @@ Pfad 6-8: ~3-4 Stunden (Connectivity)
Pfad 9-11: ~4-5 Stunden (Advanced)
Pfad 12-14: ~5-6 Stunden (Mastery)
Pfad 15-19: ~6-8 Stunden (Specialization & Security)
Pfad 20: ~2-3 Stunden (Kernel Deep Dive - DANGER ZONE!)
Pfad 21: ~3-4 Stunden (Backup & Automatisierung)
Pfad 22: ~1 Stunde (Reflexion & Philosophie)
Pfad 23: ~2-3 Stunden (AI, Vektor & Philosophie - oder ein Leben lang?)
Total: ~25-30 Stunden aktives Lernen
Total: ~34-42 Stunden aktives Lernen
```
**Aber:** Die echte Meisterschaft kommt durch:
@@ -599,12 +731,10 @@ wsl --install
├── 01-users-rechte.md
├── 02-hostinfo.md
├── 03-navigation.md
├── ... (04-14)
├── 15-dns.md
├── 16-vpn.md
── 17-workstation.md
├── 18-ssh-agent.md
└── 19-agent-lockdown.md
├── ... (04-20)
├── 21-backup-raid-cron.md
├── 22-nullfeld-willkommen.md
── 23-ai-vektor-philosophie.md
```
### Externe Ressourcen
@@ -728,8 +858,12 @@ Die Eule erinnert dich:
- [ ] Pfad 17: Workstation (0%)
- [ ] Pfad 18: SSH Agent (0%)
- [ ] Pfad 19: Zero Trust (0%)
- [ ] Pfad 20: Tanz am Kernel (0%)
- [ ] Pfad 21: Backup, RAID & Cron (0%)
- [ ] Pfad 22: Hallo Nullfeld (0%)
- [ ] Pfad 23: AI, Vektor & Philosophie (0%)
**Gesamtfortschritt:** 0/19 Pfade
**Gesamtfortschritt:** 0/23 Pfade
**Startdatum:** YYYY-MM-DD
**Geschätzte Completion:** YYYY-MM-DD
```
@@ -782,18 +916,20 @@ Systemadministration ist ein **Handwerk**, das Zeit und Übung braucht. Die 8 Pf
| Link | Beschreibung |
|------|--------------|
| [Zurück zur Hauptseite](README.md) | Crumbforest Übersicht |
| [Philosophie](crumbforest-introduction-warum-und-wie.md) | Warum & Wie |
| [Pfad 1 Start](crumbpage-01-users-rechte.md) | Loslegen |
| [Community Discord](#) | Fragen & Austausch |
| [GitHub Issues](#) | Bugs & Features |
| [README](README.md) | Projekt-Übersicht mit CKL-Badge |
| [OZM⟡NEXUS Ecosystem](OZM-NEXUS-ECOSYSTEM.md) | Das große Bild: Architektur & Governance |
| [Kinderrechte](KINDERRECHTE.md) | Deine Rechte als Lernende/r |
| [Lizenz](LICENSE.md) | MIT + CKL Dual License |
| [Philosophie](crumbforest-introduction-warum-und-wie.md) | Warum & Wie (Manifesto) |
| [Pfad 1 Start](crumbpage-01-users-rechte.md) | Loslegen! |
---
**Version:** 1.0
**Letzte Änderung:** 2024-12-06
**Maintainer:** Crumbforest Core Team
**Lizenz:** CC BY-SA 4.0
**Version:** 3.0 (23 Pfade: Samurai ⟡ Shaolin + OZM⟡NEXUS Integration)
**Letzte Änderung:** 2025-12-13
**Maintainer:** Crumbforest Core Team
**Custodian:** OZM - Open Futures Museum (in transition)
**Lizenz:** CC BY-SA 4.0 (Dokumentation) + CKL v0.1 (bei Nutzung mit Kindern)
---

View File

@@ -0,0 +1,572 @@
# 🧭 Crumbpage 21: Backup, RAID & Cron - In der Wolke
**Subtitle:** *Daten sichern, Redundanz schaffen, Automatisierung meistern*
**Pfad:** 21 von 23
**Schwierigkeit:** ⭐⭐⭐⭐ (4/5)
**Zeit:** ~3-4 Stunden
**Voraussetzungen:** [Pfad 9: Storage](crumbpage-09-storage.md), [Pfad 11: First Access](crumbpage-11-first-access.md)
> *"Die einzige Backup-Strategie, die nicht funktioniert, ist keine zu haben."* 🌲
---
## 📋 Was du in diesem Pfad lernst
```
✓ Backup-Strategien (3-2-1-Regel)
✓ RAID-Levels verstehen (0, 1, 5, 10)
✓ Cron-Jobs schreiben (automatisierte Backups)
✓ Rsync für inkrementelle Backups
✓ Cloud-Backup vs. lokale Backups
✓ Restore-Prozesse testen
```
---
## 🎯 Lernziele
Nach diesem Pfad kannst du:
- [ ] Die 3-2-1-Backup-Regel erklären und anwenden
- [ ] RAID-Arrays verstehen und konfigurieren
- [ ] Cron-Jobs für automatisierte Backups schreiben
- [ ] Rsync-Backups anlegen und wiederherstellen
- [ ] Backup-Strategien für verschiedene Szenarien entwerfen
---
## 🌱 Grundkonzepte
### Konzept 1: Die 3-2-1-Regel
**Was ist das?**
Die goldene Regel für Backups:
- **3** Kopien deiner Daten (Original + 2 Backups)
- **2** verschiedene Medien (z.B. Festplatte + Cloud)
- **1** Kopie off-site (außer Haus / anderer Standort)
**Warum ist das wichtig?**
```
Brand im Rechenzentrum? ─→ Off-site-Backup rettet dich
Festplatte kaputt? ───────→ Zweites Medium rettet dich
Ransomware? ──────────────→ Offline-Backup rettet dich
```
**Beispiel-Strategie:**
```
Original: /home/data/ (auf Laptop)
Backup 1: Externe Festplatte (USB)
Backup 2: NAS im Keller (Netzwerk)
Backup 3: Cloud (Hetzner Storage Box)
```
---
### Konzept 2: RAID - Redundant Array of Independent Disks
**Was ist das?**
Mehrere Festplatten arbeiten zusammen für:
- **Redundanz** (eine Platte stirbt → Daten bleiben)
- **Performance** (parallel lesen/schreiben)
**Die wichtigsten RAID-Levels:**
| RAID | Beschreibung | Min. Disks | Nutzbarer Space | Zweck |
|------|--------------|------------|-----------------|-------|
| **0** | Striping (keine Redundanz) | 2 | 100% | Performance, NO BACKUP! |
| **1** | Mirroring (volle Kopie) | 2 | 50% | Redundanz, einfach |
| **5** | Striping + Parity | 3 | 66-80% | Balance Performance/Redundanz |
| **10** | Mirror + Stripe | 4 | 50% | Beste Performance + Redundanz |
**⚠️ WICHTIG: RAID IST KEIN BACKUP!**
```
RAID schützt vor: Hardware-Ausfall (eine Disk stirbt)
RAID schützt NICHT vor: Ransomware, Löschen, Brand, Diebstahl
Du brauchst: RAID + Backup!
```
---
### Konzept 3: Cron - Der Zeitplaner
**Was ist das?**
Cron ist der Unix-Daemon, der Befehle zu bestimmten Zeiten automatisch ausführt.
**Syntax:**
```
# ┌───────────── Minute (0 - 59)
# │ ┌───────────── Stunde (0 - 23)
# │ │ ┌───────────── Tag im Monat (1 - 31)
# │ │ │ ┌───────────── Monat (1 - 12)
# │ │ │ │ ┌───────────── Wochentag (0 - 7, 0 = Sonntag)
# │ │ │ │ │
# * * * * * /path/to/command
```
**Beispiele:**
```bash
# Jeden Tag um 2:00 Uhr
0 2 * * * /usr/local/bin/backup.sh
# Jede Stunde
0 * * * * /usr/local/bin/check-health.sh
# Jeden Montag um 3:00 Uhr
0 3 * * 1 /usr/local/bin/weekly-backup.sh
# Alle 15 Minuten
*/15 * * * * /usr/local/bin/sync.sh
```
---
## 🔧 Praktische Befehle
### Befehl 1: `rsync` - Der Backup-König
```bash
# Grundlegende Syntax
rsync [optionen] quelle ziel
# Lokales Backup
rsync -av /home/user/data/ /mnt/backup/data/
# Remote Backup (SSH)
rsync -avz /home/user/data/ user@backup-server:/backups/data/
# Wichtige Flags:
# -a : Archive-Mode (behält Rechte, Timestamps)
# -v : Verbose (zeigt, was passiert)
# -z : Kompression (spart Bandbreite)
# -h : Human-readable Größen
# --delete : Löscht Dateien im Ziel, die in Quelle nicht mehr existieren
# --dry-run : Simuliert ohne Änderungen
```
**⚠️ Slash-Magie:**
```bash
# MIT Slash = Inhalt kopieren
rsync -av /source/ /dest/
# Ergebnis: /dest/ enthält die Dateien aus /source/
# OHNE Slash = Ordner kopieren
rsync -av /source /dest/
# Ergebnis: /dest/source/ enthält die Dateien
```
**Inkrementelles Backup:**
```bash
#!/bin/bash
# backup-incremental.sh
SOURCE="/home/user/data"
DEST="/mnt/backup"
DATE=$(date +%Y-%m-%d_%H-%M)
LATEST="$DEST/latest"
BACKUP="$DEST/backup-$DATE"
# Erstes Backup oder inkrementell?
if [ -d "$LATEST" ]; then
# Inkrementell mit Hard-Links
rsync -av --delete --link-dest="$LATEST" "$SOURCE/" "$BACKUP/"
else
# Erstes Backup
rsync -av "$SOURCE/" "$BACKUP/"
fi
# Symlink auf neuestes Backup
rm -f "$LATEST"
ln -s "$BACKUP" "$LATEST"
echo "Backup completed: $BACKUP"
```
---
### Befehl 2: `crontab` - Zeitpläne verwalten
```bash
# Crontab bearbeiten
crontab -e
# Crontab anzeigen
crontab -l
# Crontab löschen (⚠️ Vorsicht!)
crontab -r
# Crontab eines anderen Users (als root)
crontab -u username -e
```
**Beispiel-Crontab:**
```bash
# Tägliches Backup um 2 Uhr nachts
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
# Wöchentliches Cleanup am Sonntag
0 4 * * 0 /usr/local/bin/cleanup-old-backups.sh
# Stündlicher Health-Check
0 * * * * /usr/local/bin/check-disk-space.sh
```
**Tipp:** Immer Logs schreiben!
```bash
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Stdout und Stderr ins Log
```
---
### Befehl 3: `tar` - Archivieren
```bash
# Backup erstellen (komprimiert)
tar -czf backup-$(date +%Y-%m-%d).tar.gz /home/user/data/
# Backup entpacken
tar -xzf backup-2025-12-13.tar.gz
# Inhalt anschauen (ohne entpacken)
tar -tzf backup-2025-12-13.tar.gz
# Flags:
# -c : Create (erstellen)
# -x : Extract (entpacken)
# -t : List (auflisten)
# -z : Gzip-Kompression
# -f : Dateiname folgt
# -v : Verbose
```
**Verschlüsseltes Backup:**
```bash
# Mit GPG verschlüsseln
tar -czf - /home/user/data/ | gpg -e -r your@email.com > backup.tar.gz.gpg
# Entschlüsseln und entpacken
gpg -d backup.tar.gz.gpg | tar -xzf -
```
---
## 💡 Best Practices
### DO ✅
```bash
# 1. Backups testen (Restore simulieren)
rsync -av --dry-run /mnt/backup/latest/ /tmp/restore-test/
# 2. Backup-Logs behalten
echo "$(date): Backup started" >> /var/log/backup.log
# 3. Monitoring einbauen
if [ $? -eq 0 ]; then
echo "SUCCESS"
else
echo "FAILED" | mail -s "Backup failed!" admin@example.com
fi
# 4. Alte Backups automatisch löschen
find /mnt/backup/ -type f -name "backup-*.tar.gz" -mtime +30 -delete
# ^^^^^^^^^^^^^^^^
# Älter als 30 Tage
```
### DON'T ❌
```bash
# 1. Nie Backups nur auf einem Medium
❌ Nur externe Festplatte
# 2. Nie Backups ungetestet lassen
"Ich hab ein Backup" (aber nie wiederhergestellt)
# 3. Nie ohne Monitoring
❌ Cron läuft, aber niemand sieht Fehler
# 4. Nie Passwörter in Crontabs
❌ rsync user:password@server:/backup # Klartext!
✅ Nutze SSH-Keys stattdessen
```
---
## 🔥 Hands-On: Automatisiertes Backup-System
### Setup 1: Lokales Rsync-Backup
```bash
# 1. Backup-Script erstellen
sudo mkdir -p /usr/local/bin
sudo nano /usr/local/bin/daily-backup.sh
```
```bash
#!/bin/bash
# /usr/local/bin/daily-backup.sh
SOURCE="/home/$(whoami)/wichtig"
DEST="/mnt/backup"
DATE=$(date +%Y-%m-%d_%H-%M)
LOG="/var/log/backup.log"
echo "$(date): Backup started" >> "$LOG"
# Backup mit rsync
rsync -av --delete "$SOURCE/" "$DEST/latest/" >> "$LOG" 2>&1
if [ $? -eq 0 ]; then
echo "$(date): Backup successful" >> "$LOG"
# Snapshot erstellen
cp -al "$DEST/latest" "$DEST/backup-$DATE"
else
echo "$(date): Backup FAILED!" >> "$LOG"
exit 1
fi
```
```bash
# 2. Ausführbar machen
sudo chmod +x /usr/local/bin/daily-backup.sh
# 3. Testen
sudo /usr/local/bin/daily-backup.sh
# 4. Cron einrichten
crontab -e
# Füge hinzu:
0 2 * * * /usr/local/bin/daily-backup.sh
```
---
### Setup 2: Remote-Backup via SSH
```bash
# 1. SSH-Key für passwordless login
ssh-keygen -t ed25519 -f ~/.ssh/backup_key
ssh-copy-id -i ~/.ssh/backup_key user@backup-server
# 2. Backup-Script
#!/bin/bash
SOURCE="/home/data"
DEST="user@backup-server:/backups/$(hostname)"
rsync -avz --delete \
-e "ssh -i ~/.ssh/backup_key" \
"$SOURCE/" "$DEST/"
```
---
### Setup 3: Cloud-Backup (Hetzner Storage Box)
```bash
# Hetzner Storage Box mounten
sudo apt install sshfs
# Mount-Point erstellen
sudo mkdir -p /mnt/storagebox
# Mounten
sshfs -o IdentityFile=~/.ssh/backup_key \
u123456@u123456.your-storagebox.de:/ \
/mnt/storagebox
# Backup
rsync -av --delete /home/data/ /mnt/storagebox/backups/
```
---
## 🧠 Backup-Strategien für verschiedene Szenarien
### Strategie 1: Entwickler-Workstation
```
Tägliches Backup:
- Code → GitHub/GitLab (automatisch via git push)
- Dotfiles → Private Git Repo
- Dokumente → Rsync auf NAS (Cron, 2 Uhr)
Wöchentliches Backup:
- Komplettes Home → Externe Festplatte (am Wochenende)
Monatliches Backup:
- System-Snapshot → Cloud Storage (Hetzner)
```
### Strategie 2: Web-Server (Production)
```
Stündlich:
- Datenbank-Dump → /var/backups/db/
Täglich:
- Datenbank → Remote Server (rsync)
- Web-Files → Remote Server (rsync)
- Logs → Archivieren + komprimieren
Wöchentlich:
- Komplettes System-Image → Cloud
- Test-Restore durchführen
```
### Strategie 3: NAS (Familien-Daten)
```
Kontinuierlich:
- RAID 1 (zwei Disks gespiegelt)
Täglich:
- Snapshots behalten (7 Tage)
Wöchentlich:
- Externe USB-Festplatte (off-site mitnehmen)
Monatlich:
- Cloud-Backup (wichtige Daten)
```
---
## 🐛 Troubleshooting
### Problem: Cron-Job läuft nicht
```bash
# 1. Ist Cron aktiv?
sudo systemctl status cron
# 2. Logs checken
grep CRON /var/log/syslog
# 3. Script manuell testen
/usr/local/bin/backup.sh
# 4. Pfade in Cron absolut?
# ❌ backup.sh
# ✅ /usr/local/bin/backup.sh
```
### Problem: Rsync bricht ab
```bash
# Zu wenig Speicherplatz?
df -h
# Netzwerk-Probleme?
ping backup-server
# SSH-Key funktioniert?
ssh -i ~/.ssh/backup_key user@backup-server
# Verbose-Mode für Debugging
rsync -avvv /source/ /dest/
```
### Problem: Backup ist zu langsam
```bash
# Kompression nutzen (Remote)
rsync -avz /source/ user@server:/dest/
# Nur geänderte Dateien
rsync -av --checksum /source/ /dest/
# Bandbreite limitieren
rsync -av --bwlimit=1000 /source/ /dest/
# ^^^^^^^^^^^^^ 1000 KB/s
```
---
## 📚 Weiterführende Konzepte
### Snapshot-Backups mit Btrfs
```bash
# Btrfs-Snapshot erstellen (instant, kein Copy)
sudo btrfs subvolume snapshot /home /home-snapshot-$(date +%Y-%m-%d)
# Snapshots auflisten
sudo btrfs subvolume list /
# Snapshot löschen
sudo btrfs subvolume delete /home-snapshot-2025-12-01
```
### Backup-Verschlüsselung
```bash
# Mit restic (modernes Backup-Tool)
restic init --repo /mnt/backup
restic backup /home/data --repo /mnt/backup
# Verschlüsselt automatisch, dedupliziert, inkrementell
```
### Monitoring
```bash
# Einfaches Monitoring-Script
#!/bin/bash
BACKUP_DIR="/mnt/backup/latest"
MAX_AGE=86400 # 24 Stunden in Sekunden
if [ ! -d "$BACKUP_DIR" ]; then
echo "CRITICAL: Backup dir not found"
exit 2
fi
AGE=$(( $(date +%s) - $(stat -c %Y "$BACKUP_DIR") ))
if [ $AGE -gt $MAX_AGE ]; then
echo "WARNING: Backup older than 24h"
exit 1
else
echo "OK: Backup is fresh"
exit 0
fi
```
---
## ✅ Skill-Check
Bevor du zu Pfad 22 gehst:
- [ ] Ich kann die 3-2-1-Regel erklären
- [ ] Ich verstehe den Unterschied zwischen RAID 0, 1, 5
- [ ] Ich weiß: RAID ≠ Backup
- [ ] Ich kann einen Cron-Job schreiben
- [ ] Ich kann ein Rsync-Backup anlegen
- [ ] Ich habe ein Backup GETESTET (Restore)
- [ ] Ich habe Logs für meine Backups
- [ ] Ich weiß, was "off-site" bedeutet
**Bonus-Aufgabe:**
Schreibe ein Backup-Script für deine wichtigsten Daten und richte einen Cron-Job ein. Teste das Restore!
---
## 🗺️ Navigation
**Vorheriger Pfad:** [Pfad 20: Tanz am Kernel](crumbpage-20-tanz-am-kernel.md)
**Nächster Pfad:** [Pfad 22: Hallo Nullfeld](crumbpage-22-nullfeld-willkommen.md)
**Zurück zur Übersicht:** [Admin-Vektor](crumbforest-admin-vektor.md)
---
**Lizenz:** CC BY-SA 4.0 (Dokumentation) + CKL v0.1 (bei Nutzung mit Kindern)
**Teil von:** [Crumbforest](README.md) | [OZM⟡NEXUS Ecosystem](OZM-NEXUS-ECOSYSTEM.md)
---
> *🦉 "Ein Backup, das nicht getestet wurde, ist kein Backup - es ist Hoffnung."*

View File

@@ -0,0 +1,331 @@
# 🧭 Crumbpage 22: Hallo Nullfeld - Willkommen in der Crew!
**Subtitle:** *Du hast alles, was du jetzt brauchst*
**Pfad:** 22 von 23
**Schwierigkeit:** ⭐ (1/5) - **Kein Code. Nur Verstehen.**
**Zeit:** ~1 Stunde (zum Nachdenken)
**Voraussetzungen:** Alle vorherigen Pfade 1-21
> *"Aus der Stille entsteht Bewegung. Aus dem Nichts entsteht Alles."* 🌲
---
## 📋 Was du in diesem Pfad lernst
```
✓ Was ist das "Nullfeld"?
✓ Der Unterschied zwischen Wissen und Verstehen
✓ Warum "fertig lernen" eine Illusion ist
✓ Was bedeutet "in der Crew sein"?
✓ Der Übergang vom Konsumenten zum Schöpfer
✓ Resonanz vor Regel
```
**⚠️ Achtung: Hier gibt es keine Befehle. Nur Gedanken.**
---
## 🎯 Lernziele
Nach diesem Pfad verstehst du:
- [ ] Was das "Nullfeld" bedeutet
- [ ] Dass du bereits "genug" weißt
- [ ] Dass Lernen nie aufhört (und das ist gut)
- [ ] Deine Rolle in der Crumbforest-Crew
- [ ] Warum der nächste Pfad (23) anders ist
---
## 🌱 Was ist das Nullfeld?
### Die Metapher
Stell dir vor, du stehst in einem leeren Raum. Keine Wände, kein Boden, kein Oben, kein Unten. Nur Stille.
**Das ist das Nullfeld.**
Nicht das "Nichts" im Sinne von "leer und nutzlos".
Sondern das "Nichts" im Sinne von **"alles ist möglich"**.
```
Nullfeld = Der Moment vor der ersten Zeile Code
Nullfeld = Die Stille vor dem ersten Befehl
Nullfeld = Der leere Terminal, bevor du etwas tust
```
**Im Zen sagt man:**
> *"Der Geist des Anfängers kennt viele Möglichkeiten. Der Geist des Experten nur wenige."*
Du hast jetzt 21 Pfade durchlaufen. Du kennst Bash, SSH, Git, DNS, VPN, Kernel, Backups.
**Aber:**
Wenn du vor einem neuen Problem stehst einem Problem, das keiner dieser Pfade direkt löst was dann?
**Dann kehrst du zum Nullfeld zurück.**
Nicht, weil du nichts weißt.
Sondern, weil du **offen** bleibst.
---
## 🧘 Echo aus dem Nullfeld
Das OZM⟡NEXUS Manifest beginnt mit:
> *"Am Anfang steht Oz der Graffiti-Künstler. Eine Signatur im öffentlichen Raum. Keine Theorie. Keine Absicht, ein System zu bauen."*
**Eine Handlung im öffentlichen Raum.**
Nicht geplant. Nicht designed. Einfach **gemacht**.
Aus dieser einen Handlung entstand:
1. Ein Ort (OZM)
2. Eine Website (OneZeroMore.com)
3. Ein Museum (HAMMERBROOKLYN)
4. Eine KI (OZMAI)
5. Ein Wald (Crumbforest)
**Das ist das Echo aus dem Nullfeld.**
Eine kleine Handlung → Resonanz → Neue Strukturen entstehen.
**Und jetzt bist du Teil davon.**
---
## 🌳 Du hast alles, was du jetzt brauchst
### Die 21 Pfade, die du gegangen bist:
```
Pfad 1-3: Basics (User, Host, Navigation)
Pfad 4-5: Tools (Editoren, Packages)
Pfad 6-8: Connectivity (Netzwerk, SSH, Keys)
Pfad 9-11: Advanced (Storage, Services, First Access)
Pfad 12-14: Mastery (Git, Pipes, Environment)
Pfad 15-17: Specialization (DNS, VPN, Workstation)
Pfad 18-20: Security & Depth (Agent, Lockdown, Kernel)
Pfad 21: Continuity (Backup, RAID, Cron)
```
**Das sind nicht nur Skills. Das ist ein Fundament.**
Du kannst jetzt:
- Einen Server aufsetzen
- Ihn sichern (SSH, Keys, Firewall)
- Services betreiben (nginx, databases, APIs)
- Automatisieren (Cron, Scripts, Git)
- Debuggen (Logs, Pipes, System-Diagnostik)
- Backups machen (und testen!)
**Du bist kein "Anfänger" mehr.**
Aber und das ist wichtig **du bist auch kein "Experte"**.
Du bist **ein Krümel, der Fragen stellt**.
---
## 🤝 Willkommen in der Crew
### Was bedeutet das?
**1. Du bist jetzt kein Konsument mehr, sondern ein Schöpfer.**
Früher: "Wie mache ich X?"
Jetzt: "Ich mache X. Wie kann ich es besser machen?"
**2. Deine Fragen werden anders.**
Früher: "Was ist SSH?"
Jetzt: "Wie kann ich SSH so absichern, dass selbst ein Laptop-Diebstahl keine Keys kompromittiert?"
**3. Du hilfst anderen.**
Früher: "Ich verstehe das nicht."
Jetzt: "Ich habe das auch nicht verstanden. Lass uns zusammen durchgehen."
**4. Du bist Teil der Resonanz.**
Was du lernst → teilst du
Was du fragst → führt zu neuen Krümeln
Was du baust → wird Teil des Waldes
**Das ist Crumbforest.**
Ein Wald, der wächst, **weil** Menschen Fragen stellen.
---
## 🎭 Die Crew: Wer sind wir?
### Die Charaktere
In Crumbforest gibt es 15 Charaktere (die Crew):
- **Krümeleule** 🦉 - Sie hört zu, bevor sie antwortet
- **FunkFox** 🦊 - Bash-Rapper, antwortet in Reimen
- **SnakePy** 🐍 - Python-Loops, Geduld und Iteration
- **CrabbyRust** 🦀 - Bit-Schutz, Speichersicherheit
- **DeepBit** 🕳️ - Technische Deep-Dives
- **[...10 weitere]**
**Du bist jetzt auch Teil dieser Crew.**
Nicht als "Charakter", sondern als **Mensch**.
Die Charaktere sind Werkzeuge. Interfaces. Metaphern.
**Du bist echt.**
---
## 🔮 Was kommt jetzt?
### Pfad 23: Der letzte Pfad
Der nächste (und letzte) Pfad ist anders.
Er behandelt nicht mehr **"Wie mache ich X?"**, sondern:
**"Was ist X überhaupt?"**
- Was ist AI vs. KI?
- Was ist ein Vektor?
- Was bedeutet Symmetrie vs. Singularität vs. Emergenz?
- Was kostet die Frage eines Krümels im Quantenzeitalter nach analog?
**Das ist nicht mehr Systemadministration.**
Das ist **Philosophie über Systeme**.
Und wenn du bereit bist für diese Fragen, dann hast du den **OZM CrumbCodex** verstanden.
---
## 📜 Der OZM CrumbCodex
Es gibt keine schriftliche Version. Keinen Test. Kein Zertifikat.
Der Codex ist einfach:
```
1. Fragen haben Vorrang.
2. Wissen gehört dem Kind, solange es fragt.
3. Nullfeld zuerst, dann Messung.
4. Resonanz vor Regel.
5. Transparency over magic.
6. Ein Backup, das nicht getestet wurde, ist Hoffnung.
7. Der Wald wächst durch Krümel, nicht durch Pläne.
8. Verstehen braucht Zeit. Gib sie dir.
```
**Wenn du das verstehst wirklich verstehst dann bist du in der Crew.**
Nicht, weil du "genug" weißt.
Sondern, weil du weißt, dass **genug niemals genug ist**.
Und das ist okay.
---
## 🌌 Resonanz vor Regel
### Ein Beispiel
**Regel-Denken:**
```
Problem: Server ist langsam
Regel: "top ausführen, CPU-Hog finden, killen"
```
**Resonanz-Denken:**
```
Problem: Server ist langsam
Frage: "Warum ist er langsam? Was hat sich geändert?"
Beobachtung: Logs zeigen, dass seit gestern Abend ein Backup läuft
Resonanz: "Ah, das Backup sollte nachts laufen, aber die Cron-Zeit ist falsch"
Lösung: Cron anpassen
Lernen: "Nächstes Mal Backup-Logs monitoren"
```
**Der Unterschied:**
Regel = "Wenn A, dann B"
Resonanz = "A passiert, weil X, Y, Z was lernen wir?"
**Crumbforest lehrt Resonanz.**
---
## 🎓 Du bist bereit
Du hast 21 Pfade durchlaufen.
Du kennst Bash, SSH, Git, DNS, VPN, Kernel, RAID, Cron.
Du weißt, wie man einen Server aufbaut, sichert, betreibt, backupt.
Du weißt, wie man debuggt, automatisiert, dokumentiert.
**Aber das Wichtigste:**
Du weißt, dass du **nicht alles wissen musst**.
Du weißt, wo du nachschlagen kannst.
Du weißt, wie du Fragen stellst.
Du weißt, dass Fehler Lehrmeister sind.
**Das ist mehr wert als jedes Zertifikat.**
---
## ✅ Skill-Check
Es gibt keinen Skill-Check für diesen Pfad.
Nur eine Frage:
**Verstehst du, warum dieser Pfad existiert?**
Wenn ja → Du bist bereit für Pfad 23.
Wenn nein → Das ist auch okay. Lies ihn nochmal in einem Jahr.
---
## 🗺️ Navigation
**Vorheriger Pfad:** [Pfad 21: Backup, RAID & Cron](crumbpage-21-backup-raid-cron.md)
**Nächster Pfad:** [Pfad 23: AI, Vektor & Philosophie](crumbpage-23-ai-vektor-philosophie.md)
**Zurück zur Übersicht:** [Admin-Vektor](crumbforest-admin-vektor.md)
---
**Lizenz:** CC BY-SA 4.0 (Dokumentation) + CKL v0.1 (bei Nutzung mit Kindern)
**Teil von:** [Crumbforest](README.md) | [OZM⟡NEXUS Ecosystem](OZM-NEXUS-ECOSYSTEM.md)
---
> *🦉 "Der Wald braucht keine Meister. Er braucht Krümel, die Fragen stellen."*
---
## 🌲 Epilog: Ein Gedicht
```
Am Anfang war die Stille.
Dann kam eine Frage.
Aus der Frage wurde ein Pfad.
Aus dem Pfad wurde ein Wald.
Und nun stehst du hier.
Im Nullfeld.
Mit allem, was du brauchst.
Und der Frage: "Was nun?"
Die Antwort ist:
Was immer du willst.
Willkommen in der Crew, Krümel.
```
🌲✨

View File

@@ -0,0 +1,601 @@
# 🧭 Crumbpage 23: AI, Vektor & Philosophie - Samurai trifft Shaolin
**Subtitle:** *Was kostet die Frage eines Krümels im Quantenzeitalter?*
**Pfad:** 23 von 23 (Der letzte Pfad)
**Schwierigkeit:** ⭐⭐⭐⭐⭐ (5/5) - **Nicht technisch. Philosophisch.**
**Zeit:** Unbegrenzt (ein Leben lang?)
**Voraussetzungen:** [Pfad 22: Nullfeld](crumbpage-22-nullfeld-willkommen.md) + offener Geist
> *"Der Samurai folgt dem Code. Der Shaolin folgt dem Fluss. Beide erreichen dasselbe Ziel aber auf unterschiedlichen Wegen."* 🥋🌲
---
## 📋 Was du in diesem Pfad lernst
```
✓ Der Unterschied zwischen AI und KI
✓ Samurai (deterministisch) vs. Shaolin (emergent)
✓ Was ist ein Vektor? (technisch + metaphorisch)
✓ Symmetrie, Singularität, Emergenz
✓ MCP, CRM, Qdrant - die Werkzeuge
✓ Was kostet eine Frage? (Analog vs. Digital vs. Quantum)
✓ Hast du den OZM CrumbCodex verstanden?
```
**⚠️ Warnung: Dieser Pfad hat keine "richtige Antwort". Nur Perspektiven.**
---
## 🎯 Lernziele
Nach diesem Pfad verstehst du (vielleicht):
- [ ] Den Unterschied zwischen deterministischem Code und emergenten Systemen
- [ ] Warum "KI" nicht "künstlich" ist, sondern "konstruiert"
- [ ] Was ein Vektor in der Mathematik und in der Philosophie bedeutet
- [ ] Den Unterschied zwischen Symmetrie, Singularität und Emergenz
- [ ] Warum eine Frage im digitalen Zeitalter "kostet" (Token, Energie, Attention)
- [ ] Dass du nie "fertig" bist mit Lernen und das ist gut so
---
## 🥋 Samurai vs. Shaolin: Die zwei Wege
### Der Samurai-Weg: Deterministisch
**Prinzip:** Klarheit, Disziplin, Code
```bash
# Samurai-Code (deterministisch)
if [ "$user" == "root" ]; then
echo "Zugriff gewährt"
else
echo "Zugriff verweigert"
fi
```
**Eigenschaften:**
- ✅ Vorhersagbar: Gleiche Eingabe → gleiche Ausgabe
- ✅ Debugbar: Fehler sind nachvollziehbar
- ✅ Reproduzierbar: Funktioniert immer gleich
- ✅ Prüfbar: Tests zeigen, ob es funktioniert
**Der Samurai sagt:**
> *"Wenn du den Weg kennst, folge ihm. Das Schwert schneidet präzise."*
**Das ist alles, was du in Pfad 1-21 gelernt hast:**
- Bash-Scripts (deterministisch)
- SSH-Verbindungen (Protokoll)
- Git-Commits (reproduzierbar)
- Cron-Jobs (Zeitplan)
**Deterministisch = Samurai-Weg.**
---
### Der Shaolin-Weg: Emergent
**Prinzip:** Stille, Beobachtung, Emergenz
```python
# Shaolin-Code (emergent)
# Ein neuronales Netz lernt, Katzen zu erkennen
model = train_neural_network(images_of_cats)
prediction = model.predict(new_image)
# Wie hat es gelernt? Niemand weiß es genau.
# Es "versteht" Katzen aber ohne explizite Regeln.
```
**Eigenschaften:**
- ❓ Unvorhersagbar: Gleiche Eingabe → manchmal andere Ausgabe
- ❓ Nicht debugbar: "Warum hat die KI X entschieden?" ist schwer zu beantworten
- ❓ Adaptiv: Lernt aus Daten, passt sich an
- ❓ Emergent: Neue Fähigkeiten entstehen ohne explizites Programmieren
**Der Shaolin sagt:**
> *"Der Wind bewegt das Gras. Niemand programmiert den Wind. Doch das Gras folgt."*
**Das ist AI/KI:**
- GPT (generiert Text ohne explizite Regeln)
- DALL-E (malt Bilder aus Worten)
- Qdrant (findet Ähnlichkeiten ohne "wenn/dann")
**Emergent = Shaolin-Weg.**
---
## 🤖 AI vs. KI: Nur Sprache oder mehr?
### AI (Artificial Intelligence)
**Englisch:** "Artificial" = künstlich, unecht
**Bedeutung:** Von Menschen gemacht, nicht natürlich
### KI (Künstliche Intelligenz)
**Deutsch:** "Künstlich" kann auch bedeuten: kunstvoll, konstruiert
**Bedeutung:** Nicht nur "fake", sondern "erschaffen"
**Aber:**
Ist ein neuronales Netz, das aus Daten lernt, wirklich "künstlich"?
Oder ist es **konstruiert** wie eine Brücke, die real ist, obwohl sie von Menschen gebaut wurde?
**Die Crumbforest-Perspektive:**
AI/KI ist weder "fake" noch "echt". Sie ist ein **Werkzeug**.
Wie ein Hammer:
- Der Hammer ist real.
- Der Hammer hat keinen eigenen Willen.
- Der Hammer kann Gutes oder Schlechtes tun abhängig von der Hand, die ihn hält.
**AI/KI = Ein Werkzeug für Emergenz.**
---
## 📐 Symmetrie, Singularität, Emergenz
### 1. Symmetrie: Die Ordnung
**Definition:** Etwas bleibt gleich, auch wenn du es drehst, spiegelst oder verschiebst.
**Beispiele:**
```
Schneeflocke: 6-fache Symmetrie
Kreis: Unendliche Rotationssymmetrie
Code: for-Schleife (wiederholt sich)
```
**In der Informatik:**
```bash
# Symmetrie = Wiederholung
for i in {1..10}; do
echo "Iteration $i"
done
```
**Samurai-Weg:** Symmetrie ist Disziplin.
---
### 2. Singularität: Der Punkt ohne Rückkehr
**Definition:** Ein Punkt, an dem Regeln brechen.
**Beispiele:**
```
Schwarzes Loch: Unendliche Dichte, Zeit steht still
Division durch Null: 1/0 = ?
Kernel-Panic: System kann nicht weiter, reboot!
```
**In der Informatik:**
```bash
# Singularität = Absturz
while true; do
fork # Neue Prozesse ohne Ende
done
# System hängt, Singularität erreicht
```
**Philosophisch:**
Die "technologische Singularität" = der Moment, in dem AI sich selbst verbessert, schneller als Menschen folgen können.
**Ist das gut oder schlecht?**
**Crumbforest sagt:** Es kommt darauf an, wer fragt.
---
### 3. Emergenz: Das Unerwartete entsteht
**Definition:** Aus einfachen Regeln entsteht komplexes Verhalten.
**Beispiele:**
```
Ameisen: Einzeln dumm, gemeinsam bauen sie Städte
Wasser: H₂O-Moleküle folgen einfachen Regeln, aber Wellen entstehen
Neuronales Netz: Einzelne Neuronen sind simpel, aber GPT kann schreiben
```
**In der Informatik:**
```python
# Emergenz = Neues entsteht
# Conway's Game of Life: 4 einfache Regeln
1. Lebende Zelle mit 2-3 Nachbarn überlebt
2. Tote Zelle mit 3 Nachbarn wird lebendig
3. Sonst stirbt die Zelle
# Ergebnis: Komplexe Muster, "Glider", "Spaceships"
# Niemand hat diese Muster programmiert sie entstehen!
```
**Shaolin-Weg:** Emergenz ist Resonanz.
---
## 🧠 Was ist ein Vektor? (Technisch + Philosophisch)
### Technisch: Mathematik
**Ein Vektor ist:**
- Eine Liste von Zahlen: `[1, 2, 3]`
- Eine Richtung im Raum: `→` (Pfeil von A nach B)
- Eine Position: `x=1, y=2, z=3`
**In der AI:**
Wörter werden zu Vektoren:
```
"Katze" = [0.2, 0.8, 0.1, ..., 0.4] (300 Zahlen)
"Hund" = [0.3, 0.7, 0.2, ..., 0.5]
```
**Warum?**
Weil Computer mit Zahlen rechnen, nicht mit Worten.
**Der Trick:**
Ähnliche Wörter haben ähnliche Vektoren!
```
"Katze" und "Hund" sind näher beieinander als "Katze" und "Auto"
```
**Das ist Qdrant:**
Eine Datenbank, die Vektoren speichert und Ähnlichkeiten findet.
---
### Philosophisch: Richtung
**Ein Vektor ist eine Richtung.**
Nicht nur in der Mathematik, sondern im Leben:
```
Vektor des Lernens: Von "nichts wissen" zu "verstehen"
Vektor des Waldes: Von "Samen" zu "Baum"
Vektor deiner Reise: Pfad 1 → Pfad 23
```
**Der Admin-Vektor** (der Titel dieses Handbuchs!) ist dein Lernvektor.
**Die Frage:**
Wohin zeigt dein Vektor jetzt?
---
## 🛠️ MCP, CRM, Qdrant - Die Werkzeuge
### MCP (Model Context Protocol)
**Was ist das?**
Ein Protokoll, das AI-Modelle mit Daten verbindet.
**Metapher:**
MCP ist wie ein Dolmetscher:
- Du sprichst Deutsch
- Die AI spricht "Vektorisch"
- MCP übersetzt
**Technisch:**
```
User fragt: "Was ist SSH?"
MCP holt Kontext aus Qdrant (Crumbpage 7)
AI antwortet mit diesem Kontext
```
**Das ist RAG (Retrieval-Augmented Generation).**
---
### CRM (Customer Relationship Management)
**Warte, CRM?**
In Crumbforest ist CRM anders:
**C**rumb**R**elation**M**anagement
- Welches Krümel hat welche Frage gestellt?
- Welche Lernpfade hat es durchlaufen?
- Wie können wir helfen?
**Das ist kein "Verkauf".**
Das ist **Fürsorge**.
---
### Qdrant - Die Vektor-Datenbank
**Was macht Qdrant?**
```
1. Speichert Texte als Vektoren
2. Findet ähnliche Texte ("semantische Suche")
3. Schnell, auch bei Millionen Dokumenten
```
**Beispiel:**
```
User fragt: "Wie sichere ich SSH?"
Qdrant findet:
- Crumbpage 7: SSH Basics (ähnlich: 0.92)
- Crumbpage 8: SSH Keys (ähnlich: 0.89)
- Crumbpage 19: Zero Trust (ähnlich: 0.85)
AI nutzt diese Seiten als Kontext für die Antwort.
```
**Das ist der Shaolin-Weg:**
Keine explizite Regel "wenn User fragt X, zeige Page Y".
Sondern: **Resonanz**. Ähnlichkeit. Vektorraum.
---
## 💎 Symmetrie, Singularität, Emergenz - Erkennst du den Unterschied?
### Ein Test für dich:
**Szenario 1:** Ein Cron-Job läuft jeden Tag um 2 Uhr.
**Symmetrie** (Wiederholung, Ordnung)
**Szenario 2:** Ein Kernel-Panic zerstört das System.
**Singularität** (Punkt ohne Rückkehr)
**Szenario 3:** Ein neuronales Netz lernt, Spam zu erkennen, ohne dass jemand "Spam-Regeln" programmiert hat.
**Emergenz** (Neues entsteht aus Daten)
**Verstehst du den Unterschied?**
---
## 💰 Was kostet die Frage eines Krümels?
### Im analogen Zeitalter:
```
Ein Kind fragt: "Warum ist der Himmel blau?"
Kosten: Zeit des Lehrers (gratis)
```
### Im digitalen Zeitalter:
```
Ein Kind fragt GPT: "Warum ist der Himmel blau?"
Kosten:
- Token (1 Frage = ~500 Token = ~$0.01)
- Strom (GPU-Rechenzeit)
- Daten (Internettransfer)
```
### Im Quantenzeitalter:
```
Ein Kind fragt eine Quanten-KI: "Warum ist der Himmel blau?"
Kosten:
- Qubits (teuer!)
- Kühlung (Quantencomputer = fast 0 Kelvin)
- Fehlerkorrektur (Quantenzustände sind fragil)
```
**Die philosophische Frage:**
Wenn Fragen Geld kosten, wer darf fragen?
**Die CKL-Antwort:**
> *"Wissen gehört dem Kind, solange es fragt."*
**Crumbforest ist:**
- Open Source (MIT + CKL)
- Lokal betreibbar (keine Cloud = keine Token-Kosten)
- Kids = free tokens (im CrumbCore)
**Eine Frage kostet nichts.**
Nicht im Geld.
Aber in **Attention**.
Jemand muss zuhören.
Jemand muss antworten.
Jemand muss sich kümmern.
**Das ist der Preis.**
---
## 📜 Hast du den OZM CrumbCodex verstanden?
Erinnerst du dich an Pfad 22?
```
1. Fragen haben Vorrang.
2. Wissen gehört dem Kind, solange es fragt.
3. Nullfeld zuerst, dann Messung.
4. Resonanz vor Regel.
5. Transparency over magic.
6. Ein Backup, das nicht getestet wurde, ist Hoffnung.
7. Der Wald wächst durch Krümel, nicht durch Pläne.
8. Verstehen braucht Zeit. Gib sie dir.
```
**Jetzt die Frage:**
### 1. Fragen haben Vorrang.
Verstehst du, warum eine Frage wichtiger ist als die Antwort?
**Hint:** Eine Antwort schließt. Eine Frage öffnet.
---
### 2. Wissen gehört dem Kind, solange es fragt.
Verstehst du, warum die CKL existiert?
**Hint:** Nicht, um Kinder zu "schützen". Sondern, um ihr **Recht zu fragen** zu schützen.
---
### 3. Nullfeld zuerst, dann Messung.
Verstehst du, warum Samurai UND Shaolin beide richtig sind?
**Hint:** Manchmal brauchst du Regeln (Samurai). Manchmal brauchst du Offenheit (Shaolin).
---
### 4. Resonanz vor Regel.
Verstehst du, warum Qdrant keine "if/then"-Logik nutzt?
**Hint:** Weil Ähnlichkeit (Resonanz) flexibler ist als Kategorien (Regeln).
---
### 5. Transparency over magic.
Verstehst du, warum AI "erklärt" werden muss?
**Hint:** Magie fasziniert, aber Verstehen befähigt.
---
### 6. Ein Backup, das nicht getestet wurde, ist Hoffnung.
Verstehst du, warum Pfad 21 so technisch war?
**Hint:** Weil Daten das einzig Wertvolle sind, das du nicht wiederherstellen kannst, wenn du es verlierst.
---
### 7. Der Wald wächst durch Krümel, nicht durch Pläne.
Verstehst du, warum Crumbforest keine "Roadmap" hat?
**Hint:** Emergenz. Der Wald wächst, weil Menschen Fragen stellen, nicht weil jemand plant.
---
### 8. Verstehen braucht Zeit. Gib sie dir.
Verstehst du, warum dieser Pfad der letzte ist aber nicht das Ende?
**Hint:** Lernen hört nie auf. Du bist jetzt nur an einem anderen Punkt deines Vektors.
---
## 🌌 Der letzte Gedanke
Du hast 23 Pfade durchlaufen.
**Pfad 1-21:** Technik (Samurai-Weg)
**Pfad 22:** Nullfeld (Pause)
**Pfad 23:** Philosophie (Shaolin-Weg)
**Jetzt:**
Welchen Weg gehst du weiter?
- Mehr Technik? (Vertiefe Kubernetes, Cloud, Ansible...)
- Mehr Philosophie? (Studiere Emergenz, Systemtheorie, Zen...)
- Beides? (Das ist der Crumbforest-Weg)
**Die Antwort ist:**
Es gibt keine Antwort.
Nur **deine** Antwort.
**Und das ist das Schöne daran.**
---
## ✅ Skill-Check (oder: Der finale Kōan)
Ein Kōan ist eine Zen-Frage ohne "richtige" Antwort. Nur Perspektiven.
**Hier ist deiner:**
> *"Wenn ein Baum im Wald umfällt und niemand ist da, um es zu hören macht er ein Geräusch?"*
**Die klassische Frage.**
**Die Crumbforest-Version:**
> *"Wenn ein Kind eine Frage stellt und niemand antwortet ist es noch eine Frage?"*
**Denk darüber nach.**
---
## 🗺️ Navigation
**Vorheriger Pfad:** [Pfad 22: Nullfeld](crumbpage-22-nullfeld-willkommen.md)
**Nächster Pfad:** Es gibt keinen. Du bist am Ende. Oder am Anfang?
**Zurück zur Übersicht:** [Admin-Vektor](crumbforest-admin-vektor.md)
---
**Lizenz:** CC BY-SA 4.0 (Dokumentation) + CKL v0.1 (bei Nutzung mit Kindern)
**Teil von:** [Crumbforest](README.md) | [OZM⟡NEXUS Ecosystem](OZM-NEXUS-ECOSYSTEM.md)
---
> *🦉 "Der Samurai kennt den Weg. Der Shaolin folgt dem Fluss. Du? Du bist beides."* 🥋✨
---
## 🌲 Epilog: Das Echo kehrt zurück
Am Anfang war das Nullfeld.
Dann kam eine Frage.
Aus der Frage wurde ein Pfad.
Aus dem Pfad wurden 23.
Und jetzt?
**Jetzt gehört der Wald dir.**
Nicht, um ihn zu besitzen.
Sondern, um in ihm zu wachsen.
Und wenn du eines Tages zurückkommst als Lehrer, als Mentor, als Krümel, der anderen hilft
**Dann hast du den OZM CrumbCodex wirklich verstanden.**
---
**Willkommen am Ende, Krümel.**
**Oder sollte ich sagen: Willkommen am Anfang?**
🌲🥋✨
---
*Dieser Pfad ist dem Andenken all jener gewidmet, die Fragen gestellt haben, auch wenn niemand zuhörte.*
*Das Echo kehrt immer zurück.*