Files
Benjamin Boenisch 4435e7ea0a Initial commit: breakpilot-compliance - Compliance SDK Platform
Services: Admin-Compliance, Backend-Compliance,
AI-Compliance-SDK, Consent-SDK, Developer-Portal,
PCA-Platform, DSMS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:47:28 +01:00

625 lines
28 KiB
Python

"""
Seed data for Controls.
~45 Controls across 9 domains:
- GOV: Governance & Organisation
- PRIV: Datenschutz & Privacy
- IAM: Identity & Access Management
- CRYPTO: Kryptografie
- SDLC: Secure Development Lifecycle
- OPS: Betrieb & Monitoring
- AI: KI-spezifisch
- CRA: CRA & Supply Chain
- AUD: Audit & Nachvollziehbarkeit
"""
CONTROLS_SEED = [
# =========================================================================
# GOV - Governance & Organisation
# =========================================================================
{
"control_id": "GOV-001",
"domain": "gov",
"control_type": "preventive",
"title": "ISMS Policy",
"description": "Dokumentierte Informationssicherheits-Management-System Policy mit jährlicher Überprüfung.",
"pass_criteria": "ISMS Policy vorhanden, aktuell (nicht älter als 12 Monate), von Management genehmigt.",
"implementation_guidance": "Policy erstellen nach ISO 27001 Struktur, Scope definieren, Management-Commitment dokumentieren.",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 365,
},
{
"control_id": "GOV-002",
"domain": "gov",
"control_type": "preventive",
"title": "Rollen & Verantwortlichkeiten",
"description": "RACI-Matrix für alle sicherheitsrelevanten Prozesse dokumentiert.",
"pass_criteria": "RACI-Matrix vorhanden und aktuell, alle kritischen Rollen besetzt.",
"implementation_guidance": "RACI-Matrix erstellen für: Incident Response, Vulnerability Management, Access Management, Change Management.",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 180,
},
{
"control_id": "GOV-003",
"domain": "gov",
"control_type": "preventive",
"title": "Security Awareness Training",
"description": "Alle Mitarbeiter absolvieren jährlich Security Awareness Training.",
"pass_criteria": "100% Completion Rate für alle aktiven Mitarbeiter, Nachweis nicht älter als 12 Monate.",
"implementation_guidance": "Training-Plattform einrichten (z.B. KnowBe4), Pflichttraining für Onboarding, jährliche Auffrischung.",
"is_automated": False,
"owner": "HR / Security Team",
"review_frequency_days": 365,
},
{
"control_id": "GOV-004",
"domain": "gov",
"control_type": "preventive",
"title": "Change Management",
"description": "Alle Code-Änderungen erfolgen über Pull Requests mit Review.",
"pass_criteria": "100% der Merges in main/master via PR, mindestens 1 Reviewer pro PR.",
"implementation_guidance": "Branch Protection Rules in GitHub aktivieren, CODEOWNERS definieren.",
"code_reference": ".github/CODEOWNERS",
"is_automated": True,
"automation_tool": "GitHub Branch Protection",
"owner": "Engineering Lead",
"review_frequency_days": 30,
},
{
"control_id": "GOV-005",
"domain": "gov",
"control_type": "corrective",
"title": "Incident Response Plan",
"description": "Dokumentierter Incident Response Plan mit Eskalationspfaden und Kontakten.",
"pass_criteria": "IRP vorhanden, getestet innerhalb der letzten 12 Monate, Kontaktdaten aktuell.",
"implementation_guidance": "IRP nach NIST SP 800-61 erstellen, Tabletop-Übungen durchführen.",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 365,
},
# =========================================================================
# PRIV - Datenschutz & Privacy
# =========================================================================
{
"control_id": "PRIV-001",
"domain": "priv",
"control_type": "preventive",
"title": "Verarbeitungsverzeichnis (Art. 30)",
"description": "Aktuelles Verzeichnis aller Verarbeitungstätigkeiten gemäß Art. 30 DSGVO.",
"pass_criteria": "VVT vorhanden, vollständig (alle Kategorien), nicht älter als 6 Monate aktualisiert.",
"implementation_guidance": "VVT mit allen erforderlichen Feldern: Zweck, Kategorien, Empfänger, Fristen, TOMs.",
"is_automated": False,
"owner": "Datenschutzbeauftragter",
"review_frequency_days": 180,
},
{
"control_id": "PRIV-002",
"domain": "priv",
"control_type": "preventive",
"title": "DPIA durchgeführt (Art. 35)",
"description": "Datenschutz-Folgenabschätzung für Hochrisiko-Verarbeitungen durchgeführt.",
"pass_criteria": "DPIA für alle identifizierten Hochrisiko-Verarbeitungen vorhanden und dokumentiert.",
"implementation_guidance": "DPIA nach Art. 35 Abs. 7 DSGVO: Beschreibung, Notwendigkeit, Risikobewertung, Maßnahmen.",
"is_automated": False,
"owner": "Datenschutzbeauftragter",
"review_frequency_days": 365,
},
{
"control_id": "PRIV-003",
"domain": "priv",
"control_type": "preventive",
"title": "Privacy by Design (Art. 25)",
"description": "Datenschutz durch Technikgestaltung und datenschutzfreundliche Voreinstellungen.",
"pass_criteria": "PbD-Checkliste für alle neuen Features, Datensparsamkeit als Default.",
"implementation_guidance": "PbD-Review in Feature-Development-Prozess integrieren, Minimaldatenerhebung als Standard.",
"is_automated": False,
"owner": "Engineering Lead / DPO",
"review_frequency_days": 90,
},
{
"control_id": "PRIV-004",
"domain": "priv",
"control_type": "corrective",
"title": "Betroffenenrechte (Art. 15-22)",
"description": "Prozess für Betroffenenrechte (Auskunft, Löschung, Portabilität) implementiert.",
"pass_criteria": "DSR-Prozess dokumentiert, SLA < 30 Tage, Export-Funktion vorhanden.",
"implementation_guidance": "Self-Service-Portal für DSR, automatisierte Löschfunktion, Export im maschinenlesbaren Format.",
"code_reference": "backend/gdpr_api.py",
"is_automated": True,
"automation_tool": "Breakpilot GDPR Export",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "PRIV-005",
"domain": "priv",
"control_type": "preventive",
"title": "AVV mit Auftragsverarbeitern",
"description": "Auftragsverarbeitungsverträge mit allen Sub-Processors abgeschlossen.",
"pass_criteria": "AVV für alle Auftragsverarbeiter vorhanden, Art. 28 Abs. 3 konform.",
"implementation_guidance": "Liste aller Sub-Processors, AVV-Vorlagen nach Art. 28, jährliche Überprüfung.",
"is_automated": False,
"owner": "Legal / DPO",
"review_frequency_days": 365,
},
{
"control_id": "PRIV-006",
"domain": "priv",
"control_type": "preventive",
"title": "TOMs dokumentiert (Art. 32)",
"description": "Technische und organisatorische Maßnahmen gemäß Art. 32 DSGVO dokumentiert.",
"pass_criteria": "TOM-Dokument vorhanden, alle Kategorien abgedeckt, aktuell.",
"implementation_guidance": "TOMs nach Art. 32: Pseudonymisierung, Verschlüsselung, Wiederherstellung, regelmäßige Tests.",
"is_automated": False,
"owner": "Security Team / DPO",
"review_frequency_days": 180,
},
{
"control_id": "PRIV-007",
"domain": "priv",
"control_type": "preventive",
"title": "PII-Logging verhindert",
"description": "Personenbezogene Daten werden nicht in Logs geschrieben (PII Redaction).",
"pass_criteria": "PII-Redactor aktiv, keine PII in Logs (stichprobenartige Prüfung).",
"implementation_guidance": "PII-Redactor Middleware implementieren, regex-basierte Filterung für E-Mail, Namen, etc.",
"code_reference": "backend/middleware/pii_redactor.py",
"is_automated": True,
"automation_tool": "PII Redactor Middleware",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
# =========================================================================
# IAM - Identity & Access Management
# =========================================================================
{
"control_id": "IAM-001",
"domain": "iam",
"control_type": "preventive",
"title": "RBAC implementiert",
"description": "Role-Based Access Control mit dokumentierten Rollen und Berechtigungen.",
"pass_criteria": "RBAC-Modell dokumentiert, Rollen im Code enforced, keine Hardcoded-Berechtigungen.",
"implementation_guidance": "Rollen definieren (user, admin, dpo), Middleware für Berechtigungsprüfung.",
"code_reference": "consent-service/internal/middleware/auth.go",
"is_automated": True,
"automation_tool": "JWT Role Claims",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "IAM-002",
"domain": "iam",
"control_type": "preventive",
"title": "MFA für Admin-Accounts",
"description": "Multi-Faktor-Authentifizierung für alle Admin-Zugänge aktiviert.",
"pass_criteria": "100% MFA-Abdeckung für Admin-Accounts, Enforcement-Policy aktiv.",
"implementation_guidance": "MFA über Identity Provider (Auth0, Keycloak) oder TOTP-Integration.",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 90,
},
{
"control_id": "IAM-003",
"domain": "iam",
"control_type": "preventive",
"title": "Mandantentrennung",
"description": "Strikte Tenant-Isolation zwischen verschiedenen Kunden/Schulen.",
"pass_criteria": "Tenant-ID in allen Queries, keine Cross-Tenant-Datenzugriffe möglich.",
"implementation_guidance": "Tenant-ID als Pflichtfeld, Row-Level-Security in Queries, Penetration-Test.",
"code_reference": "consent-service/internal/handlers/handlers.go",
"is_automated": True,
"automation_tool": "Database Query Filter",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "IAM-004",
"domain": "iam",
"control_type": "preventive",
"title": "Session Management",
"description": "Sichere Session-Verwaltung mit Token-Expiry und Rotation.",
"pass_criteria": "Token-Expiry < 24h, Refresh-Token-Rotation, Logout invalidiert Token.",
"implementation_guidance": "JWT mit kurzer Expiry, Refresh-Token-Flow, Token-Blacklisting bei Logout.",
"code_reference": "consent-service/internal/services/auth_service.go",
"is_automated": True,
"automation_tool": "JWT Token Management",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "IAM-005",
"domain": "iam",
"control_type": "detective",
"title": "Least Privilege",
"description": "Regelmäßige Access Reviews zur Sicherstellung minimaler Berechtigungen.",
"pass_criteria": "Vierteljährliche Access Reviews durchgeführt, überflüssige Rechte entfernt.",
"implementation_guidance": "Access Review Prozess etablieren, automatisierte Reports über Berechtigungen.",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 90,
},
# =========================================================================
# CRYPTO - Kryptografie
# =========================================================================
{
"control_id": "CRYPTO-001",
"domain": "crypto",
"control_type": "preventive",
"title": "Encryption at Rest",
"description": "Sensible Daten sind im Ruhezustand verschlüsselt (AES-256).",
"pass_criteria": "Datenbank-Verschlüsselung aktiv, Backup-Verschlüsselung aktiv.",
"implementation_guidance": "PostgreSQL mit TDE oder pgcrypto, verschlüsselte Backups.",
"is_automated": True,
"automation_tool": "PostgreSQL Encryption",
"owner": "Infrastructure Team",
"review_frequency_days": 180,
},
{
"control_id": "CRYPTO-002",
"domain": "crypto",
"control_type": "preventive",
"title": "Encryption in Transit",
"description": "Alle Datenübertragungen sind TLS 1.3 verschlüsselt.",
"pass_criteria": "TLS 1.3 enforced, HSTS aktiv, keine unsicheren Cipher Suites.",
"implementation_guidance": "Nginx/Traefik mit TLS 1.3 Mindestversion, HSTS Header, SSL Labs A+ Rating.",
"is_automated": True,
"automation_tool": "SSL Labs / testssl.sh",
"owner": "Infrastructure Team",
"review_frequency_days": 90,
},
{
"control_id": "CRYPTO-003",
"domain": "crypto",
"control_type": "preventive",
"title": "Key Management",
"description": "Kryptografische Schlüssel sicher in Vault gespeichert mit Rotation.",
"pass_criteria": "Keys in Vault, automatische Rotation, keine Hardcoded Secrets.",
"implementation_guidance": "HashiCorp Vault oder AWS KMS, Key-Rotation alle 90 Tage.",
"code_reference": "vault/",
"is_automated": True,
"automation_tool": "HashiCorp Vault",
"owner": "Infrastructure Team",
"review_frequency_days": 90,
},
{
"control_id": "CRYPTO-004",
"domain": "crypto",
"control_type": "preventive",
"title": "Password Hashing",
"description": "Passwörter werden mit bcrypt oder Argon2 gehasht.",
"pass_criteria": "bcrypt/Argon2 verwendet, Cost Factor angemessen, keine MD5/SHA1.",
"implementation_guidance": "bcrypt mit Cost >= 10, keine eigenentwickelten Hash-Funktionen.",
"code_reference": "consent-service/internal/services/auth_service.go",
"is_automated": True,
"automation_tool": "Semgrep Rule",
"owner": "Engineering Team",
"review_frequency_days": 180,
},
# =========================================================================
# SDLC - Secure Development Lifecycle
# =========================================================================
{
"control_id": "SDLC-001",
"domain": "sdlc",
"control_type": "detective",
"title": "SAST Scanning",
"description": "Static Application Security Testing in CI Pipeline integriert.",
"pass_criteria": "Semgrep in CI, 0 High/Critical Findings, Blocking bei neuen Findings.",
"implementation_guidance": "Semgrep mit OWASP Top 10 Rules, GitHub Actions Integration.",
"code_reference": ".github/workflows/security.yml",
"is_automated": True,
"automation_tool": "Semgrep",
"owner": "Engineering Team",
"review_frequency_days": 7,
},
{
"control_id": "SDLC-002",
"domain": "sdlc",
"control_type": "detective",
"title": "Dependency Scanning",
"description": "Automatische Überprüfung auf bekannte Schwachstellen in Dependencies.",
"pass_criteria": "Trivy/Grype in CI, keine kritischen CVEs in Produktion.",
"implementation_guidance": "Trivy für Container + Dependencies, Dependabot für automatische Updates.",
"code_reference": ".github/workflows/security.yml",
"is_automated": True,
"automation_tool": "Trivy / Dependabot",
"owner": "Engineering Team",
"review_frequency_days": 7,
},
{
"control_id": "SDLC-003",
"domain": "sdlc",
"control_type": "detective",
"title": "Secret Detection",
"description": "Automatische Erkennung von Secrets in Code und Commits.",
"pass_criteria": "Gitleaks in CI, Pre-Commit-Hook aktiv, 0 Findings.",
"implementation_guidance": "Gitleaks als Pre-Commit-Hook und in CI, Custom-Rules für eigene Secrets.",
"code_reference": ".github/workflows/security.yml",
"is_automated": True,
"automation_tool": "Gitleaks",
"owner": "Engineering Team",
"review_frequency_days": 7,
},
{
"control_id": "SDLC-004",
"domain": "sdlc",
"control_type": "preventive",
"title": "Code Review",
"description": "Alle Code-Änderungen werden von mindestens einem anderen Entwickler reviewed.",
"pass_criteria": "100% PR-Coverage, mindestens 1 Approval pro PR.",
"implementation_guidance": "GitHub Branch Protection, CODEOWNERS für kritische Pfade.",
"is_automated": True,
"automation_tool": "GitHub Branch Protection",
"owner": "Engineering Lead",
"review_frequency_days": 30,
},
{
"control_id": "SDLC-005",
"domain": "sdlc",
"control_type": "preventive",
"title": "SBOM Generation",
"description": "Software Bill of Materials wird automatisch generiert.",
"pass_criteria": "CycloneDX SBOM vorhanden, bei jedem Release aktualisiert.",
"implementation_guidance": "cyclonedx-cli in Release-Pipeline, SBOM in GitHub Releases.",
"is_automated": True,
"automation_tool": "CycloneDX",
"owner": "Engineering Team",
"review_frequency_days": 30,
},
{
"control_id": "SDLC-006",
"domain": "sdlc",
"control_type": "detective",
"title": "Container Scanning",
"description": "Docker Images werden auf Schwachstellen gescannt.",
"pass_criteria": "Trivy Image Scan in CI, keine Critical/High in Base Images.",
"implementation_guidance": "Trivy Image Scan vor Push zu Registry, Slim Base Images verwenden.",
"code_reference": ".github/workflows/security.yml",
"is_automated": True,
"automation_tool": "Trivy Image Scan",
"owner": "Engineering Team",
"review_frequency_days": 7,
},
# =========================================================================
# OPS - Betrieb & Monitoring
# =========================================================================
{
"control_id": "OPS-001",
"domain": "ops",
"control_type": "detective",
"title": "Audit Logging",
"description": "Alle sicherheitsrelevanten Events werden geloggt.",
"pass_criteria": "Login/Logout, Consent-Änderungen, Admin-Aktionen geloggt, Retention >= 1 Jahr.",
"implementation_guidance": "Structured Logging mit Request-ID, zentrale Log-Aggregation.",
"code_reference": "backend/audit_log.py",
"is_automated": True,
"automation_tool": "Structured Logging",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "OPS-002",
"domain": "ops",
"control_type": "corrective",
"title": "Backup & Recovery",
"description": "Tägliche Backups mit getesteter Wiederherstellung.",
"pass_criteria": "Tägliche Backups, RTO < 4h, RPO < 24h, Recovery-Test vierteljährlich.",
"implementation_guidance": "Automatisierte Backups, Offsite-Kopie, dokumentierter Recovery-Prozess.",
"code_reference": "scripts/backup.sh",
"is_automated": True,
"automation_tool": "PostgreSQL pg_dump / Docker Volumes",
"owner": "Infrastructure Team",
"review_frequency_days": 90,
},
{
"control_id": "OPS-003",
"domain": "ops",
"control_type": "detective",
"title": "Incident Response",
"description": "Mean Time to Detect (MTTD) für Security Incidents < 24h.",
"pass_criteria": "Alerting konfiguriert, MTTD < 24h, dokumentierte Incidents.",
"implementation_guidance": "Alert-Regeln für Anomalien, Pager-Rotation, Incident-Runbooks.",
"is_automated": True,
"automation_tool": "Prometheus / Alertmanager",
"owner": "Engineering Team",
"review_frequency_days": 30,
},
{
"control_id": "OPS-004",
"domain": "ops",
"control_type": "corrective",
"title": "Vulnerability Management",
"description": "Definierte Patch-SLAs für Schwachstellen nach Severity.",
"pass_criteria": "Critical < 7 Tage, High < 30 Tage, Medium < 90 Tage.",
"implementation_guidance": "Vulnerability Tracking in Issues, SLA-Monitoring, Patch-Prozess.",
"is_automated": False,
"owner": "Engineering Team",
"review_frequency_days": 30,
},
{
"control_id": "OPS-005",
"domain": "ops",
"control_type": "detective",
"title": "Monitoring & Alerting",
"description": "Uptime Monitoring mit 99.9% Verfügbarkeitsziel.",
"pass_criteria": "Uptime >= 99.9% (monatlich), Alerts bei Ausfällen < 5 Min.",
"implementation_guidance": "Health-Checks, Uptime-Monitoring (Uptime Kuma), Status Page.",
"is_automated": True,
"automation_tool": "Uptime Kuma / Prometheus",
"owner": "Infrastructure Team",
"review_frequency_days": 30,
},
# =========================================================================
# AI - KI-spezifisch (AI Act)
# =========================================================================
{
"control_id": "AI-001",
"domain": "ai",
"control_type": "preventive",
"title": "Training Data Governance",
"description": "Dokumentation aller Trainingsdatenquellen und deren Lizenzierung.",
"pass_criteria": "Datenquellen inventarisiert, Lizenzen dokumentiert, keine unlizenzierte Daten.",
"implementation_guidance": "Data Catalog mit Quellen, Lizenzen, Verarbeitungszwecken.",
"is_automated": False,
"owner": "ML Team",
"review_frequency_days": 180,
},
{
"control_id": "AI-002",
"domain": "ai",
"control_type": "detective",
"title": "Model Logging",
"description": "Alle KI-Inferenzen werden für Nachvollziehbarkeit geloggt.",
"pass_criteria": "Input/Output Logging für KI-Aufrufe, Retention >= 6 Monate.",
"implementation_guidance": "LLM-Gateway mit Request/Response Logging, Token-Tracking.",
"code_reference": "backend/llm_client.py",
"is_automated": True,
"automation_tool": "LLM Gateway Logging",
"owner": "ML Team",
"review_frequency_days": 90,
},
{
"control_id": "AI-003",
"domain": "ai",
"control_type": "preventive",
"title": "Human-in-the-Loop",
"description": "Review-Prozess für KI-generierte Inhalte vor Veröffentlichung.",
"pass_criteria": "HITL-Prozess dokumentiert, keine automatische Veröffentlichung ohne Review.",
"implementation_guidance": "Review-Queue für KI-Outputs, Freigabe-Workflow.",
"is_automated": False,
"owner": "Product Team",
"review_frequency_days": 90,
},
{
"control_id": "AI-004",
"domain": "ai",
"control_type": "detective",
"title": "Bias Monitoring",
"description": "Regelmäßige Überprüfung von KI-Outputs auf Bias.",
"pass_criteria": "Bias-Metriken definiert, vierteljährliche Überprüfung, Findings dokumentiert.",
"implementation_guidance": "Fairness-Metriken (Demographic Parity, Equalized Odds), Bias-Audits.",
"is_automated": False,
"owner": "ML Team",
"review_frequency_days": 90,
},
{
"control_id": "AI-005",
"domain": "ai",
"control_type": "preventive",
"title": "AI Act Risk Classification",
"description": "Risikoklassifizierung der KI-Systeme gemäß EU AI Act dokumentiert.",
"pass_criteria": "Alle KI-Systeme klassifiziert (minimal/limited/high/unacceptable), Dokumentation aktuell.",
"implementation_guidance": "AI Act Risk Assessment Framework, Klassifizierung pro Use Case.",
"is_automated": False,
"owner": "Legal / ML Team",
"review_frequency_days": 365,
},
# =========================================================================
# CRA - CRA & Supply Chain
# =========================================================================
{
"control_id": "CRA-001",
"domain": "cra",
"control_type": "preventive",
"title": "SBOM vorhanden",
"description": "Software Bill of Materials im CycloneDX oder SPDX Format.",
"pass_criteria": "SBOM vorhanden, automatisch generiert, bei Release aktualisiert.",
"implementation_guidance": "CycloneDX in CI, SBOM in GitHub Releases, automatische Updates.",
"is_automated": True,
"automation_tool": "CycloneDX / SPDX",
"owner": "Engineering Team",
"review_frequency_days": 30,
},
{
"control_id": "CRA-002",
"domain": "cra",
"control_type": "corrective",
"title": "Vulnerability Disclosure",
"description": "Öffentliche Vulnerability Disclosure Policy (VDP) vorhanden.",
"pass_criteria": "VDP veröffentlicht, Kontaktdaten aktuell, Prozess dokumentiert.",
"implementation_guidance": "security.txt, SECURITY.md in Repository, Responsible Disclosure Policy.",
"code_reference": "SECURITY.md",
"is_automated": False,
"owner": "Security Team",
"review_frequency_days": 365,
},
{
"control_id": "CRA-003",
"domain": "cra",
"control_type": "corrective",
"title": "Patch-SLA",
"description": "Dokumentierte und eingehaltene Patch-Zeiten für Schwachstellen.",
"pass_criteria": "SLAs definiert und kommuniziert, Einhaltung >= 95%.",
"implementation_guidance": "Patch-SLA: Critical < 7d, High < 30d, Medium < 90d.",
"is_automated": False,
"owner": "Engineering Team",
"review_frequency_days": 30,
},
{
"control_id": "CRA-004",
"domain": "cra",
"control_type": "preventive",
"title": "End-of-Support Policy",
"description": "EOL-Datum für Produktversionen kommuniziert.",
"pass_criteria": "Support-Zeiträume dokumentiert, Kunden informiert, EOL >= 24 Monate vor Ende.",
"implementation_guidance": "Support-Matrix veröffentlichen, EOL-Kommunikation an Kunden.",
"is_automated": False,
"owner": "Product Team",
"review_frequency_days": 365,
},
# =========================================================================
# AUD - Audit & Nachvollziehbarkeit
# =========================================================================
{
"control_id": "AUD-001",
"domain": "aud",
"control_type": "detective",
"title": "Traceability",
"description": "Request-ID durchgängig in allen Logs für Nachverfolgbarkeit.",
"pass_criteria": "Request-ID in allen Service-Logs, korrelierbar über Services.",
"implementation_guidance": "X-Request-ID Header, Propagation über alle Services.",
"code_reference": "backend/middleware/request_id.py",
"is_automated": True,
"automation_tool": "Request ID Middleware",
"owner": "Engineering Team",
"review_frequency_days": 90,
},
{
"control_id": "AUD-002",
"domain": "aud",
"control_type": "corrective",
"title": "Audit Export",
"description": "ZIP-Export-Funktion für externe Prüfer funktional.",
"pass_criteria": "Export-Funktion verfügbar, alle relevanten Daten enthalten, signiert.",
"implementation_guidance": "Export mit Controls, Evidence, Risks als ZIP, SHA-256 Hash.",
"code_reference": "backend/compliance/services/export_generator.py",
"is_automated": True,
"automation_tool": "Compliance Export Service",
"owner": "Engineering Team",
"review_frequency_days": 180,
},
{
"control_id": "AUD-003",
"domain": "aud",
"control_type": "detective",
"title": "Compliance Dashboard",
"description": "Echtzeit-Compliance-Score und Status-Übersicht.",
"pass_criteria": "Dashboard verfügbar, Score automatisch berechnet, Drill-Down möglich.",
"implementation_guidance": "Dashboard mit Score-Berechnung, Regulation-Coverage, Trend-Anzeige.",
"code_reference": "website/app/admin/compliance/page.tsx",
"is_automated": True,
"automation_tool": "Compliance Dashboard",
"owner": "Engineering Team",
"review_frequency_days": 30,
},
]