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

310 lines
15 KiB
Python

"""
Compliance Risks Seed Data.
Contains potential risks for Breakpilot PWA based on regulatory requirements.
Each risk is assessed with likelihood (1-5) and impact (1-5).
Risk Categories:
- data_breach: Potential data breaches or unauthorized access
- compliance_gap: Non-compliance with regulations
- vendor_risk: Third-party/vendor related risks
- operational: Operational and availability risks
- legal: Legal and contractual risks
- reputational: Reputation and trust risks
"""
from typing import List, Dict, Any
# Likelihood Scale:
# 1 = Very Unlikely (< 5% chance per year)
# 2 = Unlikely (5-20% chance per year)
# 3 = Possible (20-50% chance per year)
# 4 = Likely (50-80% chance per year)
# 5 = Very Likely (> 80% chance per year)
# Impact Scale:
# 1 = Negligible (< 1.000 EUR, no operational impact)
# 2 = Minor (1.000-10.000 EUR, minor disruption)
# 3 = Moderate (10.000-100.000 EUR, significant disruption)
# 4 = Major (100.000-1.000.000 EUR, severe impact)
# 5 = Critical (> 1.000.000 EUR, existential threat)
RISKS_SEED: List[Dict[str, Any]] = [
# ========================================================================
# Datenschutz-Risiken (DSGVO)
# ========================================================================
{
"risk_id": "RISK-001",
"title": "Unbefugter Zugriff auf Schueler-PII",
"description": "Angreifer oder unbefugte Mitarbeiter koennten auf personenbezogene Daten von Schuelern zugreifen (Namen, Noten, Lernfortschritt). Dies wuerde eine meldepflichtige Datenpanne nach Art. 33 DSGVO darstellen.",
"category": "data_breach",
"likelihood": 2,
"impact": 4,
"mitigating_controls": ["IAM-001", "IAM-003", "CRYPTO-001", "OPS-001"],
"owner": "Datenschutzbeauftragter",
"treatment_plan": "RBAC strikt umsetzen, Mandantentrennung pruefen, regelmaessige Access Reviews durchfuehren, Logging aller Zugriffe auf PII.",
"related_regulations": ["GDPR", "BDSG"],
},
{
"risk_id": "RISK-002",
"title": "Fehlende oder ungueltige Einwilligungen",
"description": "Verarbeitung von Daten ohne gueltige Einwilligung oder Rechtsgrundlage. Insbesondere bei minderjaehrigen Schuelern ist die Einwilligung der Erziehungsberechtigten erforderlich.",
"category": "compliance_gap",
"likelihood": 3,
"impact": 3,
"mitigating_controls": ["PRIV-001", "PRIV-003", "GOV-001"],
"owner": "Datenschutzbeauftragter",
"treatment_plan": "Consent-Management-System implementieren, Altersverifikation, Double-Opt-In fuer Eltern, Dokumentation aller Einwilligungen.",
"related_regulations": ["GDPR", "TDDDG"],
},
{
"risk_id": "RISK-003",
"title": "Unvollstaendige Betroffenenrechte-Umsetzung",
"description": "Art. 15-22 DSGVO Anfragen (Auskunft, Loeschung, Berichtigung, Portabilitaet) werden nicht fristgerecht oder unvollstaendig beantwortet.",
"category": "compliance_gap",
"likelihood": 2,
"impact": 3,
"mitigating_controls": ["PRIV-004", "GOV-005"],
"owner": "Datenschutzbeauftragter",
"treatment_plan": "DSR-Workflow automatisieren, Fristen-Tracking implementieren, Export-Funktion fuer alle Nutzerdaten bereitstellen.",
"related_regulations": ["GDPR"],
},
{
"risk_id": "RISK-004",
"title": "PII in Logs und Fehlerberichten",
"description": "Personenbezogene Daten werden versehentlich in Logs, Fehlerberichten oder Analytics-Daten erfasst und koennten durch Dritte eingesehen werden.",
"category": "data_breach",
"likelihood": 3,
"impact": 2,
"mitigating_controls": ["PRIV-007", "OPS-001", "SDLC-001"],
"owner": "Engineering Lead",
"treatment_plan": "PII-Redactor in allen Logging-Pipelines, SAST-Regeln fuer PII-Leaks, Log-Retention-Policy (max 30 Tage).",
"related_regulations": ["GDPR"],
},
# ========================================================================
# KI-Risiken (AI Act)
# ========================================================================
{
"risk_id": "RISK-005",
"title": "Bias in KI-generierten Lerninhalten",
"description": "KI-Modelle koennten verzerrte oder diskriminierende Inhalte generieren, die bestimmte Schuelergruppen benachteiligen.",
"category": "compliance_gap",
"likelihood": 3,
"impact": 3,
"mitigating_controls": ["AI-001", "AI-003", "AI-004"],
"owner": "AI/ML Lead",
"treatment_plan": "Bias-Monitoring implementieren, Human-in-the-Loop fuer alle KI-Outputs, regelmaessige Audits der Trainingsdaten.",
"related_regulations": ["AIACT"],
},
{
"risk_id": "RISK-006",
"title": "Fehlende KI-Transparenz gegenueber Nutzern",
"description": "Nutzer werden nicht ausreichend darueber informiert, wenn KI-Systeme Entscheidungen treffen oder Inhalte generieren (Art. 13 AI Act).",
"category": "compliance_gap",
"likelihood": 2,
"impact": 3,
"mitigating_controls": ["AI-002", "AI-005", "GOV-001"],
"owner": "Product Owner",
"treatment_plan": "KI-Disclosure in UI implementieren, Model Cards erstellen, Transparenzbericht veroeffentlichen.",
"related_regulations": ["AIACT"],
},
{
"risk_id": "RISK-007",
"title": "Unzureichende KI-Risikobewertung",
"description": "Bildungs-KI koennte als High-Risk nach AI Act klassifiziert werden, ohne dass die entsprechenden Anforderungen (Art. 9-15) erfuellt sind.",
"category": "compliance_gap",
"likelihood": 3,
"impact": 4,
"mitigating_controls": ["AI-005", "GOV-001", "AUD-001"],
"owner": "Compliance Officer",
"treatment_plan": "AI Act Impact Assessment durchfuehren, Risikoklassifizierung dokumentieren, Konformitaetsbewertung vorbereiten.",
"related_regulations": ["AIACT"],
},
# ========================================================================
# Cybersecurity-Risiken (CRA, NIS2)
# ========================================================================
{
"risk_id": "RISK-008",
"title": "Schwachstellen in Abhaengigkeiten",
"description": "Bekannte CVEs in Third-Party-Libraries werden nicht zeitnah gepatcht und koennten ausgenutzt werden.",
"category": "operational",
"likelihood": 4,
"impact": 4,
"mitigating_controls": ["SDLC-002", "SDLC-005", "OPS-004"],
"owner": "Engineering Lead",
"treatment_plan": "Trivy/Grype in CI/CD, automatische Dependency-Updates (Dependabot), SLA: Critical CVEs < 7 Tage patchen.",
"related_regulations": ["CRA", "NIS2"],
},
{
"risk_id": "RISK-009",
"title": "Fehlende SBOM fuer CRA-Compliance",
"description": "Ohne Software Bill of Materials (SBOM) koennen Schwachstellen nicht effektiv verfolgt werden. CRA verlangt SBOM ab 2027.",
"category": "compliance_gap",
"likelihood": 2,
"impact": 3,
"mitigating_controls": ["CRA-001", "SDLC-005"],
"owner": "Engineering Lead",
"treatment_plan": "CycloneDX SBOM in CI generieren, SBOM-Repository aufbauen, VEX (Vulnerability Exploitability eXchange) implementieren.",
"related_regulations": ["CRA"],
},
{
"risk_id": "RISK-010",
"title": "Unzureichende Incident Response",
"description": "Bei einem Sicherheitsvorfall fehlen klare Prozesse, was zu verzoegerter Reaktion und erhoehtem Schaden fuehrt.",
"category": "operational",
"likelihood": 2,
"impact": 4,
"mitigating_controls": ["GOV-005", "OPS-003"],
"owner": "Security Lead",
"treatment_plan": "Incident Response Plan dokumentieren, Runbooks erstellen, Tabletop-Uebungen durchfuehren, Notfall-Kontakte pflegen.",
"related_regulations": ["NIS2", "GDPR"],
},
{
"risk_id": "RISK-011",
"title": "Secrets in Code oder Logs",
"description": "API-Keys, Passwoerter oder andere Secrets werden versehentlich ins Repository committed oder in Logs geschrieben.",
"category": "data_breach",
"likelihood": 3,
"impact": 4,
"mitigating_controls": ["SDLC-003", "CRYPTO-003"],
"owner": "Engineering Lead",
"treatment_plan": "Gitleaks/TruffleHog in Pre-Commit-Hooks, Vault fuer Secrets, automatische Key-Rotation.",
"related_regulations": ["CRA"],
},
# ========================================================================
# Vendor & Supply Chain Risiken
# ========================================================================
{
"risk_id": "RISK-012",
"title": "Drittanbieter-Datenweitergabe ohne AVV",
"description": "Personenbezogene Daten werden an Cloud-Provider oder Subunternehmer uebermittelt, ohne dass ein Auftragsverarbeitungsvertrag (AVV) vorliegt.",
"category": "vendor_risk",
"likelihood": 2,
"impact": 3,
"mitigating_controls": ["PRIV-005"],
"owner": "Datenschutzbeauftragter",
"treatment_plan": "Vendor-Register fuehren, AVVs mit allen Auftragsverarbeitern abschliessen, regelmaessige Ueberpruefung.",
"related_regulations": ["GDPR"],
},
{
"risk_id": "RISK-013",
"title": "US-Cloud-Dienste ohne angemessene Garantien",
"description": "Nutzung von US-Cloud-Diensten ohne EU-US Data Privacy Framework Zertifizierung oder SCCs, was nach Schrems II problematisch ist.",
"category": "vendor_risk",
"likelihood": 2,
"impact": 4,
"mitigating_controls": ["PRIV-005", "GOV-001"],
"owner": "Datenschutzbeauftragter",
"treatment_plan": "Cloud-Provider auf DPF-Zertifizierung pruefen, Transfer Impact Assessment durchfuehren, EU-Hosting bevorzugen.",
"related_regulations": ["GDPR", "SCC", "DPF"],
},
{
"risk_id": "RISK-014",
"title": "LLM-Provider Datennutzung fuer Training",
"description": "LLM-Anbieter (OpenAI, Anthropic) koennten Nutzerdaten zum Training verwenden, was ohne Einwilligung problematisch waere.",
"category": "vendor_risk",
"likelihood": 2,
"impact": 3,
"mitigating_controls": ["PRIV-005", "AI-001"],
"owner": "AI/ML Lead",
"treatment_plan": "Opt-Out fuer Training bei allen LLM-Providern, Enterprise-Agreements mit No-Training-Klausel, PII-Filtering vor API-Calls.",
"related_regulations": ["GDPR", "AIACT"],
},
# ========================================================================
# Betriebliche Risiken
# ========================================================================
{
"risk_id": "RISK-015",
"title": "Datenverlust durch fehlende Backups",
"description": "Kritische Daten gehen durch Hardware-Ausfall, Ransomware oder menschliches Versagen verloren.",
"category": "operational",
"likelihood": 2,
"impact": 5,
"mitigating_controls": ["OPS-002"],
"owner": "DevOps Lead",
"treatment_plan": "Taegliche automatische Backups, geografisch redundante Speicherung, regelmaessige Restore-Tests (quartalsweise).",
"related_regulations": ["GDPR"],
},
{
"risk_id": "RISK-016",
"title": "Verfuegbarkeitsausfall waehrend Unterricht",
"description": "System ist waehrend des Unterrichts nicht verfuegbar, was den Lehrbetrieb stoert und Vertrauen beschaedigt.",
"category": "operational",
"likelihood": 3,
"impact": 3,
"mitigating_controls": ["OPS-005"],
"owner": "DevOps Lead",
"treatment_plan": "99.9% SLA definieren, Monitoring mit Alerting, Runbooks fuer haeufige Ausfaelle, Status-Page einrichten.",
"related_regulations": [],
},
# ========================================================================
# Rechtliche Risiken
# ========================================================================
{
"risk_id": "RISK-017",
"title": "DSGVO-Bussgeld wegen Compliance-Verstoss",
"description": "Aufsichtsbehoerde verhaengt Bussgeld wegen Datenschutzverstoss (bis zu 20 Mio EUR oder 4% Jahresumsatz).",
"category": "legal",
"likelihood": 1,
"impact": 5,
"mitigating_controls": ["PRIV-001", "PRIV-002", "PRIV-006", "GOV-001"],
"owner": "Geschaeftsfuehrung",
"treatment_plan": "Datenschutz-Audit jaehrlich, DPIA fuer neue Verarbeitungen, enge Zusammenarbeit mit DSB.",
"related_regulations": ["GDPR"],
},
{
"risk_id": "RISK-018",
"title": "Haftung bei KI-verursachten Schaeden",
"description": "Neue Produkthaftungsrichtlinie macht Hersteller fuer KI-verursachte Schaeden haftbar (fehlerhafte Lerninhalte, falsche Bewertungen).",
"category": "legal",
"likelihood": 2,
"impact": 4,
"mitigating_controls": ["AI-003", "AI-004", "AUD-001"],
"owner": "Geschaeftsfuehrung",
"treatment_plan": "Human-in-the-Loop fuer kritische Entscheidungen, Disclaimer in UI, Haftpflichtversicherung pruefen.",
"related_regulations": ["PLD", "AIACT"],
},
# ========================================================================
# Barrierefreiheit
# ========================================================================
{
"risk_id": "RISK-019",
"title": "Nicht barrierefreie Anwendung (EAA)",
"description": "European Accessibility Act verlangt ab 2025 Barrierefreiheit. Nicht-konforme Software kann vom Markt ausgeschlossen werden.",
"category": "compliance_gap",
"likelihood": 3,
"impact": 3,
"mitigating_controls": ["GOV-001"],
"owner": "Product Owner",
"treatment_plan": "WCAG 2.1 AA Audit durchfuehren, Accessibility-Tests in CI, Screenreader-Kompatibilitaet sicherstellen.",
"related_regulations": ["EAA"],
},
# ========================================================================
# Reputationsrisiken
# ========================================================================
{
"risk_id": "RISK-020",
"title": "Reputationsschaden durch Datenpanne",
"description": "Oeffentlich bekannt gewordene Datenpanne fuehrt zu Vertrauensverlust bei Schulen, Eltern und Schuelern.",
"category": "reputational",
"likelihood": 2,
"impact": 4,
"mitigating_controls": ["GOV-005", "OPS-003"],
"owner": "Geschaeftsfuehrung",
"treatment_plan": "Kommunikationsplan fuer Krisenfaelle, transparente Kommunikation, schnelle Behebung und Information Betroffener.",
"related_regulations": ["GDPR"],
},
]
def get_risks_for_seeding() -> List[Dict[str, Any]]:
"""Return all risks for database seeding."""
return RISKS_SEED