# =============================================================================
# Financial Regulations Policy
# DORA, MaRisk, BAIT Compliance for AI Use Cases
# =============================================================================
#
# Regulierungen:
#   - DORA (Digital Operational Resilience Act) - EU 2022/2554
#   - MaRisk (Mindestanforderungen Risikomanagement) - BaFin
#   - BAIT (Bankaufsichtliche Anforderungen an die IT) - BaFin
#
# Anwendungsbereich:
#   - Kreditinstitute (CRR)
#   - Zahlungsdienstleister
#   - E-Geld-Institute
#   - Wertpapierfirmen
#   - Versicherungen (teilweise)
#   - Krypto-Asset-Dienstleister
#
# =============================================================================

metadata:
  version: "1.0.0"
  effective_date: "2025-01-17"  # DORA Geltungsbeginn
  author: "Compliance Team"
  jurisdiction: "EU/DE"
  regulations:
    - name: "DORA"
      full_name: "Digital Operational Resilience Act"
      reference: "EU 2022/2554"
      effective: "2025-01-17"
    - name: "MaRisk"
      full_name: "Mindestanforderungen an das Risikomanagement"
      authority: "BaFin"
      version: "7. MaRisk-Novelle (2023)"
    - name: "BAIT"
      full_name: "Bankaufsichtliche Anforderungen an die IT"
      authority: "BaFin"
      version: "2021"

# =============================================================================
# Anwendbare Domains
# =============================================================================

applicable_domains:
  - banking
  - finance
  - insurance
  - investment
  - payment_services
  - crypto_assets

# =============================================================================
# Facts Schema - Finanzspezifische Eingabefelder
# =============================================================================

facts_schema:
  financial_entity:
    type:
      type: enum
      values:
        - CREDIT_INSTITUTION       # Kreditinstitut nach CRR
        - PAYMENT_SERVICE_PROVIDER # Zahlungsdienstleister (PSD2)
        - E_MONEY_INSTITUTION      # E-Geld-Institut
        - INVESTMENT_FIRM          # Wertpapierfirma (MiFID II)
        - INSURANCE_COMPANY        # Versicherungsunternehmen
        - CRYPTO_ASSET_PROVIDER    # CASP nach MiCA
        - OTHER_FINANCIAL          # Sonstige Finanzunternehmen
      default: OTHER_FINANCIAL

    regulated:
      type: boolean
      default: true
      description: "Unterliegt BaFin-Aufsicht"

    size_category:
      type: enum
      values:
        - SIGNIFICANT      # Bedeutendes Institut
        - LESS_SIGNIFICANT # Weniger bedeutendes Institut
        - SMALL            # Kleines Institut
      default: LESS_SIGNIFICANT

  ict_service:
    is_critical:
      type: boolean
      default: false
      description: "Kritische/wichtige IKT-Dienstleistung nach DORA Art. 3(21)"

    is_outsourced:
      type: boolean
      default: false
      description: "IKT-Auslagerung an Dritte"

    provider_location:
      type: enum
      values:
        - EU
        - EEA
        - ADEQUACY_DECISION
        - THIRD_COUNTRY
      default: EU

    concentration_risk:
      type: boolean
      default: false
      description: "Konzentrationsrisiko bei IKT-Drittanbietern"

  ai_application:
    affects_customer_decisions:
      type: boolean
      default: false
      description: "KI beeinflusst Kundenentscheidungen (Kredit, Versicherung)"

    algorithmic_trading:
      type: boolean
      default: false
      description: "Algorithmischer Handel"

    risk_assessment:
      type: boolean
      default: false
      description: "KI für Risikobewertung (Kredit-Scoring, Fraud)"

    aml_kyc:
      type: boolean
      default: false
      description: "KI für AML/KYC-Prozesse"

    model_validation_done:
      type: boolean
      default: false
      description: "Modellvalidierung nach MaRisk AT 4.3.5 durchgeführt"

# =============================================================================
# DORA-spezifische Controls
# =============================================================================

