Docker Compose with 24+ services: - PostgreSQL (PostGIS), Valkey, MinIO, Qdrant - Vault (PKI/TLS), Nginx (Reverse Proxy) - Backend Core API, Consent Service, Billing Service - RAG Service, Embedding Service - Gitea, Woodpecker CI/CD - Night Scheduler, Health Aggregator - Jitsi (Web/XMPP/JVB/Jicofo), Mailpit Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
13 KiB
UCCA - Dokumentation für externe Auditoren
Systemdokumentation nach Art. 30 DSGVO
Verantwortlicher: [Name des Unternehmens] Datenschutzbeauftragter: [Kontakt] Dokumentationsstand: 2026-01-29 Version: 1.0.0
1. Zweck und Funktionsweise des Systems
1.1 Systembezeichnung
UCCA - Use-Case Compliance & Feasibility Advisor
1.2 Zweckbeschreibung
Das UCCA-System ist ein Compliance-Prüfwerkzeug, das Organisationen bei der Bewertung geplanter KI-Anwendungsfälle hinsichtlich ihrer datenschutzrechtlichen Zulässigkeit unterstützt.
Kernfunktionen:
- Automatisierte Vorprüfung von KI-Anwendungsfällen gegen EU-Regulierungen
- Identifikation erforderlicher technischer und organisatorischer Maßnahmen
- Eskalation kritischer Fälle zur menschlichen Prüfung
- Dokumentation und Nachvollziehbarkeit aller Prüfentscheidungen
1.3 Rechtsgrundlage
Die Verarbeitung erfolgt auf Basis von:
- Art. 6 Abs. 1 lit. c DSGVO - Erfüllung rechtlicher Verpflichtungen
- Art. 6 Abs. 1 lit. f DSGVO - Berechtigte Interessen (Compliance-Management)
2. Verarbeitete Datenkategorien
2.1 Eingabedaten (Use-Case-Beschreibungen)
| Datenkategorie | Beschreibung | Speicherung |
|---|---|---|
| Use-Case-Text | Freitextbeschreibung des geplanten Anwendungsfalls | Optional (Opt-in), ansonsten nur Hash |
| Domain | Branchenkategorie (z.B. "education", "healthcare") | Ja |
| Datentyp-Flags | Angaben zu verarbeiteten Datenarten | Ja |
| Automatisierungsgrad | assistiv/teil-/vollautomatisch | Ja |
| Hosting-Informationen | Region, Provider | Ja |
Wichtig: Der System speichert standardmäßig keine Freitexte, sondern nur:
- SHA-256 Hash des Textes (zur Deduplizierung)
- Strukturierte Metadaten (Checkboxen, Dropdowns)
2.2 Bewertungsergebnisse
| Datenkategorie | Beschreibung | Aufbewahrung |
|---|---|---|
| Risk Score | Numerischer Wert 0-100 | Dauerhaft |
| Triggered Rules | Ausgelöste Compliance-Regeln | Dauerhaft |
| Required Controls | Empfohlene Maßnahmen | Dauerhaft |
| Explanation | KI-generierte Erklärung | Dauerhaft |
2.3 Audit-Trail-Daten
| Datenkategorie | Beschreibung | Aufbewahrung |
|---|---|---|
| Benutzer-ID | UUID des ausführenden Benutzers | 10 Jahre |
| Timestamp | Zeitpunkt der Aktion | 10 Jahre |
| Aktionstyp | created/reviewed/decided | 10 Jahre |
| Entscheidungsnotizen | Begründungen bei Eskalationen | 10 Jahre |
3. Entscheidungslogik und Automatisierung
3.1 Regelbasierte Bewertung (Deterministische Logik)
Das System verwendet ausschließlich deterministische Regeln für Compliance-Entscheidungen. Diese Regeln sind:
- Transparent - Alle Regeln sind im Quellcode einsehbar
- Nachvollziehbar - Jede ausgelöste Regel wird dokumentiert
- Überprüfbar - Regellogik basiert auf konkreten DSGVO-Artikeln
Beispiel-Regel R-F001:
WENN:
- Domain = "education" UND
- Automation = "fully_automated" UND
- Output enthält "rankings_or_scores"
DANN:
- Severity = BLOCK
- DSGVO-Referenz = Art. 22 Abs. 1
- Begründung = "Vollautomatisierte Bewertung von Schülern ohne menschliche Überprüfung"
3.2 Keine autonomen KI-Entscheidungen
Das System trifft KEINE autonomen KI-Entscheidungen bezüglich:
- Zulässigkeit eines Anwendungsfalls (immer regelbasiert)
- Freigabe oder Ablehnung (immer durch Mensch)
- Rechtliche Bewertungen (immer durch DSB/Legal)
KI wird ausschließlich verwendet für:
- Erklärung bereits getroffener Regelentscheidungen
- Zusammenfassung von Rechtstexten
- Sprachliche Formulierung von Hinweisen
3.3 Human-in-the-Loop
Bei allen kritischen Entscheidungen ist ein menschlicher Prüfer eingebunden:
| Eskalationsstufe | Auslöser | Prüfer | SLA |
|---|---|---|---|
| E0 | Nur informative Regeln | Automatisch | - |
| E1 | Warnungen, geringes Risiko | Team-Lead | 24h |
| E2 | Art. 9-Daten, DSFA empfohlen | DSB | 8h |
| E3 | BLOCK-Regeln, hohes Risiko | DSB + Legal | 4h |
BLOCK-Entscheidungen können NICHT durch KI überschrieben werden.
4. Technische und organisatorische Maßnahmen (Art. 32 DSGVO)
4.1 Vertraulichkeit
| Maßnahme | Umsetzung |
|---|---|
| Zugriffskontrolle | RBAC mit Tenant-Isolation |
| Verschlüsselung in Transit | TLS 1.3 |
| Verschlüsselung at Rest | AES-256 (PostgreSQL, Qdrant) |
| Authentifizierung | JWT-basiert, Token-Expiry |
4.2 Integrität
| Maßnahme | Umsetzung |
|---|---|
| Audit-Trail | Unveränderlicher Verlauf aller Aktionen |
| Versionierung | Policy-Version in jedem Assessment |
| Input-Validierung | Schema-Validierung aller API-Eingaben |
4.3 Verfügbarkeit
| Maßnahme | Umsetzung |
|---|---|
| Backup | Tägliche PostgreSQL-Backups |
| Redundanz | Container-Orchestrierung mit Auto-Restart |
| Monitoring | Health-Checks, SLA-Überwachung |
4.4 Belastbarkeit
| Maßnahme | Umsetzung |
|---|---|
| Rate Limiting | API-Anfragenbegrenzung |
| Graceful Degradation | LLM-Fallback bei Ausfall |
| Ressourcenlimits | Container-Memory-Limits |
5. Datenschutz-Folgenabschätzung (Art. 35 DSGVO)
5.1 Risikobewertung
| Risiko | Bewertung | Mitigierung |
|---|---|---|
| Fehleinschätzung durch KI | Mittel | Deterministische Regeln, Human Review |
| Datenverlust | Niedrig | Backup, Verschlüsselung |
| Unbefugter Zugriff | Niedrig | RBAC, Audit-Trail |
| Bias in Regellogik | Niedrig | Transparente Regeln, Review-Prozess |
5.2 DSFA-Trigger im System
Das System erkennt automatisch, wann eine DSFA erforderlich ist:
- Verarbeitung besonderer Kategorien (Art. 9 DSGVO)
- Systematische Bewertung natürlicher Personen
- Neue Technologien mit hohem Risiko
6. Betroffenenrechte (Art. 15-22 DSGVO)
6.1 Auskunftsrecht (Art. 15)
Betroffene können Auskunft erhalten über:
- Gespeicherte Assessments mit ihren Daten
- Audit-Trail ihrer Interaktionen
- Regelbasierte Entscheidungsbegründungen
6.2 Recht auf Berichtigung (Art. 16)
Betroffene können die Korrektur fehlerhafter Eingabedaten verlangen.
6.3 Recht auf Löschung (Art. 17)
Assessments können gelöscht werden, sofern:
- Keine gesetzlichen Aufbewahrungspflichten bestehen
- Keine laufenden Eskalationsverfahren existieren
6.4 Recht auf Einschränkung (Art. 18)
Die Verarbeitung kann eingeschränkt werden durch:
- Archivierung statt Löschung
- Sperrung des Datensatzes
6.5 Automatisierte Entscheidungen (Art. 22)
Das System trifft keine automatisierten Einzelentscheidungen im Sinne von Art. 22 DSGVO, da:
- Regelauswertung ist keine rechtlich bindende Entscheidung
- Alle kritischen Fälle werden menschlich geprüft (E1-E3)
- BLOCK-Entscheidungen erfordern immer menschliche Freigabe
- Betroffene haben Anfechtungsmöglichkeit über Eskalation
7. Auftragsverarbeitung
7.1 Unterauftragnehmer
| Dienst | Anbieter | Standort | Zweck |
|---|---|---|---|
| Embedding-Service | Lokal (Self-Hosted) | EU | Vektorisierung |
| Vector-DB (Qdrant) | Lokal (Self-Hosted) | EU | Ähnlichkeitssuche |
| LLM (Ollama) | Lokal (Self-Hosted) | EU | Erklärungsgenerierung |
Hinweis: Das System kann vollständig on-premise betrieben werden ohne externe Dienste.
7.2 Internationale Transfers
Bei Nutzung von Cloud-LLM-Anbietern:
- Anthropic Claude: US (DPF-zertifiziert)
- OpenAI: US (DPF-zertifiziert)
Empfehlung: Nutzung des lokalen Ollama-Providers für sensible Daten.
8. Audit-Trail und Nachvollziehbarkeit
8.1 Protokollierte Ereignisse
| Ereignis | Protokollierte Daten |
|---|---|
| Assessment erstellt | Benutzer, Timestamp, Intake-Hash, Ergebnis |
| Eskalation erstellt | Level, Grund, SLA |
| Zuweisung | Benutzer, Rolle |
| Review gestartet | Benutzer, Timestamp |
| Entscheidung | Benutzer, Entscheidung, Begründung |
8.2 Aufbewahrungsfristen
| Datenart | Aufbewahrung | Rechtsgrundlage |
|---|---|---|
| Assessments | 10 Jahre | § 147 AO |
| Audit-Trail | 10 Jahre | § 147 AO |
| Eskalationen | 10 Jahre | § 147 AO |
| Löschprotokolle | 3 Jahre | Art. 17 DSGVO |
9. Lizenzierte Inhalte & Normen-Compliance (§44b UrhG)
9.1 Zweck
Das System enthält einen spezialisierten License Policy Engine zur Compliance-Prüfung bei der Verarbeitung urheberrechtlich geschützter Inhalte, insbesondere:
- DIN-Normen (DIN Media / Beuth Verlag)
- VDI-Richtlinien
- ISO/IEC-Standards
- VDE-Normen
9.2 Rechtlicher Hintergrund
§44b UrhG - Text und Data Mining:
"Die Vervielfältigung von rechtmäßig zugänglichen Werken für das Text und Data Mining ist zulässig."
ABER: Rechteinhaber können TDM gem. §44b Abs. 3 UrhG vorbehalten:
- DIN Media: Expliziter Vorbehalt in AGB – keine KI/TDM-Nutzung ohne Sonderlizenz
- Geplante KI-Lizenzmodelle: Ab Q4/2025 (DIN Media)
9.3 Operationsmodi im System
| Modus | Beschreibung | Lizenzanforderung |
|---|---|---|
LINK_ONLY |
Nur Verlinkung zum Original | Keine |
NOTES_ONLY |
Eigene Notizen/Zusammenfassungen | Keine (§51 UrhG) |
EXCERPT_ONLY |
Kurze Zitate (<100 Wörter) | Standard-Lizenz |
FULLTEXT_RAG |
Volltextsuche mit Embedding | Explizite KI-Lizenz |
TRAINING |
Modell-Training | Enterprise-Lizenz + Vertrag |
9.4 Stop-Lines (Automatische Sperren)
Das System blockiert automatisch folgende Kombinationen:
| Stop-Line ID | Bedingung | Aktion |
|---|---|---|
STOP_DIN_FULLTEXT_AI_NOT_ALLOWED |
DIN Media + FULLTEXT_RAG + keine KI-Lizenz | Ablehnung |
STOP_LICENSE_UNKNOWN_FULLTEXT |
Lizenz unbekannt + FULLTEXT_RAG | Warnung + Eskalation |
STOP_TRAINING_WITHOUT_ENTERPRISE |
Beliebig + TRAINING + keine Enterprise-Lizenz | Ablehnung |
9.5 License Policy Engine - Entscheidungslogik
INPUT:
├── licensed_content.present = true
├── licensed_content.publisher = "DIN_MEDIA"
├── licensed_content.license_type = "SINGLE_WORKSTATION"
├── licensed_content.ai_use_permitted = "NO"
└── licensed_content.operation_mode = "FULLTEXT_RAG"
REGEL-EVALUATION:
├── Prüfe Publisher-spezifische Regeln
├── Prüfe Lizenztyp vs. gewünschter Modus
├── Prüfe AI-Use-Flag
└── Bestimme maximal zulässigen Modus
OUTPUT:
├── allowed: false
├── max_allowed_mode: "NOTES_ONLY"
├── required_controls: ["CTRL-LICENSE-PROOF", "CTRL-NO-CRAWLING-DIN"]
├── gaps: ["GAP_DIN_MEDIA_WITHOUT_AI_LICENSE"]
├── stop_lines: ["STOP_DIN_FULLTEXT_AI_NOT_ALLOWED"]
└── explanation: "DIN Media verbietet KI-Nutzung ohne explizite Lizenz..."
9.6 Erforderliche Controls bei lizenzierten Inhalten
| Control ID | Beschreibung | Evidence |
|---|---|---|
CTRL-LICENSE-PROOF |
Lizenznachweis dokumentieren | Lizenzvertrag, Rechnung |
CTRL-LICENSE-GATED-INGEST |
Technische Sperre vor Ingest | Konfiguration, Logs |
CTRL-NO-CRAWLING-DIN |
Kein automatisches Crawling | System-Konfiguration |
CTRL-OUTPUT-GUARD |
Ausgabe-Beschränkung (Zitatlimit) | API-Logs |
9.7 Audit-relevante Protokollierung
Bei jeder Verarbeitung lizenzierter Inhalte wird dokumentiert:
| Feld | Beschreibung | Aufbewahrung |
|---|---|---|
license_check_timestamp |
Zeitpunkt der Prüfung | 10 Jahre |
license_decision |
Ergebnis (allowed/denied) | 10 Jahre |
license_proof_hash |
Hash des Lizenznachweises | 10 Jahre |
operation_mode_requested |
Angefragter Modus | 10 Jahre |
operation_mode_granted |
Erlaubter Modus | 10 Jahre |
publisher |
Rechteinhaber | 10 Jahre |
9.8 On-Premise-Deployment für sensible Normen
Für Unternehmen mit strengen Compliance-Anforderungen:
| Komponente | Deployment | Isolation |
|---|---|---|
| Normen-Datenbank | Lokaler Mac Studio | Air-gapped |
| Embedding-Service | Lokal (bge-m3) | Keine Cloud |
| Vector-DB (Qdrant) | Lokaler Container | Tenant-Isolation |
| LLM (Ollama) | Lokal (Qwen2.5-Coder) | Keine API-Calls |
10. Kontakt und Verantwortlichkeiten
10.1 Verantwortlicher
[Name und Adresse des Unternehmens]
10.2 Datenschutzbeauftragter
Name: [Name] E-Mail: [E-Mail] Telefon: [Telefon]
10.3 Technischer Ansprechpartner
Name: [Name] E-Mail: [E-Mail]
11. Änderungshistorie
| Version | Datum | Änderung | Autor |
|---|---|---|---|
| 1.1.0 | 2026-01-29 | License Policy Engine & Standards-Compliance (§44b UrhG) | [Autor] |
| 1.0.0 | 2026-01-29 | Erstversion | [Autor] |
Diese Dokumentation erfüllt die Anforderungen nach Art. 30 DSGVO (Verzeichnis von Verarbeitungstätigkeiten) und dient als Grundlage für Audits nach Art. 32 DSGVO (Sicherheit der Verarbeitung).