/**
 * DSFA Risikokatalog — Vertraulichkeit & Integritaet
 */

import type { CatalogRisk } from './types'

export const CONFIDENTIALITY_RISKS: CatalogRisk[] = [
  {
    id: 'R-CONF-01',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Unbefugte Offenlegung durch Fehlkonfiguration',
    description: 'Personenbezogene Daten werden durch fehlerhafte Systemkonfiguration (z.B. offene APIs, fehlerhafte Zugriffsrechte, oeffentliche Cloud-Speicher) unbefugt zugaenglich.',
    impactExamples: ['Identitaetsdiebstahl', 'Reputationsschaden', 'Diskriminierung'],
    typicalLikelihood: 'medium',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K5'],
    applicableTo: ['cloud_storage', 'web_application', 'api_service'],
    mitigationIds: ['M-CONF-01', 'M-CONF-02', 'M-CONF-03'],
  },
  {
    id: 'R-CONF-02',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Account Takeover / Credential Stuffing',
    description: 'Angreifer uebernehmen Benutzerkonten durch gestohlene Zugangsdaten, Brute-Force-Angriffe oder Phishing und erlangen Zugriff auf personenbezogene Daten.',
    impactExamples: ['Kontrollverlust ueber eigene Daten', 'Finanzieller Schaden', 'Missbrauch der Identitaet'],
    typicalLikelihood: 'high',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K7'],
    applicableTo: ['identity', 'web_application', 'email_service'],
    mitigationIds: ['M-ACC-01', 'M-ACC-02'],
  },
  {
    id: 'R-CONF-03',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Unbefugter Zugriff durch Support-/Administrationspersonal',
    description: 'Administratoren oder Support-Mitarbeiter greifen ohne dienstliche Notwendigkeit auf personenbezogene Daten zu (Insider-Bedrohung).',
    impactExamples: ['Verletzung der Privatsphaere', 'Datenmissbrauch', 'Vertrauensverlust'],
    typicalLikelihood: 'medium',
    typicalImpact: 'medium',
    wp248Criteria: ['K4'],
    applicableTo: ['identity', 'crm', 'cloud_storage', 'support_system'],
    mitigationIds: ['M-CONF-04', 'M-CONF-05', 'M-INT-02'],
  },
  {
    id: 'R-CONF-04',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Datenleck durch unzureichende Verschluesselung',
    description: 'Personenbezogene Daten werden bei Uebertragung oder Speicherung nicht oder unzureichend verschluesselt und koennen abgefangen werden.',
    impactExamples: ['Man-in-the-Middle-Angriff', 'Datendiebstahl bei Speichermedien-Verlust'],
    typicalLikelihood: 'medium',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K8'],
    applicableTo: ['cloud_storage', 'email_service', 'mobile_app', 'api_service'],
    mitigationIds: ['M-CONF-06', 'M-CONF-07'],
  },
  {
    id: 'R-CONF-05',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Unkontrollierte Datenweitergabe an Dritte',
    description: 'Personenbezogene Daten werden ohne Rechtsgrundlage oder ueber das vereinbarte Mass hinaus an Dritte weitergegeben (z.B. durch Tracking, Analyse-Tools, Sub-Auftragsverarbeiter).',
    impactExamples: ['Unerwuenschte Werbung', 'Profiling ohne Wissen', 'Kontrollverlust'],
    typicalLikelihood: 'medium',
    typicalImpact: 'medium',
    wp248Criteria: ['K1', 'K6'],
    applicableTo: ['web_application', 'analytics', 'marketing', 'crm'],
    mitigationIds: ['M-NONL-01', 'M-TRANS-01'],
  },
  {
    id: 'R-CONF-06',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Social Engineering / Phishing gegen Betroffene',
    description: 'Betroffene werden durch manipulative Kommunikation dazu verleitet, personenbezogene Daten preiszugeben oder Zugriff zu gewaehren.',
    impactExamples: ['Identitaetsdiebstahl', 'Finanzieller Schaden', 'Uebernahme von Konten'],
    typicalLikelihood: 'high',
    typicalImpact: 'medium',
    wp248Criteria: ['K7'],
    applicableTo: ['email_service', 'web_application', 'identity'],
    mitigationIds: ['M-ACC-01', 'M-ORG-01'],
  },
  {
    id: 'R-CONF-07',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Unbeabsichtigte Offenlegung in Logs/Debugging',
    description: 'Personenbezogene Daten gelangen in Protokolldateien, Fehlermeldungen oder Debug-Ausgaben und werden dort nicht geschuetzt.',
    impactExamples: ['Zugriff durch Unbefugte auf Logdaten', 'Langzeitspeicherung ohne Rechtsgrundlage'],
    typicalLikelihood: 'medium',
    typicalImpact: 'medium',
    wp248Criteria: ['K4'],
    applicableTo: ['api_service', 'web_application', 'cloud_storage'],
    mitigationIds: ['M-CONF-08', 'M-DMIN-01'],
  },
  {
    id: 'R-SPEC-01',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Kompromittierung besonderer Datenkategorien (Art. 9)',
    description: 'Besonders schutzwuerdige Daten (Gesundheit, Religion, Biometrie, Gewerkschaftszugehoerigkeit) werden offengelegt oder missbraucht.',
    impactExamples: ['Schwerwiegende Diskriminierung', 'Existenzielle Bedrohung', 'Soziale Ausgrenzung'],
    typicalLikelihood: 'low',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K7'],
    applicableTo: ['hr_system', 'health_system', 'identity'],
    mitigationIds: ['M-CONF-06', 'M-CONF-01', 'M-CONF-04'],
  },
  {
    id: 'R-AUTO-05',
    category: 'confidentiality',
    sdmGoal: 'vertraulichkeit',
    title: 'Datenleck durch KI-Training mit personenbezogenen Daten',
    description: 'Personenbezogene Daten, die fuer das Training von KI-Modellen verwendet werden, koennen durch das Modell reproduziert oder extrahiert werden (Model Inversion, Membership Inference).',
    impactExamples: ['Offenlegung von Trainingsdaten', 'Re-Identifizierung'],
    typicalLikelihood: 'low',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K8'],
    applicableTo: ['ai_ml'],
    mitigationIds: ['M-CONF-06', 'M-NONL-03', 'M-AUTO-04'],
  },
]

