All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 31s
CI / test-python-backend-compliance (push) Successful in 27s
CI / test-python-document-crawler (push) Successful in 20s
CI / test-python-dsms-gateway (push) Successful in 17s
- CLAUDE.md: Voraussetzungen auf externe Hetzner-Services aktualisiert (PostgreSQL 46.225.100.82:54321, Qdrant qdrant-dev.breakpilot.ai, MinIO Hetzner) - docs-src/index.md: PostgreSQL-Zeile auf externe Instanz aktualisiert - docs-src/document-crawler/index.md: DB-Verbindung auf externe PG aktualisiert - Zusatz: training_*, ucca_*, academy_* Tabellen + update_updated_at_column() Funktion auf externe DB nachmigriert (waren beim ersten Dump nicht erfasst) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
11 KiB
11 KiB
BreakPilot Compliance - DSGVO/AI-Act SDK Platform
Entwicklungsumgebung (WICHTIG - IMMER ZUERST LESEN)
Zwei-Rechner-Setup
| Geraet | Rolle | Aufgaben |
|---|---|---|
| MacBook | Entwicklung | Claude Terminal, Code-Entwicklung, Browser (Frontend-Tests) |
| Mac Mini | Server | Docker, alle Services, Tests, Builds, Deployment |
WICHTIG: Code wird direkt auf dem MacBook in diesem Repo bearbeitet. Docker und Services laufen auf dem Mac Mini.
Entwicklungsworkflow
# 1. Code auf MacBook bearbeiten (dieses Verzeichnis)
# 2. Committen und pushen:
git push origin main && git push gitea main
# 3. Auf Mac Mini pullen (WICHTIG: git -C statt cd):
ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-compliance pull --no-rebase origin main"
# 4. Container neu bauen (WICHTIG: -f statt cd, da cd in SSH nicht funktioniert!):
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml build --no-cache <service> && /usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml up -d <service>"
# Fuer schnelle Iteration ohne Commit (rsync):
rsync -avz --exclude node_modules --exclude .next --exclude .git \
admin-compliance/ macmini:~/Projekte/breakpilot-compliance/admin-compliance/
SSH-Verbindung (fuer Docker/Tests)
# RICHTIG — cd funktioniert NICHT in SSH-Einzelbefehlen:
ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-compliance <git-cmd>"
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml <compose-cmd>"
ssh macmini "/usr/local/bin/docker exec bp-compliance-<service> <cmd>"
Voraussetzung
breakpilot-core MUSS laufen! Dieses Projekt nutzt Core-Services:
- Valkey (Session-Cache)
- Vault (Secrets)
- RAG-Service (Vektorsuche fuer Compliance-Dokumente)
- Nginx (Reverse Proxy)
Externe Services (Hetzner/meghshakka) — seit 2026-03-06:
- PostgreSQL 17 @
46.225.100.82:54321(sslmode=require) — Schemas:compliance(51),public(compliance_* + training_* + ucca_* + academy_*) - Qdrant @
qdrant-dev.breakpilot.ai(HTTPS, API-Key) - Object Storage @
nbg1.your-objectstorage.com(S3-kompatibel, TLS)
Config via .env auf Mac Mini (nicht im Repo): COMPLIANCE_DATABASE_URL, QDRANT_URL, QDRANT_API_KEY
Pruefen: curl -sf http://macmini:8099/health
Haupt-URLs (Browser auf MacBook)
Frontends
| URL | Service | Beschreibung |
|---|---|---|
| https://macmini:3007/ | Admin Compliance | SDK-Dashboard, alle Compliance-Module |
| https://macmini:3006/ | Developer Portal | API-Dokumentation fuer Kunden |
Backend-APIs
| URL | Service | Beschreibung |
|---|---|---|
| https://macmini:8002/ | Backend Compliance | Compliance APIs (DSGVO, DSR, GDPR) |
| https://macmini:8093/ | AI Compliance SDK | KI-konforme Compliance-Analyse |
Admin Compliance Module (https://macmini:3007/)
| Pfad | Modul | Beschreibung |
|---|---|---|
/dashboard |
Dashboard | Uebersicht + Catalog-Manager |
/sdk/tom |
TOM | Technisch-Organisatorische Massnahmen |
/sdk/dsfa |
DSFA | Datenschutz-Folgenabschaetzung |
/sdk/vvt |
VVT | Verzeichnis von Verarbeitungstaetigkeiten |
/sdk/loeschfristen |
Loeschfristen | Loeschfristen-Verwaltung |
/sdk/ai-act |
AI Act | KI-Verordnung Compliance |
/sdk/consent |
Consent | Einwilligungsmanagement |
/sdk/dsr |
DSR | Betroffenenrechte |
/sdk/vendor-compliance |
Vendor | Auftragsverarbeitung |
/sdk/risk-assessment |
Risiko | Risikobewertung |
/sdk/incident-response |
Vorfaelle | Datenschutz-Vorfaelle |
/sdk/training |
Schulung | Mitarbeiter-Schulungen |
/sdk/audit |
Audit | Audit-Management |
/sdk/policy-generator |
Policies | Richtlinien-Generator |
/sdk/data-mapping |
Data Map | Datenfluss-Mapping |
/developers |
Developer Portal | SDK API-Docs |
Services (10 Container)
| Service | Tech | Port | Container |
|---|---|---|---|
| admin-compliance | Next.js 15 | 3007 (via nginx) | bp-compliance-admin |
| backend-compliance | Python/FastAPI | 8002 | bp-compliance-backend |
| ai-compliance-sdk | Go/Gin | 8090→8093 | bp-compliance-ai-sdk |
| developer-portal | Next.js 15 | 3006 (via nginx) | bp-compliance-developer-portal |
| compliance-tts-service | Python/Piper TTS | 8095 | bp-compliance-tts |
| document-crawler | Python/FastAPI | 8098 | bp-compliance-document-crawler |
| dsms-node | IPFS Kubo | 4001/5001/8085 | bp-compliance-dsms-node |
| dsms-gateway | Node.js | 8082 | bp-compliance-dsms-gateway |
| docs | MkDocs/nginx | 8011 | bp-compliance-docs |
| core-wait | curl health-check | - | bp-compliance-core-wait |
compliance-tts-service
- Piper TTS + FFmpeg fuer Schulungsvideos
- Speichert Audio/Video in Hetzner Object Storage (nbg1.your-objectstorage.com)
- TTS-Modell:
de_DE-thorsten-high.onnx - Dateien:
main.py,tts_engine.py,video_generator.py,storage.py
document-crawler
- Dokument-Analyse: PDF, DOCX, XLSX, PPTX
- Gap-Analyse zwischen bestehenden Dokumenten und Compliance-Anforderungen
- IPFS-Archivierung via dsms-gateway
- Kommuniziert mit ai-compliance-sdk (LLM Gateway)
Docker-Netzwerk
Nutzt das externe Core-Netzwerk:
networks:
breakpilot-network:
external: true
name: breakpilot-network
Container-Naming: bp-compliance-*
DB search_path: compliance,core,public
Verzeichnisstruktur
breakpilot-compliance/
├── .claude/
│ ├── CLAUDE.md # Diese Datei
│ └── rules/ # Automatische Regeln
├── admin-compliance/ # Next.js Compliance Dashboard
│ ├── app/(sdk)/ # 37 SDK-Route-Dirs
│ ├── app/(admin)/ # Dashboard + Catalog-Manager
│ ├── components/sdk/ # SDKSidebar, CommandBar, ComplianceAdvisor
│ ├── components/catalog-manager/ # Shared Catalog UI
│ └── lib/sdk/ # SDK Context, Types, API-Client
├── backend-compliance/ # Python/FastAPI Backend
│ ├── compliance/ # Haupt-Package (40 Dateien)
│ │ ├── api/ # API Router
│ │ ├── db/ # DB Models
│ │ ├── services/ # Business Logic
│ │ └── data/ # Stammdaten
│ ├── consent_admin_api.py
│ ├── dsr_api.py
│ └── gdpr_api.py
├── ai-compliance-sdk/ # KI-Compliance Analyse Service
├── developer-portal/ # API-Dokumentation (Next.js)
├── breakpilot-compliance-sdk/ # SDK Package
├── consent-sdk/ # Consent SDK Package
├── pca-platform/ # Privacy Compliance Automation
├── dsms-node/ # IPFS Node
├── dsms-gateway/ # IPFS Gateway
├── scripts/ # Helper Scripts
└── docker-compose.yml # Compliance Compose (~8 Services)
Haeufige Befehle
Docker
# Compliance-Services starten (Core muss laufen!)
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml up -d"
# Einzelnen Service neu bauen
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml build --no-cache <service>"
# Service neu bauen und starten
ssh macmini "/usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml build --no-cache <service> && /usr/local/bin/docker compose -f /Users/benjaminadmin/Projekte/breakpilot-compliance/docker-compose.yml up -d <service>"
# Logs
ssh macmini "/usr/local/bin/docker logs -f bp-compliance-<service>"
# Status
ssh macmini "/usr/local/bin/docker ps --filter name=bp-compliance"
WICHTIG: Docker-Pfad auf Mac Mini ist /usr/local/bin/docker (nicht im Standard-SSH-PATH).
WICHTIG: cd funktioniert NICHT in SSH-Einzelbefehlen — immer -f <pfad>/docker-compose.yml verwenden!
Der CLAUDE.md-Entwicklungsworkflow und die Beispiele mit cd ... && sind veraltet — nie so verwenden.
Git
# Zu BEIDEN Remotes pushen (PFLICHT! — vom MacBook):
git push origin main && git push gitea main
# Auf Mac Mini pullen (RICHTIG: git -C statt cd):
ssh macmini "git -C /Users/benjaminadmin/Projekte/breakpilot-compliance pull --no-rebase origin main"
# Remotes:
# origin: lokale Gitea (macmini:3003)
# gitea: gitea.meghsakha.com:22222
Kernprinzipien
1. Open Source Policy
- NUR Open Source mit kommerziell nutzbarer Lizenz
- Erlaubt: MIT, Apache-2.0, BSD, ISC, MPL-2.0, LGPL
- VERBOTEN: GPL (ausser LGPL), AGPL, proprietaer
2. DSGVO-Compliance
- Dieses Projekt implementiert DSGVO-Tools — es muss selbst DSGVO-konform sein
- Audit-Logging fuer alle Compliance-Aktionen
- Consent-Management via Core consent-service
3. AI Act Compliance
- KI-Risikobewertung fuer alle KI-Features
- Human Oversight sicherstellen
- Transparenzpflicht bei KI-Nutzung
4. Testing & Dokumentation
- Tests sind Pflicht bei jeder Aenderung
- Compliance-Checkliste bei neuen Features durchgehen
5. Sensitive Dateien
NIEMALS aendern oder committen:
.env,.env.local, Vault-Tokens, SSL-Zertifikate*.pdf,*.docx, kompilierte Binaries, grosse Medien
Tech-Stack
| Sprache | Services |
|---|---|
| Python/FastAPI | backend-compliance, ai-compliance-sdk, pca-platform |
| TypeScript/Next.js | admin-compliance, developer-portal |
| Node.js | dsms-node, dsms-gateway, consent-sdk |
SDK-Module im Detail
Katalog-System (Shared mit Lehrer)
components/catalog-manager/— CatalogManagerContent, CatalogTable, CatalogModuleTabs, CatalogEntryFormlib/sdk/catalog-manager/— catalog-registry.ts, types.ts- 17 DSGVO/AI-Act Kataloge (dsfa, vvt-baseline, vendor-compliance, etc.)
Backend-Compliance APIs
POST/GET /api/v1/compliance/risks
POST/GET /api/v1/compliance/controls
POST/GET /api/v1/compliance/requirements
POST/GET /api/v1/compliance/evidence
POST/GET /api/v1/dsr/requests
POST/GET /api/v1/gdpr/exports
POST/GET /api/v1/consent/admin
Wichtige Dateien (Referenz)
| Datei | Beschreibung |
|---|---|
admin-compliance/app/(sdk)/ |
Alle 37 SDK-Routes |
admin-compliance/components/sdk/SDKSidebar.tsx |
SDK Navigation |
admin-compliance/components/sdk/CommandBar.tsx |
Command Palette |
admin-compliance/lib/sdk/context.tsx |
SDK State (Provider) |
backend-compliance/compliance/ |
Haupt-Package (40 Dateien) |
ai-compliance-sdk/ |
KI-Compliance Analyse |
developer-portal/ |
API-Dokumentation |