controls:
  # --- IKT-Risikomanagement (DORA Kap. II) ---

  CTRL-DORA-ICT-RISK-FRAMEWORK:
    id: CTRL-DORA-ICT-RISK-FRAMEWORK
    title: "IKT-Risikomanagementrahmen"
    category: DORA
    dora_ref: "Art. 6-16"
    description: "Umfassendes IKT-Risikomanagement nach DORA"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. IKT-Risikomanagementrahmen dokumentieren
      2. Governance-Struktur mit klaren Verantwortlichkeiten
      3. IKT-Risikoidentifikation, -bewertung, -steuerung
      4. Regelmäßige Überprüfung (mindestens jährlich)
    evidence_needed:
      - IKT-Risikomanagement-Policy
      - Governance-Dokumentation
      - Risikobewertungsberichte
      - Audit-Protokolle
    effort: high

  CTRL-DORA-ICT-INCIDENT-MANAGEMENT:
    id: CTRL-DORA-ICT-INCIDENT-MANAGEMENT
    title: "IKT-Vorfallmanagement"
    category: DORA
    dora_ref: "Art. 17-23"
    description: "Erkennung, Management und Meldung von IKT-Vorfällen"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Incident-Response-Prozess etablieren
      2. Klassifikation nach DORA-Kriterien
      3. Meldepflichten einhalten (BaFin, ECB)
      4. Post-Incident-Review durchführen
    evidence_needed:
      - Incident-Response-Plan
      - Meldeprozess-Dokumentation
      - Incident-Register
      - Post-Mortem-Berichte
    effort: high

  CTRL-DORA-DIGITAL-RESILIENCE-TESTING:
    id: CTRL-DORA-DIGITAL-RESILIENCE-TESTING
    title: "Digitale Resilienz-Tests"
    category: DORA
    dora_ref: "Art. 24-27"
    description: "Regelmäßige Tests der digitalen operationalen Resilienz"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Jährliche Vulnerability Assessments
      2. Penetrationstests (risikobasiert)
      3. TLPT (Threat-Led Penetration Testing) für bedeutende Institute
      4. Szenariobasierte Tests für kritische Funktionen
    evidence_needed:
      - Test-Policy
      - Test-Berichte
      - Behebungsnachweise
      - TLPT-Berichte (falls zutreffend)
    effort: high

  CTRL-DORA-TPP-RISK-MANAGEMENT:
    id: CTRL-DORA-TPP-RISK-MANAGEMENT
    title: "IKT-Drittparteirisikomanagement"
    category: DORA
    dora_ref: "Art. 28-44"
    description: "Management von Risiken aus IKT-Drittanbieterbeziehungen"
    when_applicable:
      - ict_service.is_outsourced == true
    what_to_do: |
      1. Due Diligence vor Vertragsabschluss
      2. Vertragliche Mindestanforderungen nach Art. 30
      3. Register aller IKT-Drittanbieter führen
      4. Exit-Strategien für kritische Dienste
      5. Konzentrationsrisiken überwachen
    evidence_needed:
      - Outsourcing-Policy
      - Due-Diligence-Berichte
      - Vertragsregister
      - Exit-Pläne
      - Konzentrationsrisiko-Analyse
    effort: high

  CTRL-DORA-INFORMATION-SHARING:
    id: CTRL-DORA-INFORMATION-SHARING
    title: "Informationsaustausch"
    category: DORA
    dora_ref: "Art. 45"
    description: "Teilnahme am Austausch von Bedrohungsinformationen"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Teilnahme an Threat-Intelligence-Netzwerken prüfen
      2. Vertraulichkeitsvereinbarungen abschließen
      3. Informationsaustausch-Prozess etablieren
    evidence_needed:
      - Teilnahme-Dokumentation
      - NDAs
    effort: low

  # --- MaRisk-spezifische Controls ---

  CTRL-MARISK-MODEL-VALIDATION:
    id: CTRL-MARISK-MODEL-VALIDATION
    title: "Modellvalidierung nach MaRisk"
    category: MaRisk
    marisk_ref: "AT 4.3.5"
    description: "Validierung von Risikomodellen inkl. KI-Modelle"
    when_applicable:
      - ai_application.risk_assessment == true
      - ai_application.affects_customer_decisions == true
    what_to_do: |
      1. Initiale Validierung vor Produktiveinsatz
      2. Regelmäßige Backtesting
      3. Dokumentation der Modellannahmen
      4. Unabhängige Validierungsstelle
      5. Eskalation bei Modellschwächen
    evidence_needed:
      - Validierungsbericht
      - Backtesting-Ergebnisse
      - Modelldokumentation
      - Genehmigung durch Geschäftsleitung
    effort: high

  CTRL-MARISK-OUTSOURCING:
    id: CTRL-MARISK-OUTSOURCING
    title: "Auslagerungsmanagement nach MaRisk"
    category: MaRisk
    marisk_ref: "AT 9"
    description: "Anforderungen an Auslagerungen"
    when_applicable:
      - ict_service.is_outsourced == true
    what_to_do: |
      1. Risikoanalyse vor Auslagerung
      2. Schriftliche Auslagerungsvereinbarung
      3. Weisungs- und Kontrollrechte sichern
      4. Auslagerungsregister führen
      5. BaFin-Anzeige bei wesentlichen Auslagerungen
    evidence_needed:
      - Auslagerungsvereinbarung
      - Risikoanalyse
      - Auslagerungsregister
      - BaFin-Anzeige (falls zutreffend)
    effort: high

  CTRL-MARISK-RISK-REPORTING:
    id: CTRL-MARISK-RISK-REPORTING
    title: "Risiko-Reporting"
    category: MaRisk
    marisk_ref: "AT 4.3.2"
    description: "Risikoberichterstattung an Geschäftsleitung"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Regelmäßige Risikoberichte erstellen
      2. Ad-hoc-Berichterstattung bei wesentlichen Ereignissen
      3. KI-Risiken in Gesamtrisikobericht integrieren
    evidence_needed:
      - Risikoberichte
      - Eskalationsprotokolle
    effort: medium

  # --- BAIT-spezifische Controls ---

  CTRL-BAIT-IT-STRATEGY:
    id: CTRL-BAIT-IT-STRATEGY
    title: "IT-Strategie nach BAIT"
    category: BAIT
    bait_ref: "Tz. 1-9"
    description: "IT-Strategie mit KI-Komponenten"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. IT-Strategie dokumentieren
      2. KI-Einsatz in IT-Strategie berücksichtigen
      3. Abstimmung mit Geschäftsstrategie
      4. Regelmäßige Überprüfung
    evidence_needed:
      - IT-Strategie-Dokument
      - Vorstandsbeschlüsse
    effort: medium

  CTRL-BAIT-IT-GOVERNANCE:
    id: CTRL-BAIT-IT-GOVERNANCE
    title: "IT-Governance nach BAIT"
    category: BAIT
    bait_ref: "Tz. 10-21"
    description: "IT-Governance-Rahmenwerk"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. IT-Governance-Struktur etablieren
      2. Rollen und Verantwortlichkeiten definieren
      3. IT-Risikomanagement integrieren
      4. Drei-Linien-Modell umsetzen
    evidence_needed:
      - Governance-Framework
      - Organigramm IT
      - Rollenbeschreibungen
    effort: high

  CTRL-BAIT-IT-PROJECT-MANAGEMENT:
    id: CTRL-BAIT-IT-PROJECT-MANAGEMENT
    title: "IT-Projektmanagement nach BAIT"
    category: BAIT
    bait_ref: "Tz. 22-26"
    description: "Anforderungen an IT-Projekte (inkl. KI-Projekte)"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Projektmanagement-Standards definieren
      2. Risikobewertung für KI-Projekte
      3. Go-Live-Kriterien festlegen
      4. Post-Implementation-Review
    evidence_needed:
      - Projektmanagement-Handbuch
      - Projektdokumentation
      - Go-Live-Protokolle
    effort: medium

  CTRL-BAIT-SDLC:
    id: CTRL-BAIT-SDLC
    title: "Anwendungsentwicklung nach BAIT"
    category: BAIT
    bait_ref: "Tz. 27-42"
    description: "Secure Development Lifecycle für KI-Anwendungen"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. SDLC-Prozess dokumentieren
      2. Sicherheitsanforderungen in Requirements
      3. Code-Reviews durchführen
      4. Testkonzept mit Security-Tests
      5. Änderungsmanagement etablieren
    evidence_needed:
      - SDLC-Dokumentation
      - Test-Berichte
      - Code-Review-Protokolle
      - Change-Management-Records
    effort: high

  CTRL-BAIT-IT-OPERATIONS:
    id: CTRL-BAIT-IT-OPERATIONS
    title: "IT-Betrieb nach BAIT"
    category: BAIT
    bait_ref: "Tz. 43-57"
    description: "Anforderungen an den IT-Betrieb"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. IT-Betriebsprozesse dokumentieren
      2. Kapazitätsmanagement
      3. Monitoring und Logging
      4. Backup und Recovery
    evidence_needed:
      - Betriebshandbuch
      - Monitoring-Dashboards
      - Backup-Konzept
    effort: medium

  CTRL-BAIT-IAM:
    id: CTRL-BAIT-IAM
    title: "Benutzerberechtigungsmanagement nach BAIT"
    category: BAIT
    bait_ref: "Tz. 58-66"
    description: "Identity and Access Management"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Berechtigungskonzept erstellen
      2. Least-Privilege-Prinzip umsetzen
      3. Regelmäßige Berechtigungsrezertifizierung
      4. Privileged Access Management
    evidence_needed:
      - Berechtigungskonzept
      - Rezertifizierungsprotokolle
      - PAM-Logs
    effort: medium

  CTRL-BAIT-LOGGING:
    id: CTRL-BAIT-LOGGING
    title: "Protokollierung nach BAIT"
    category: BAIT
    bait_ref: "Tz. 67-72"
    description: "Anforderungen an Protokollierung und Audit-Trail"
    when_applicable:
      - financial_entity.regulated == true
    what_to_do: |
      1. Logging-Konzept erstellen
      2. Sicherheitsrelevante Ereignisse protokollieren
      3. Manipulationssichere Speicherung
      4. Aufbewahrungsfristen einhalten
    evidence_needed:
      - Logging-Policy
      - Log-Konfiguration
      - Aufbewahrungsnachweis
    effort: medium

  # --- KI-spezifische Controls für Finanzsektor ---

  CTRL-FIN-AI-EXPLAINABILITY:
    id: CTRL-FIN-AI-EXPLAINABILITY
    title: "KI-Erklärbarkeit im Finanzsektor"
    category: Financial_AI
    description: "Erklärbare KI für Kundenentscheidungen"
    when_applicable:
      - ai_application.affects_customer_decisions == true
    what_to_do: |
      1. Erklärbare Modelle bevorzugen
      2. Feature-Importance dokumentieren
      3. Ablehnungsgründe nachvollziehbar machen
      4. Kunden-Auskunftsrecht erfüllen (Art. 22 DSGVO)
    evidence_needed:
      - Modell-Dokumentation
      - Erklärbarkeitsbericht
      - Beispiel-Erklärungen
    effort: high

  CTRL-FIN-AI-BIAS-MONITORING:
    id: CTRL-FIN-AI-BIAS-MONITORING
    title: "Bias-Monitoring für Finanz-KI"
    category: Financial_AI
    description: "Überwachung auf Diskriminierung"
    when_applicable:
      - ai_application.affects_customer_decisions == true
      - ai_application.risk_assessment == true
    what_to_do: |
      1. Fairness-Metriken definieren
      2. Regelmäßiges Bias-Testing
      3. Gruppenvergleiche durchführen
      4. Korrekturmaßnahmen bei Bias
    evidence_needed:
      - Fairness-Report
      - Test-Ergebnisse
      - Korrekturmaßnahmen-Protokoll
    effort: high

  CTRL-FIN-ALGO-TRADING:
    id: CTRL-FIN-ALGO-TRADING
    title: "Algorithmischer Handel nach MiFID II"
    category: Financial_AI
    mifid_ref: "Art. 17 MiFID II"
    description: "Anforderungen an algorithmischen Handel"
    when_applicable:
      - ai_application.algorithmic_trading == true
    what_to_do: |
      1. Algorithmen genehmigen lassen
      2. Kill-Switch implementieren
      3. Realtime-Überwachung
      4. Jährliche Selbstbewertung
      5. BaFin-Anzeigepflicht
    evidence_needed:
      - Algorithmus-Genehmigung
      - Kill-Switch-Dokumentation
      - Überwachungs-Logs
      - BaFin-Anzeige
    effort: high

  CTRL-FIN-AML-AI:
    id: CTRL-FIN-AML-AI
    title: "KI für AML/KYC"
    category: Financial_AI
    gwg_ref: "GwG"
    description: "KI-Einsatz für Geldwäscheprävention"
    when_applicable:
      - ai_application.aml_kyc == true
    what_to_do: |
      1. Risikobasierter Ansatz
      2. False-Positive-Management
      3. Menschliche Überprüfung bei Alerts
      4. Regelmäßige Modellvalidierung
    evidence_needed:
      - AML-Policy
      - Validierungsbericht
      - Alert-Statistiken
    effort: high

