feat(claude): Add comprehensive project context and development rules

- CLAUDE.md: Complete project context with SSH connection, 49 services,
  all URLs (including SDK modules), tech stack, and core principles
- open-source-policy.md: License whitelist, SBOM workflow, dependency checks
- compliance-checklist.md: DSGVO/AI Act checklists, 5-question quick check
- debug-framework.md: 6-phase systematic debugging with Breakpilot-specific commands

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
BreakPilot Dev
2026-02-08 23:38:37 -08:00
parent 1e68ccd4d0
commit f28244753f
4 changed files with 853 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
# Compliance-Checkliste
## Wann diese Checkliste anwenden?
**AUTOMATISCH bei:**
- Neuen Features mit Nutzerdaten
- Änderungen an Datenflüssen
- KI/ML-Funktionen
- Neuen API-Endpoints
- Datenbankschema-Änderungen
---
## 1. DSGVO-Check (Datenschutz-Grundverordnung)
### Rechtsgrundlage klären
| Rechtsgrundlage | Wann verwenden |
|-----------------|----------------|
| **Einwilligung (Art. 6 Abs. 1a)** | Optionale Features, Marketing, Analytics |
| **Vertragserfüllung (Art. 6 Abs. 1b)** | Kernfunktionen der Plattform |
| **Berechtigtes Interesse (Art. 6 Abs. 1f)** | Sicherheit, Betrugsprävention |
| **Rechtliche Verpflichtung (Art. 6 Abs. 1c)** | Aufbewahrungspflichten |
### Datenminimierung
- [ ] Werden nur notwendige Daten erhoben?
- [ ] Gibt es Felder, die optional sein könnten?
- [ ] Werden Daten nach Zweckerfüllung gelöscht?
### Besondere Kategorien (Art. 9)
**ACHTUNG bei:**
- Gesundheitsdaten (Krankheitstage, Atteste)
- Biometrische Daten (Gesichtserkennung, Stimme)
- Religiöse Überzeugungen
- Politische Meinungen
**Explizite Einwilligung erforderlich!**
### Minderjährige (Art. 8)
**Breakpilot-spezifisch:**
- Unter 16 Jahren: Einwilligung der Eltern
- Altersverifikation implementieren
- Kindgerechte Datenschutzerklärung
### Betroffenenrechte sicherstellen
- [ ] **Auskunft (Art. 15):** Kann der Nutzer seine Daten einsehen?
- [ ] **Berichtigung (Art. 16):** Kann der Nutzer Daten korrigieren?
- [ ] **Löschung (Art. 17):** Kann der Nutzer Löschung beantragen?
- [ ] **Datenportabilität (Art. 20):** Export in maschinenlesbarem Format?
---
## 2. AI Act Check (KI-Verordnung)
### Risikokategorie bestimmen
| Kategorie | Beispiele | Anforderungen |
|-----------|-----------|---------------|
| **Unakzeptabel** | Social Scoring, Manipulation | ❌ VERBOTEN |
| **Hochrisiko** | Bildungszugang, Prüfungsbewertung | Strenge Auflagen |
| **Begrenzt** | Chatbots, Empfehlungen | Transparenzpflicht |
| **Minimal** | Spam-Filter, Autokorrektur | Keine Auflagen |
### Breakpilot KI-Features prüfen
| Feature | Risiko | Maßnahmen |
|---------|--------|-----------|
| Klausur-OCR | Begrenzt | Transparenz, Human-in-Loop |
| KI-Korrekturvorschläge | Hochrisiko | Audit-Log, Erklärbarkeit |
| Lernempfehlungen | Begrenzt | Transparenz |
| Spracherkennung | Begrenzt | Consent, Transparenz |
### Hochrisiko-KI Anforderungen
Wenn Hochrisiko:
- [ ] Risikomanagementsystem dokumentiert
- [ ] Qualität der Trainingsdaten sichergestellt
- [ ] Technische Dokumentation vorhanden
- [ ] Audit-Logging aktiviert
- [ ] Human Oversight möglich
- [ ] Genauigkeit/Robustheit getestet
---
## 3. Technische Maßnahmen (TOM)
### Verschlüsselung
- [ ] **Transit:** TLS 1.3 für alle Verbindungen
- [ ] **Rest:** Datenbank-Verschlüsselung
- [ ] **Secrets:** Vault für Credentials
### Zugriffskontrollen
- [ ] RBAC implementiert
- [ ] Least Privilege Prinzip
- [ ] Session-Timeouts
### Audit-Logging
```python
# Beispiel: Audit-Event loggen
audit_log.info({
"action": "data_export",
"user_id": user.id,
"timestamp": datetime.utcnow(),
"data_categories": ["grades", "personal"],
"legal_basis": "Art. 20 DSGVO"
})
```
---
## 4. Dokumentationspflichten
### Bei neuen Features aktualisieren
| Dokument | URL | Wann aktualisieren |
|----------|-----|-------------------|
| VVT | https://macmini:3002/sdk/vvt | Neue Verarbeitung |
| TOM | https://macmini:3002/sdk/tom | Neue Schutzmaßnahme |
| DSFA | https://macmini:3002/sdk/dsfa | Hochrisiko-Verarbeitung |
| Löschfristen | https://macmini:3002/sdk/loeschfristen | Neue Datenkategorie |
---
## 5. Schnell-Check (5 Fragen)
Vor jedem Feature diese 5 Fragen beantworten:
1. **WER** sind die Betroffenen? (Schüler, Lehrer, Eltern)
2. **WAS** für Daten werden verarbeitet?
3. **WARUM** werden sie verarbeitet? (Rechtsgrundlage)
4. **WIE LANGE** werden sie gespeichert?
5. **WER** hat Zugriff?
Können alle 5 Fragen beantwortet werden? → Feature ist dokumentierbar.

