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 33s
CI / test-python-backend-compliance (push) Successful in 28s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 18s
Backend-Tests fuer alle 7 Analyse-Module (Requirements CRUD, AI System CRUD + Assessment, Evidence Pagination, Risk Workflow). MKDocs um Analyse-Module-Seite erweitert. SDK-Flow flow-data.ts und StepHeader STEP_EXPLANATIONS mit neuen Features aktualisiert (CRUD, Pagination, Evidence-Linking, Residual Risk, AI Act Backend-Persistenz, PDF-Export). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
259 lines
8.2 KiB
Markdown
259 lines
8.2 KiB
Markdown
# 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.
|