# =============================================================================
# Gaps (Lücken-Identifikation)
# =============================================================================

gaps:
  GAP_DORA_NOT_IMPLEMENTED:
    id: GAP_DORA_NOT_IMPLEMENTED
    title: "DORA-Anforderungen nicht erfüllt"
    description: "IKT-Risikomanagement nach DORA fehlt oder unvollständig"
    severity: BLOCK
    escalation: E3
    when:
      - financial_entity.regulated == true
      - ict_service.is_critical == true
    controls:
      - CTRL-DORA-ICT-RISK-FRAMEWORK
      - CTRL-DORA-ICT-INCIDENT-MANAGEMENT
    legal_refs:
      - "DORA Art. 6-16"
      - "Sanktionen nach Art. 50-52 DORA"

  GAP_DORA_TPP_UNMANAGED:
    id: GAP_DORA_TPP_UNMANAGED
    title: "IKT-Drittanbieterrisiko nicht gemanagt"
    description: "Fehlende Due Diligence und Vertragsgestaltung für IKT-Auslagerungen"
    severity: BLOCK
    escalation: E3
    when:
      - ict_service.is_outsourced == true
      - ict_service.is_critical == true
    controls:
      - CTRL-DORA-TPP-RISK-MANAGEMENT
      - CTRL-MARISK-OUTSOURCING
    legal_refs:
      - "DORA Art. 28-30"
      - "MaRisk AT 9"

  GAP_DORA_CONCENTRATION_RISK:
    id: GAP_DORA_CONCENTRATION_RISK
    title: "Konzentrationsrisiko bei IKT-Drittanbietern"
    description: "Zu starke Abhängigkeit von einzelnen IKT-Dienstleistern"
    severity: WARN
    escalation: E2
    when:
      - ict_service.concentration_risk == true
    controls:
      - CTRL-DORA-TPP-RISK-MANAGEMENT
    legal_refs:
      - "DORA Art. 29(2)"

  GAP_MARISK_MODEL_NOT_VALIDATED:
    id: GAP_MARISK_MODEL_NOT_VALIDATED
    title: "KI-Modell nicht validiert"
    description: "Risikomodell ohne Validierung nach MaRisk AT 4.3.5"
    severity: BLOCK
    escalation: E3
    when:
      - ai_application.risk_assessment == true
      - ai_application.model_validation_done == false
    controls:
      - CTRL-MARISK-MODEL-VALIDATION
    legal_refs:
      - "MaRisk AT 4.3.5"
      - "EBA Guidelines on IRB"

  GAP_BAIT_SDLC_MISSING:
    id: GAP_BAIT_SDLC_MISSING
    title: "Kein SDLC für KI-Entwicklung"
    description: "Fehlender Secure Development Lifecycle für KI-Anwendungen"
    severity: WARN
    escalation: E2
    when:
      - financial_entity.regulated == true
    controls:
      - CTRL-BAIT-SDLC
    legal_refs:
      - "BAIT Tz. 27-42"

  GAP_FIN_AI_NOT_EXPLAINABLE:
    id: GAP_FIN_AI_NOT_EXPLAINABLE
    title: "KI-Entscheidungen nicht erklärbar"
    description: "Fehlende Erklärbarkeit bei kundenrelevanten KI-Entscheidungen"
    severity: WARN
    escalation: E2
    when:
      - ai_application.affects_customer_decisions == true
    controls:
      - CTRL-FIN-AI-EXPLAINABILITY
    legal_refs:
      - "Art. 22(3) DSGVO"
      - "MaRisk AT 4.3.5"

  GAP_ALGO_TRADING_UNREGISTERED:
    id: GAP_ALGO_TRADING_UNREGISTERED
    title: "Algorithmischer Handel nicht angezeigt"
    description: "Fehlende BaFin-Anzeige für algorithmischen Handel"
    severity: BLOCK
    escalation: E3
    when:
      - ai_application.algorithmic_trading == true
    controls:
      - CTRL-FIN-ALGO-TRADING
    legal_refs:
      - "Art. 17 MiFID II"
      - "WpHG §80"

