A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.
This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).
Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
388 lines
13 KiB
Markdown
388 lines
13 KiB
Markdown
# 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:
|
||
|
||
1. **Transparent** - Alle Regeln sind im Quellcode einsehbar
|
||
2. **Nachvollziehbar** - Jede ausgelöste Regel wird dokumentiert
|
||
3. **Ü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:
|
||
|
||
1. Regelauswertung ist **keine rechtlich bindende Entscheidung**
|
||
2. Alle kritischen Fälle werden **menschlich geprüft** (E1-E3)
|
||
3. BLOCK-Entscheidungen erfordern **immer menschliche Freigabe**
|
||
4. 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).*
|