# Analyse-Module (Paket 2) Die Analyse-Phase umfasst 7 Module, die den Compliance-Status systematisch erfassen und bewerten. Alle Module sind vollstaendig backend-persistent und bieten CRUD-Operationen ueber die REST-API. --- ## Uebersicht | Modul | Checkpoint | Reviewer | Status | |-------|-----------|----------|--------| | [Requirements](#requirements) | CP-REQ (REQUIRED) | NONE | 100% | | [Controls](#controls) | CP-CTRL (REQUIRED) | DSB | 100% | | [Evidence](#evidence) | CP-EVI (RECOMMENDED) | NONE | 100% | | [Risk Matrix](#risk-matrix) | CP-RISK (REQUIRED) | DSB | 100% | | [AI Act Klassifizierung](#ai-act) | CP-AI (REQUIRED) | LEGAL | 100% | | [Audit Checklist](#audit-checklist) | CP-CHK (RECOMMENDED) | NONE | 100% | | [Audit Report](#audit-report) | CP-AREP (REQUIRED) | NONE | 100% | --- ## Requirements **Route:** `/sdk/requirements` | **Rechtsgrundlage:** Art. 5, 24, 25 DSGVO ### Funktionen - Automatische Ableitung von Anforderungen aus aktivierten Modulen - Backend-persistente CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Loeschen) - Status-Workflow: `NOT_STARTED` → `IN_PROGRESS` → `IMPLEMENTED` → `VERIFIED` - Fehlerbehandlung mit automatischem Rollback bei Backend-Fehler - KI-gestuetzte Interpretation mit RAG-Rechtskontext - Filterung und Volltextsuche - Paginierung fuer grosse Datensaetze (500+ Anforderungen) ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/requirements` | Paginierte Liste (page, page_size, regulation_code, status, search) | | `GET` | `/api/compliance/requirements/{id}` | Detail mit optionalem `?include_legal_context=true` | | `POST` | `/api/compliance/requirements` | Neue Anforderung erstellen (regulation_id, article, title, priority) | | `PUT` | `/api/compliance/requirements/{id}` | Status/Details aktualisieren | | `DELETE` | `/api/compliance/requirements/{id}` | Anforderung loeschen | ### DB-Tabellen - `compliance_requirements` (read/write) ### RAG-Collections - `bp_compliance_recht` — Deutsche Gesetze - `bp_compliance_ce` — EU-Verordnungen --- ## Controls **Route:** `/sdk/controls` | **Rechtsgrundlage:** Art. 32 DSGVO ### Funktionen - Definition technischer und organisatorischer Kontrollmassnahmen - Status-Tracking: pass, partial, fail, n/a, planned - Evidence-Linking: Verknuepfung mit Nachweisen inkl. Gueltigkeits-Badge - Navigation zur Evidence-Seite mit vorausgewaehltem Control - Domänen-basierte Gruppierung (gov, priv, iam, crypto, sdlc, ops, ai, cra, aud) - Review-Workflow mit Verantwortlichem und naechstem Review-Datum ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/controls` | Alle Controls (domain, status, search Filter) | | `GET` | `/api/compliance/controls/paginated` | Paginierte Liste | | `GET` | `/api/compliance/controls/{control_id}` | Detail mit Evidence-Count | | `PUT` | `/api/compliance/controls/{control_id}` | Control aktualisieren | | `PUT` | `/api/compliance/controls/{control_id}/review` | Review durchfuehren | ### DB-Tabellen - `compliance_controls` (read/write) --- ## Evidence **Route:** `/sdk/evidence` | **Rechtsgrundlage:** Art. 5 Abs. 2 DSGVO ### Funktionen - Sammlung und Verwaltung von Compliance-Nachweisen - Server-seitige Pagination (`page`, `limit` Query-Parameter) - Gueltigkeits-Tracking (valid_from, valid_until) - Status: valid, expired, pending, failed - Verknuepfung mit Controls - Upload von Dateien als Nachweise ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/evidence` | Paginierte Liste (`page`, `limit`, `control_id` Filter) | | `POST` | `/api/compliance/evidence` | Neuen Nachweis erstellen | | `PUT` | `/api/compliance/evidence/{id}` | Nachweis aktualisieren | ### DB-Tabellen - `compliance_evidence` (write) --- ## Risk Matrix **Route:** `/sdk/risks` | **Rechtsgrundlage:** Art. 35 DSGVO ### Funktionen - 5x5 Risikomatrix (Wahrscheinlichkeit x Auswirkung) - Inherent Risk vs. Residual Risk mit visuellem Vergleich - Status-Workflow: `IDENTIFIED` → `ASSESSED` → `MITIGATED` → `ACCEPTED` → `CLOSED` - Expandierbare Mitigations-Sektion pro Risiko - Mitigating Controls mit Status-Badge und Beschreibung - Automatische Risiko-Level-Berechnung (LOW/MEDIUM/HIGH/CRITICAL) - Backend-Persistenz fuer Status-Aenderungen ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/risks` | Alle Risiken | | `POST` | `/api/compliance/risks` | Neues Risiko erstellen | | `PUT` | `/api/compliance/risks/{risk_id}` | Risiko aktualisieren (inkl. Status) | ### Risiko-Berechnung ``` Score = Likelihood × Impact Score >= 20 → CRITICAL (rot) Score >= 12 → HIGH (orange) Score >= 6 → MEDIUM (gelb) Score < 6 → LOW (gruen) ``` ### DB-Tabellen - `compliance_risks` (write) --- ## AI Act **Route:** `/sdk/ai-act` | **Rechtsgrundlage:** EU AI Act Art. 6-9 ### Funktionen - KI-System-Registrierung mit vollstaendiger Backend-Persistenz (CRUD) - Risikopyramide (Minimal → Begrenzt → Hoch → Verboten) - KI-gestuetzte Risikobewertung mit Rule-Based-Fallback - Automatische Ableitung von AI Act Pflichten je Risikokategorie - Filterung nach Klassifizierung, Status und Sektor - Neues DB-Modell: `compliance_ai_systems` ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/ai/systems` | Alle KI-Systeme (classification, status, sector Filter) | | `POST` | `/api/compliance/ai/systems` | Neues KI-System registrieren | | `GET` | `/api/compliance/ai/systems/{id}` | Detail | | `PUT` | `/api/compliance/ai/systems/{id}` | KI-System aktualisieren | | `DELETE` | `/api/compliance/ai/systems/{id}` | KI-System loeschen | | `POST` | `/api/compliance/ai/systems/{id}/assess` | AI Act Risikobewertung durchfuehren | ### Risikokategorien & Pflichten | Kategorie | AI Act Artikel | Pflichten | |-----------|---------------|-----------| | **Verboten** | Art. 5 | Einsatz verboten | | **Hochrisiko** | Art. 6-15 | 8 Pflichten (Risikomanagement, Daten-Governance, Dokumentation, ...) | | **Begrenztes Risiko** | Art. 52 | Transparenzpflicht, Kennzeichnung | | **Minimales Risiko** | Art. 69 | Freiwillige Verhaltenskodizes | ### DB-Tabellen - `compliance_ai_systems` (read/write) --- ## Audit Checklist **Route:** `/sdk/audit-checklist` | **Rechtsgrundlage:** Art. 5 Abs. 2 DSGVO ### Funktionen - Automatische Generierung der Checkliste aus Requirements und Controls - Session-Management: Draft → In Progress → Completed → Archived - Interaktiver Sign-Off-Workflow mit digitalem Signatur-Hash (SHA-256) - PDF-Download in Deutsch oder Englisch - Session-History: Anzeige vergangener Audit-Sitzungen - JSON-Export der Checkliste ### API-Endpoints | Methode | Pfad | Beschreibung | |---------|------|--------------| | `GET` | `/api/compliance/audit/sessions` | Alle Audit-Sitzungen | | `POST` | `/api/compliance/audit/sessions` | Neue Sitzung erstellen | | `GET` | `/api/compliance/audit/checklist/{sessionId}` | Checkliste einer Sitzung | | `PUT` | `/api/compliance/audit/checklist/{sessionId}/items/{reqId}/sign-off` | Pruefpunkt abzeichnen | | `GET` | `/api/compliance/audit/sessions/{sessionId}/report/pdf` | PDF-Report generieren | ### DB-Tabellen - `compliance_audit_sessions` (read/write) - `compliance_audit_signoffs` (write) --- ## Audit Report **Route:** `/sdk/audit-report` | **Rechtsgrundlage:** Art. 5 Abs. 2 DSGVO ### Funktionen - Uebersicht aller Audit-Sitzungen mit Status-Badges - Detail-Seite pro Sitzung (`/sdk/audit-report/{sessionId}`) - Session-Metadaten (Auditor, Zeitraum, Status) - Fortschrittsbalken (konform/nicht konform/ausstehend) - Interaktive Checklist-Items mit Sign-Off - Notizen-Bearbeitung pro Pruefpunkt - PDF-Download mit Sprachauswahl (DE/EN) - Click-Navigation von der Uebersicht zur Detail-Seite - Generiert: Audit-Report (PDF) ### API-Endpoints Nutzt dieselben Backend-Endpoints wie Audit Checklist (s.o.). ### DB-Tabellen - `compliance_audit_sessions` (write) --- ## Datenfluss ```mermaid graph LR A[Requirements] --> B[Controls] B --> C[Evidence] C --> D[Risk Matrix] D --> E[AI Act] E --> F[Audit Checklist] F --> G[Audit Report] ``` Jedes Modul baut auf dem vorherigen auf. Die Reihenfolge ist durch Prerequisite-Steps im SDK-Flow erzwungen.