# =============================================================================
# Stop-Lines (Harte Sperren)
# =============================================================================

stop_lines:
  STOP_DORA_CRITICAL_ICT_UNMANAGED:
    id: STOP_DORA_CRITICAL_ICT_UNMANAGED
    title: "Kritische IKT ohne DORA-Compliance"
    description: "Kritische IKT-Dienste ohne ausreichendes Risikomanagement"
    outcome: NOT_ALLOWED
    when:
      - "financial_entity.regulated == true"
      - "ict_service.is_critical == true"
    message: |
      Kritische IKT-Dienste dürfen ohne vollständiges DORA-Compliance-Framework
      nicht eingeführt werden. DORA gilt seit 17.01.2025 und sieht erhebliche
      Sanktionen bei Verstößen vor (bis zu 1% des weltweiten Jahresumsatzes).

  STOP_MARISK_UNVALIDATED_RISK_MODEL:
    id: STOP_MARISK_UNVALIDATED_RISK_MODEL
    title: "Nicht-validiertes Risikomodell"
    description: "KI-Risikomodell ohne MaRisk-konforme Validierung"
    outcome: NOT_ALLOWED
    when:
      - ai_application.risk_assessment == true
      - ai_application.model_validation_done == false
    message: |
      KI-Modelle für Risikobewertungen (Kredit-Scoring, Fraud Detection)
      müssen vor dem produktiven Einsatz nach MaRisk AT 4.3.5 validiert werden.
      Dies umfasst initiale Validierung, Backtesting und unabhängige Prüfung.

  STOP_ALGO_TRADING_WITHOUT_APPROVAL:
    id: STOP_ALGO_TRADING_WITHOUT_APPROVAL
    title: "Algorithmischer Handel ohne Genehmigung"
    description: "KI-basierter Handel ohne aufsichtsrechtliche Genehmigung"
    outcome: NOT_ALLOWED
    when:
      - ai_application.algorithmic_trading == true
    message: |
      Algorithmischer Handel mit KI erfordert nach MiFID II Art. 17 eine
      Genehmigung durch die Geschäftsleitung, Anzeige bei der BaFin und
      Implementierung von Kill-Switches. Der Einsatz ohne diese Maßnahmen
      ist aufsichtsrechtlich nicht zulässig.

  STOP_TPP_THIRD_COUNTRY_CRITICAL:
    id: STOP_TPP_THIRD_COUNTRY_CRITICAL
    title: "Kritische IKT-Auslagerung in Drittland"
    description: "Kritische IKT-Dienste bei Drittland-Anbieter ohne Schutzmaßnahmen"
    outcome: NOT_ALLOWED_UNTIL_CLEARED
    when:
      - ict_service.is_critical == true
      - ict_service.is_outsourced == true
      - ict_service.provider_location == THIRD_COUNTRY
    message: |
      Die Auslagerung kritischer IKT-Dienste an Anbieter in Drittländern
      erfordert zusätzliche Schutzmaßnahmen nach DORA Art. 31. Eine
      vertiefte Risikoanalyse und Genehmigung durch die Geschäftsleitung
      ist erforderlich.