export const INTEGRITY_RISKS: CatalogRisk[] = [
  {
    id: 'R-INT-01',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Datenmanipulation durch externen Angriff',
    description: 'Personenbezogene Daten werden durch einen Cyberangriff (SQL-Injection, API-Manipulation) veraendert, ohne dass dies erkannt wird.',
    impactExamples: ['Falsche Entscheidungen auf Basis manipulierter Daten', 'Rufschaedigung'],
    typicalLikelihood: 'medium',
    typicalImpact: 'high',
    wp248Criteria: ['K4', 'K8'],
    applicableTo: ['api_service', 'web_application', 'database'],
    mitigationIds: ['M-INT-01', 'M-INT-02', 'M-INT-03'],
  },
  {
    id: 'R-INT-02',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Fehlerhafte Synchronisation zwischen Systemen',
    description: 'Bei der Synchronisation personenbezogener Daten zwischen verschiedenen Systemen kommt es zu Inkonsistenzen, Duplikaten oder Datenverlust.',
    impactExamples: ['Falsche Kontaktdaten', 'Doppelte Verarbeitung', 'Falsche Auskuenfte'],
    typicalLikelihood: 'medium',
    typicalImpact: 'medium',
    wp248Criteria: ['K6'],
    applicableTo: ['crm', 'cloud_storage', 'erp', 'identity'],
    mitigationIds: ['M-INT-04', 'M-INT-05'],
  },
  {
    id: 'R-INT-03',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Backup-Korruption oder fehlerhafte Wiederherstellung',
    description: 'Backups personenbezogener Daten sind beschaedigt, unvollstaendig oder veraltet, sodass eine zuverlaessige Wiederherstellung nicht moeglich ist.',
    impactExamples: ['Datenverlust bei Wiederherstellung', 'Veraltete Datenbasis', 'Compliance-Verstoss'],
    typicalLikelihood: 'low',
    typicalImpact: 'high',
    wp248Criteria: ['K5'],
    applicableTo: ['database', 'cloud_storage', 'erp'],
    mitigationIds: ['M-AVAIL-01', 'M-AVAIL-02'],
  },
  {
    id: 'R-INT-04',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Unbemerkte Aenderung von Zugriffsrechten',
    description: 'Zugriffsberechtigungen werden unbefugt oder fehlerhaft geaendert, wodurch unberechtigte Personen Zugang zu personenbezogenen Daten erhalten.',
    impactExamples: ['Privilege Escalation', 'Unbefugter Datenzugriff'],
    typicalLikelihood: 'medium',
    typicalImpact: 'high',
    wp248Criteria: ['K4'],
    applicableTo: ['identity', 'cloud_storage', 'api_service'],
    mitigationIds: ['M-INT-02', 'M-CONF-04'],
  },
  {
    id: 'R-INT-05',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Fehlende Nachvollziehbarkeit von Datenveraenderungen',
    description: 'Aenderungen an personenbezogenen Daten werden nicht protokolliert, sodass Manipulationen oder Fehler nicht erkannt oder nachvollzogen werden koennen.',
    impactExamples: ['Unmoeglich festzustellen wer/wann Daten geaendert hat', 'Audit-Versagen'],
    typicalLikelihood: 'medium',
    typicalImpact: 'medium',
    wp248Criteria: ['K3'],
    applicableTo: ['database', 'crm', 'erp', 'web_application'],
    mitigationIds: ['M-INT-02', 'M-TRANS-02'],
  },
  {
    id: 'R-ORG-03',
    category: 'integrity',
    sdmGoal: 'integritaet',
    title: 'Unzureichende Schulung/Sensibilisierung der Mitarbeiter',
    description: 'Mitarbeiter sind nicht ausreichend im Umgang mit personenbezogenen Daten geschult und verursachen durch Unkenntnis Datenpannen oder Verarbeitungsfehler.',
    impactExamples: ['Versehentliche Datenweitergabe', 'Phishing-Erfolg', 'Fehlerhafte Verarbeitung'],
    typicalLikelihood: 'high',
    typicalImpact: 'medium',
    wp248Criteria: ['K5', 'K7'],
    applicableTo: ['hr_system', 'email_service', 'crm', 'web_application'],
    mitigationIds: ['M-ORG-01', 'M-ORG-02'],
  },
]