View File

@@ -0,0 +1,99 @@
# Open Source Policy
## Lizenzprüfung (AUTOMATISCH BEI JEDER DEPENDENCY)
### Erlaubte Lizenzen ✅
| Lizenz | Typ | Kommerziell OK |
|--------|-----|----------------|
| MIT | Permissive | ✅ |
| Apache-2.0 | Permissive | ✅ |
| BSD-2-Clause | Permissive | ✅ |
| BSD-3-Clause | Permissive | ✅ |
| ISC | Permissive | ✅ |
| MPL-2.0 | Weak Copyleft | ✅ |
| LGPL-2.1 / LGPL-3.0 | Weak Copyleft | ✅ (nur linking) |
| CC0-1.0 | Public Domain | ✅ |
| Unlicense | Public Domain | ✅ |
### Verbotene Lizenzen ❌
| Lizenz | Grund |
|--------|-------|
| GPL-2.0 / GPL-3.0 | Copyleft - infiziert Projekt |
| AGPL-3.0 | Network Copyleft - SaaS-Killer |
| SSPL | Server Side Public License |
| BSL | Business Source License |
| "Non-Commercial" | Keine kommerzielle Nutzung |
| "Educational Only" | Nur für Bildung |
| Proprietary | Keine OSS |
---
## Workflow bei neuer Dependency
### 1. Vor dem Hinzufügen prüfen
```bash
# NPM Package
npm view <package> license
# Python Package
pip show <package> | grep License
# Go Module
go-licenses check <module>
```
### 2. Bei Unklarheit
- README.md des Projekts lesen
- LICENSE-Datei prüfen
- SPDX-Identifier suchen
- Im Zweifel: **NICHT verwenden**
### 3. Nach dem Hinzufügen
**SBOM aktualisieren:** https://macmini:3002/infrastructure/sbom
```bash
# SBOM generieren
cd /Users/benjaminadmin/Projekte/breakpilot-pwa
# Python
pip-licenses --format=json > sbom/python-licenses.json
# Node.js
npx license-checker --json > sbom/node-licenses.json
# Go
go-licenses csv ./... > sbom/go-licenses.csv
```
---
## Grenzfälle
### Dual-Licensed Packages
- Wenn MIT **oder** GPL angeboten wird → MIT wählen
- Dokumentieren welche Lizenz gewählt wurde
### Transitive Dependencies
- Auch indirekte Abhängigkeiten prüfen
- `npm ls`, `pip-tree`, `go mod graph`
### Fonts & Assets
- Google Fonts: ✅ (OFL)
- Font Awesome Free: ✅ (CC BY 4.0 / OFL / MIT)
- Icons8: ❌ (Attribution required, kompliziert)
---
## Checkliste bei PR/Commit
Wenn neue Dependencies hinzugefügt wurden:
- [ ] Lizenz ist in der Whitelist
- [ ] SBOM wurde aktualisiert
- [ ] Keine GPL/AGPL-Abhängigkeiten eingeschleppt
- [ ] Bei Dual-License: MIT/Apache gewählt