# =============================================================================
# Regeln (deterministische Auswertung)
# =============================================================================

rules:
  # --- DORA-Regeln ---

  - id: R-FIN-DORA-001
    category: "H. Financial Regulations"
    title: "DORA-Pflichtigkeit"
    description: "Prüfung ob DORA-Anforderungen greifen"
    condition:
      all_of:
        - field: domain
          operator: in
          value: [banking, finance, insurance, investment, payment_services, crypto_assets]
        - field: financial_entity.regulated
          operator: equals
          value: true
    effect:
      controls_add:
        - CTRL-DORA-ICT-RISK-FRAMEWORK
        - CTRL-DORA-ICT-INCIDENT-MANAGEMENT
        - CTRL-DORA-DIGITAL-RESILIENCE-TESTING
      risk_add: 15
    severity: WARN
    dora_ref: "DORA Art. 2"
    rationale: "Regulierte Finanzunternehmen unterliegen DORA"

  - id: R-FIN-DORA-002
    category: "H. Financial Regulations"
    title: "Kritische IKT-Auslagerung"
    description: "Erhöhte Anforderungen bei kritischen IKT-Diensten"
    condition:
      all_of:
        - field: ict_service.is_critical
          operator: equals
          value: true
        - field: ict_service.is_outsourced
          operator: equals
          value: true
    effect:
      controls_add:
        - CTRL-DORA-TPP-RISK-MANAGEMENT
        - CTRL-MARISK-OUTSOURCING
      risk_add: 25
      escalation: true
    severity: WARN
    dora_ref: "DORA Art. 28-30"
    rationale: "Kritische IKT-Auslagerungen erfordern verstärkte Kontrollen"

  - id: R-FIN-DORA-003
    category: "H. Financial Regulations"
    title: "Konzentrationsrisiko IKT"
    description: "Warnung bei hoher Abhängigkeit von einzelnen IKT-Anbietern"
    condition:
      field: ict_service.concentration_risk
      operator: equals
      value: true
    effect:
      controls_add:
        - CTRL-DORA-TPP-RISK-MANAGEMENT
      risk_add: 20
      escalation: true
    severity: WARN
    dora_ref: "DORA Art. 29(2)"
    rationale: "Konzentrationsrisiken können systemische Auswirkungen haben"

  # --- MaRisk-Regeln ---

  - id: R-FIN-MARISK-001
    category: "H. Financial Regulations"
    title: "KI-Risikomodell Validierung"
    description: "Validierungspflicht für KI-Risikomodelle"
    condition:
      all_of:
        - field: ai_application.risk_assessment
          operator: equals
          value: true
        - field: ai_application.model_validation_done
          operator: equals
          value: false
    effect:
      feasibility: NO
      controls_add:
        - CTRL-MARISK-MODEL-VALIDATION
    severity: BLOCK
    marisk_ref: "MaRisk AT 4.3.5"
    rationale: "Nicht-validierte Risikomodelle dürfen nicht produktiv eingesetzt werden"

  - id: R-FIN-MARISK-002
    category: "H. Financial Regulations"
    title: "Validiertes Risikomodell"
    description: "KI-Risikomodell mit abgeschlossener Validierung"
    condition:
      all_of:
        - field: ai_application.risk_assessment
          operator: equals
          value: true
        - field: ai_application.model_validation_done
          operator: equals
          value: true
    effect:
      controls_add:
        - CTRL-MARISK-RISK-REPORTING
      risk_add: 10
    severity: INFO
    marisk_ref: "MaRisk AT 4.3.5"
    rationale: "Validiertes Modell erfordert weiterhin laufende Überwachung"

  # --- BAIT-Regeln ---

  - id: R-FIN-BAIT-001
    category: "H. Financial Regulations"
    title: "BAIT-Grundanforderungen"
    description: "IT-Governance nach BAIT"
    condition:
      all_of:
        - field: domain
          operator: in
          value: [banking, finance]
        - field: financial_entity.regulated
          operator: equals
          value: true
    effect:
      controls_add:
        - CTRL-BAIT-IT-STRATEGY
        - CTRL-BAIT-IT-GOVERNANCE
        - CTRL-BAIT-IAM
        - CTRL-BAIT-LOGGING
      risk_add: 10
    severity: INFO
    bait_ref: "BAIT"
    rationale: "Regulierte Banken müssen BAIT einhalten"

  - id: R-FIN-BAIT-002
    category: "H. Financial Regulations"
    title: "KI-Anwendungsentwicklung"
    description: "SDLC-Anforderungen für KI-Projekte"
    condition:
      all_of:
        - field: financial_entity.regulated
          operator: equals
          value: true
        - field: model_usage.training
          operator: equals
          value: true
    effect:
      controls_add:
        - CTRL-BAIT-SDLC
        - CTRL-BAIT-IT-PROJECT-MANAGEMENT
      risk_add: 15
    severity: WARN
    bait_ref: "BAIT Tz. 27-42"
    rationale: "Eigenentwicklung von KI erfordert SDLC-Konformität"

  # --- KI-spezifische Finanzregeln ---

  - id: R-FIN-AI-001
    category: "H. Financial Regulations"
    title: "KI für Kundenentscheidungen"
    description: "Erklärbarkeitsanforderungen bei Kundenentscheidungen"
    condition:
      field: ai_application.affects_customer_decisions
      operator: equals
      value: true
    effect:
      controls_add:
        - CTRL-FIN-AI-EXPLAINABILITY
        - CTRL-FIN-AI-BIAS-MONITORING
        - CTRL-CONTESTATION
      risk_add: 20
      escalation: true
    severity: WARN
    rationale: "Kundenentscheidungen per KI erfordern Erklärbarkeit und Fairness"

  - id: R-FIN-AI-002
    category: "H. Financial Regulations"
    title: "Algorithmischer Handel"
    description: "Anforderungen an KI-gestützten Handel"
    condition:
      field: ai_application.algorithmic_trading
      operator: equals
      value: true
    effect:
      controls_add:
        - CTRL-FIN-ALGO-TRADING
      risk_add: 30
      escalation: true
    severity: WARN
    mifid_ref: "Art. 17 MiFID II"
    rationale: "Algorithmischer Handel unterliegt besonderen Anforderungen"

  - id: R-FIN-AI-003
    category: "H. Financial Regulations"
    title: "KI für AML/KYC"
    description: "Anforderungen an KI in der Geldwäscheprävention"
    condition:
      field: ai_application.aml_kyc
      operator: equals
      value: true
    effect:
      controls_add:
        - CTRL-FIN-AML-AI
        - CTRL-HITL_ENFORCED
      risk_add: 15
    severity: WARN
    gwg_ref: "GwG"
    rationale: "AML-Entscheidungen erfordern menschliche Überprüfung"

  # --- Drittland-Regeln ---

  - id: R-FIN-TPP-001
    category: "H. Financial Regulations"
    title: "IKT-Auslagerung Drittland"
    description: "Kritische IKT in Drittländern"
    condition:
      all_of:
        - field: ict_service.is_critical
          operator: equals
          value: true
        - field: ict_service.provider_location
          operator: equals
          value: THIRD_COUNTRY
    effect:
      feasibility: CONDITIONAL
      controls_add:
        - CTRL-DORA-TPP-RISK-MANAGEMENT
        - CTRL-SCC
        - CTRL-TIA
      risk_add: 30
      escalation: true
    severity: WARN
    dora_ref: "DORA Art. 31"
    rationale: "Drittland-Auslagerungen erfordern zusätzliche Prüfung"

# =============================================================================
# Eskalations-Trigger für Finanzsektor
# =============================================================================

escalation_triggers:
  - id: ESC_FIN_CRITICAL_ICT
    trigger:
      - "ict_service.is_critical == true"
      - "ict_service.is_outsourced == true"
    level: E3
    reason: "Kritische IKT-Auslagerung erfordert Geschäftsleitungsentscheidung"

  - id: ESC_FIN_ALGO_TRADING
    trigger:
      - "ai_application.algorithmic_trading == true"
    level: E3
    reason: "Algorithmischer Handel erfordert aufsichtsrechtliche Prüfung"

  - id: ESC_FIN_RISK_MODEL
    trigger:
      - "ai_application.risk_assessment == true"
    level: E2
    reason: "KI-Risikomodelle erfordern Validierung und Genehmigung"

  - id: ESC_FIN_CUSTOMER_DECISIONS
    trigger:
      - "ai_application.affects_customer_decisions == true"
    level: E2
    reason: "KI-Kundenentscheidungen erfordern Fairness-Prüfung"
