SDK modules added/enhanced: - compliance-hub, compliance-scope, consent-management, notfallplan - audit-report, workflow, source-policy, dsms - advisory-board documentation section - TOM dashboard components, TOM generator SDM mapping - DSFA: mitigation library, risk catalog, threshold analysis, source attribution - VVT: baseline catalog, profiling engine, types - Loeschfristen: baseline catalog, compliance engine, export, profiling, types - Compliance scope: engine, profiling, golden tests, types Existing SDK pages updated: - dsfa/[id], tom, vvt, loeschfristen, advisory-board — expanded functionality - SDKSidebar, StepHeader — new navigation items and layout - SDK layout, context, types — expanded type system Other admin-v2 changes: - AI agents page, RAG pipeline DSFA integration - GridOverlay component updates - Companion feature (development + education) - Compliance advisor SOUL definition Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
616 lines
28 KiB
TypeScript
616 lines
28 KiB
TypeScript
/**
|
|
* DSFA Risikokatalog - Vordefinierte Risikoszenarien
|
|
*
|
|
* ~40 Risiken gegliedert nach Vertraulichkeit, Integritaet, Verfuegbarkeit,
|
|
* Rechte & Freiheiten, Drittlandtransfer und Automatisierung.
|
|
*
|
|
* Quellen: EG 75 DSGVO, Art. 32 DSGVO, Art. 28/46 DSGVO, Art. 22 DSGVO,
|
|
* Baseline-DSFA Katalog, SDM V2.0
|
|
*/
|
|
|
|
import type { DSFARiskCategory } from './types'
|
|
import type { SDMGoal } from './types'
|
|
|
|
// =============================================================================
|
|
// TYPES
|
|
// =============================================================================
|
|
|
|
export interface CatalogRisk {
|
|
id: string
|
|
category: DSFARiskCategory
|
|
sdmGoal: SDMGoal
|
|
title: string
|
|
description: string
|
|
impactExamples: string[]
|
|
typicalLikelihood: 'low' | 'medium' | 'high'
|
|
typicalImpact: 'low' | 'medium' | 'high'
|
|
wp248Criteria: string[]
|
|
applicableTo: string[]
|
|
mitigationIds: string[]
|
|
}
|
|
|
|
// =============================================================================
|
|
// RISIKOKATALOG
|
|
// =============================================================================
|
|
|
|
export const RISK_CATALOG: CatalogRisk[] = [
|
|
// =========================================================================
|
|
// VERTRAULICHKEIT (Confidentiality)
|
|
// =========================================================================
|
|
{
|
|
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'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// INTEGRITAET (Integrity)
|
|
// =========================================================================
|
|
{
|
|
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'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// VERFUEGBARKEIT (Availability)
|
|
// =========================================================================
|
|
{
|
|
id: 'R-AVAIL-01',
|
|
category: 'availability',
|
|
sdmGoal: 'verfuegbarkeit',
|
|
title: 'Ransomware-Angriff mit Datenverschluesselung',
|
|
description: 'Schadsoftware verschluesselt personenbezogene Daten und macht sie unzugaenglich. Die Wiederherstellung erfordert entweder Loesegeldzahlung oder Backup-Restore.',
|
|
impactExamples: ['Verlust des Zugangs zu eigenen Daten', 'Betriebsunterbrechung', 'Loesegeld-Erpressung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K5', 'K8'],
|
|
applicableTo: ['cloud_storage', 'database', 'erp', 'web_application'],
|
|
mitigationIds: ['M-AVAIL-01', 'M-AVAIL-02', 'M-AVAIL-03'],
|
|
},
|
|
{
|
|
id: 'R-AVAIL-02',
|
|
category: 'availability',
|
|
sdmGoal: 'verfuegbarkeit',
|
|
title: 'Provider-Ausfall / Cloud-Service Nichtverfuegbarkeit',
|
|
description: 'Der Cloud-/Hosting-Provider faellt aus, was den Zugang zu personenbezogenen Daten verhindert. Betroffene koennen ihre Rechte nicht ausueben.',
|
|
impactExamples: ['Keine Auskunft moeglich', 'Vertragsverletzung', 'Geschaeftsunterbrechung'],
|
|
typicalLikelihood: 'low',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K5', 'K9'],
|
|
applicableTo: ['cloud_storage', 'web_application', 'api_service'],
|
|
mitigationIds: ['M-AVAIL-04', 'M-AVAIL-05'],
|
|
},
|
|
{
|
|
id: 'R-AVAIL-03',
|
|
category: 'availability',
|
|
sdmGoal: 'verfuegbarkeit',
|
|
title: 'Datenverlust durch fehlende oder ungetestete Backups',
|
|
description: 'Personenbezogene Daten gehen unwiederbringlich verloren, weil keine ausreichenden Backups existieren oder Restore-Prozesse nicht getestet werden.',
|
|
impactExamples: ['Unwiderruflicher Datenverlust', 'Verlust von Beweismitteln', 'Compliance-Verstoss'],
|
|
typicalLikelihood: 'low',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['database', 'cloud_storage', 'erp'],
|
|
mitigationIds: ['M-AVAIL-01', 'M-AVAIL-02'],
|
|
},
|
|
{
|
|
id: 'R-AVAIL-04',
|
|
category: 'availability',
|
|
sdmGoal: 'verfuegbarkeit',
|
|
title: 'DDoS-Angriff auf oeffentliche Dienste',
|
|
description: 'Ein Distributed-Denial-of-Service-Angriff verhindert den Zugang zu Systemen, die personenbezogene Daten verarbeiten.',
|
|
impactExamples: ['Betroffene koennen Rechte nicht ausueben', 'Geschaeftsausfall'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K5', 'K9'],
|
|
applicableTo: ['web_application', 'api_service'],
|
|
mitigationIds: ['M-AVAIL-06', 'M-AVAIL-04'],
|
|
},
|
|
{
|
|
id: 'R-AVAIL-05',
|
|
category: 'availability',
|
|
sdmGoal: 'verfuegbarkeit',
|
|
title: 'Vendor Lock-in mit Kontrollverlust',
|
|
description: 'Abhaengigkeit von einem einzelnen Anbieter erschwert oder verhindert den Zugang zu personenbezogenen Daten bei Vertragsbeendigung oder Anbieterwechsel.',
|
|
impactExamples: ['Datenexport nicht moeglich', 'Erzwungene Weiternutzung', 'Datenverlust bei Kuendigung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K9'],
|
|
applicableTo: ['cloud_storage', 'erp', 'crm'],
|
|
mitigationIds: ['M-AVAIL-05', 'M-INTERV-01'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// RECHTE & FREIHEITEN (Rights & Freedoms)
|
|
// =========================================================================
|
|
{
|
|
id: 'R-RIGHTS-01',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'nichtverkettung',
|
|
title: 'Diskriminierung durch automatisierte Verarbeitung',
|
|
description: 'Automatisierte Entscheidungssysteme fuehren zu einer diskriminierenden Behandlung bestimmter Personengruppen aufgrund von Merkmalen wie Alter, Geschlecht, Herkunft oder Gesundheitszustand.',
|
|
impactExamples: ['Benachteiligung bei Kreditvergabe', 'Ausschluss von Dienstleistungen', 'Ungleichbehandlung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K1', 'K2', 'K7'],
|
|
applicableTo: ['ai_ml', 'scoring', 'identity'],
|
|
mitigationIds: ['M-AUTO-01', 'M-AUTO-02', 'M-TRANS-03'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-02',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'nichtverkettung',
|
|
title: 'Unzulaessiges Profiling ohne Einwilligung',
|
|
description: 'Nutzerverhalten wird systematisch analysiert und zu Profilen zusammengefuehrt, ohne dass eine Rechtsgrundlage oder Einwilligung vorliegt.',
|
|
impactExamples: ['Persoenlichkeitsprofile ohne Wissen', 'Gezielte Manipulation', 'Filterblase'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K1', 'K3', 'K6'],
|
|
applicableTo: ['analytics', 'marketing', 'web_application', 'ai_ml'],
|
|
mitigationIds: ['M-NONL-01', 'M-NONL-02', 'M-TRANS-01'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-03',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Systematische Ueberwachung von Betroffenen',
|
|
description: 'Betroffene werden systematisch ueberwacht (z.B. durch Standorttracking, E-Mail-Monitoring, Videoueberwachung), ohne angemessene Transparenz oder Rechtsgrundlage.',
|
|
impactExamples: ['Einschuechterungseffekt (Chilling Effect)', 'Verletzung der Privatsphaere', 'Vertrauensverlust'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K3', 'K4', 'K7'],
|
|
applicableTo: ['monitoring', 'hr_system', 'mobile_app'],
|
|
mitigationIds: ['M-TRANS-01', 'M-TRANS-04', 'M-NONL-01'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-04',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'nichtverkettung',
|
|
title: 'Re-Identifizierung pseudonymisierter Daten',
|
|
description: 'Pseudonymisierte oder anonymisierte Daten werden durch Zusammenfuehrung mit anderen Datenquellen re-identifiziert, wodurch der Schutz der Betroffenen aufgehoben wird.',
|
|
impactExamples: ['Verlust der Anonymitaet', 'Unerwuenschte Identifizierung', 'Zweckentfremdung'],
|
|
typicalLikelihood: 'low',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K1', 'K6', 'K8'],
|
|
applicableTo: ['analytics', 'ai_ml', 'research'],
|
|
mitigationIds: ['M-NONL-03', 'M-NONL-04', 'M-DMIN-02'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-05',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'intervenierbarkeit',
|
|
title: 'Hinderung bei Ausuebung von Betroffenenrechten',
|
|
description: 'Betroffene werden an der Ausuebung ihrer Rechte (Auskunft, Loeschung, Berichtigung, Widerspruch) gehindert — z.B. durch fehlende Prozesse, technische Huerden oder Verzoegerungen.',
|
|
impactExamples: ['Keine Loeschung moeglich', 'Verzoegerte Auskunft', 'Bussgeld gem. Art. 83'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K9'],
|
|
applicableTo: ['web_application', 'crm', 'identity', 'cloud_storage'],
|
|
mitigationIds: ['M-INTERV-01', 'M-INTERV-02', 'M-INTERV-03'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-06',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Fehlende oder unzureichende Informationspflichten',
|
|
description: 'Betroffene werden nicht oder unzureichend ueber die Verarbeitung ihrer Daten informiert (Verstoss gegen Art. 13/14 DSGVO).',
|
|
impactExamples: ['Keine informierte Einwilligung moeglich', 'Vertrauensverlust', 'Bussgeld'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K9'],
|
|
applicableTo: ['web_application', 'mobile_app', 'marketing'],
|
|
mitigationIds: ['M-TRANS-01', 'M-TRANS-05'],
|
|
},
|
|
{
|
|
id: 'R-RIGHTS-07',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'datenminimierung',
|
|
title: 'Uebermassige Datenerhebung (Verstoss Datenminimierung)',
|
|
description: 'Es werden mehr personenbezogene Daten erhoben als fuer den Verarbeitungszweck notwendig (Verstoss gegen Art. 5 Abs. 1 lit. c DSGVO).',
|
|
impactExamples: ['Unnoetige Risikoexposition', 'Hoeherer Schaden bei Datenpanne'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['web_application', 'mobile_app', 'crm', 'hr_system'],
|
|
mitigationIds: ['M-DMIN-01', 'M-DMIN-02', 'M-DMIN-03'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// DRITTLANDTRANSFER
|
|
// =========================================================================
|
|
{
|
|
id: 'R-TRANS-01',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'vertraulichkeit',
|
|
title: 'Zugriff durch Drittland-Behoerden (FISA/CLOUD Act)',
|
|
description: 'Behoerden eines Drittlandes (z.B. USA) greifen auf personenbezogene Daten zu, die bei einem Cloud-Provider in der EU oder im Drittland gespeichert sind.',
|
|
impactExamples: ['Ueberwachung ohne Wissen', 'Kein Rechtsschutz', 'Schrems-II-Risiko'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K4', 'K5', 'K7'],
|
|
applicableTo: ['cloud_storage', 'email_service', 'crm', 'analytics'],
|
|
mitigationIds: ['M-TRANS-06', 'M-TRANS-07', 'M-CONF-06'],
|
|
},
|
|
{
|
|
id: 'R-TRANS-02',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'vertraulichkeit',
|
|
title: 'Unzureichende Schutzgarantien bei Drittlandtransfer',
|
|
description: 'Personenbezogene Daten werden in Drittlaender uebermittelt, ohne dass angemessene Garantien (SCC, BCR, Angemessenheitsbeschluss) vorhanden sind.',
|
|
impactExamples: ['Rechtswidriger Transfer', 'Bussgeld', 'Untersagung der Verarbeitung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K5', 'K7'],
|
|
applicableTo: ['cloud_storage', 'email_service', 'crm', 'analytics'],
|
|
mitigationIds: ['M-TRANS-06', 'M-TRANS-07', 'M-LEGAL-01'],
|
|
},
|
|
{
|
|
id: 'R-TRANS-03',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Intransparente Sub-Auftragsverarbeiter-Kette',
|
|
description: 'Die Kette der Sub-Auftragsverarbeiter ist nicht transparent. Betroffene und Verantwortliche wissen nicht, wo ihre Daten tatsaechlich verarbeitet werden.',
|
|
impactExamples: ['Unkontrollierte Datenweitergabe', 'Unbekannter Verarbeitungsort'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['cloud_storage', 'crm', 'analytics'],
|
|
mitigationIds: ['M-TRANS-01', 'M-LEGAL-02'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// AUTOMATISIERUNG / KI
|
|
// =========================================================================
|
|
{
|
|
id: 'R-AUTO-01',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'KI-Fehlentscheidung mit erheblicher Auswirkung',
|
|
description: 'Ein KI-System trifft eine fehlerhafte automatisierte Entscheidung (z.B. Ablehnung, Sperrung, Bewertung), die erhebliche Auswirkungen auf eine betroffene Person hat.',
|
|
impactExamples: ['Unrechtmaessige Ablehnung', 'Falsche Risikoeinstufung', 'Benachteiligung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K1', 'K2', 'K8'],
|
|
applicableTo: ['ai_ml', 'scoring', 'hr_system'],
|
|
mitigationIds: ['M-AUTO-01', 'M-AUTO-02', 'M-AUTO-03'],
|
|
},
|
|
{
|
|
id: 'R-AUTO-02',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'nichtverkettung',
|
|
title: 'Algorithmischer Bias in Trainingsdaten',
|
|
description: 'KI-Modelle spiegeln Vorurteile in den Trainingsdaten wider und treffen diskriminierende Entscheidungen bezueglich geschuetzter Merkmale.',
|
|
impactExamples: ['Diskriminierung nach Geschlecht/Herkunft', 'Systematische Benachteiligung'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K1', 'K2', 'K7', 'K8'],
|
|
applicableTo: ['ai_ml', 'scoring'],
|
|
mitigationIds: ['M-AUTO-01', 'M-AUTO-04'],
|
|
},
|
|
{
|
|
id: 'R-AUTO-03',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Fehlende Erklaerbarkeit automatisierter Entscheidungen',
|
|
description: 'Automatisierte Entscheidungen koennen den Betroffenen nicht erklaert werden ("Black Box"), sodass der Anspruch auf aussagekraeftige Informationen (Art. 22 Abs. 3) nicht erfuellt wird.',
|
|
impactExamples: ['Keine Anfechtbarkeit', 'Vertrauensverlust', 'Verstoss gegen Art. 22'],
|
|
typicalLikelihood: 'high',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K2', 'K8'],
|
|
applicableTo: ['ai_ml', 'scoring'],
|
|
mitigationIds: ['M-AUTO-02', 'M-TRANS-03'],
|
|
},
|
|
{
|
|
id: 'R-AUTO-04',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'intervenierbarkeit',
|
|
title: 'Fehlende menschliche Aufsicht bei KI-Entscheidungen',
|
|
description: 'Automatisierte Entscheidungen werden ohne menschliche Ueberpruefung oder Interventionsmoeglichkeit getroffen, obwohl dies erforderlich waere.',
|
|
impactExamples: ['Keine Korrekturmoeglichkeit', 'Eskalation von Fehlern'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K2', 'K8'],
|
|
applicableTo: ['ai_ml', 'scoring', 'hr_system'],
|
|
mitigationIds: ['M-AUTO-03', 'M-INTERV-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'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// ORGANISATORISCHE RISIKEN
|
|
// =========================================================================
|
|
{
|
|
id: 'R-ORG-01',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Fehlende oder fehlerhafte Auftragsverarbeitungsvertraege',
|
|
description: 'Mit Auftragsverarbeitern existieren keine oder unzureichende Vertraege gemaess Art. 28 DSGVO, sodass Pflichten und Rechte nicht geregelt sind.',
|
|
impactExamples: ['Keine Kontrolle ueber Verarbeiter', 'Bussgeld', 'Datenmissbrauch durch Verarbeiter'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['cloud_storage', 'crm', 'analytics', 'email_service'],
|
|
mitigationIds: ['M-LEGAL-02', 'M-LEGAL-03'],
|
|
},
|
|
{
|
|
id: 'R-ORG-02',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'datenminimierung',
|
|
title: 'Fehlende Loeschprozesse / Ueberschreitung von Aufbewahrungsfristen',
|
|
description: 'Personenbezogene Daten werden laenger als notwendig gespeichert, weil keine automatischen Loeschprozesse oder Aufbewahrungsfristen definiert sind.',
|
|
impactExamples: ['Unnoetige Risikoexposition', 'Verstoss gegen Speicherbegrenzung', 'Bussgeld'],
|
|
typicalLikelihood: 'high',
|
|
typicalImpact: 'medium',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['database', 'cloud_storage', 'crm', 'erp', 'email_service'],
|
|
mitigationIds: ['M-DMIN-03', 'M-DMIN-04'],
|
|
},
|
|
{
|
|
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'],
|
|
},
|
|
{
|
|
id: 'R-ORG-04',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'transparenz',
|
|
title: 'Fehlende Datenpannen-Erkennung und -Meldung',
|
|
description: 'Datenpannen werden nicht rechtzeitig erkannt oder nicht innerhalb der 72-Stunden-Frist (Art. 33 DSGVO) an die Aufsichtsbehoerde gemeldet.',
|
|
impactExamples: ['Verspaetete Meldung', 'Bussgeld', 'Verzoegerte Benachrichtigung Betroffener'],
|
|
typicalLikelihood: 'medium',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K5'],
|
|
applicableTo: ['web_application', 'cloud_storage', 'database', 'api_service'],
|
|
mitigationIds: ['M-ORG-03', 'M-ORG-04', 'M-INT-02'],
|
|
},
|
|
|
|
// =========================================================================
|
|
// BESONDERE DATENKATEGORIEN
|
|
// =========================================================================
|
|
{
|
|
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-SPEC-02',
|
|
category: 'rights_freedoms',
|
|
sdmGoal: 'intervenierbarkeit',
|
|
title: 'Verarbeitung von Kinderdaten ohne angemessenen Schutz',
|
|
description: 'Daten von Minderjaehrigen werden verarbeitet, ohne die besonderen Schutzmassnahmen fuer Kinder (Art. 8, EG 38 DSGVO) zu beachten.',
|
|
impactExamples: ['Langzeitfolgen fuer Minderjaehrige', 'Einschraenkung der Entwicklung', 'Manipulation'],
|
|
typicalLikelihood: 'low',
|
|
typicalImpact: 'high',
|
|
wp248Criteria: ['K4', 'K7'],
|
|
applicableTo: ['web_application', 'mobile_app', 'education'],
|
|
mitigationIds: ['M-LEGAL-04', 'M-DMIN-01', 'M-TRANS-01'],
|
|
},
|
|
]
|
|
|
|
// =============================================================================
|
|
// HELPER FUNCTIONS
|
|
// =============================================================================
|
|
|
|
export function getRisksByCategory(category: DSFARiskCategory): CatalogRisk[] {
|
|
return RISK_CATALOG.filter(r => r.category === category)
|
|
}
|
|
|
|
export function getRisksBySDMGoal(goal: SDMGoal): CatalogRisk[] {
|
|
return RISK_CATALOG.filter(r => r.sdmGoal === goal)
|
|
}
|
|
|
|
export function getRisksByWP248Criterion(criterionCode: string): CatalogRisk[] {
|
|
return RISK_CATALOG.filter(r => r.wp248Criteria.includes(criterionCode))
|
|
}
|
|
|
|
export function getRisksByComponent(component: string): CatalogRisk[] {
|
|
return RISK_CATALOG.filter(r => r.applicableTo.includes(component))
|
|
}
|
|
|
|
export function getCatalogRiskById(id: string): CatalogRisk | undefined {
|
|
return RISK_CATALOG.find(r => r.id === id)
|
|
}
|
|
|
|
export const RISK_CATEGORY_LABELS: Record<DSFARiskCategory, string> = {
|
|
confidentiality: 'Vertraulichkeit',
|
|
integrity: 'Integritaet',
|
|
availability: 'Verfuegbarkeit',
|
|
rights_freedoms: 'Rechte & Freiheiten',
|
|
}
|
|
|
|
export const COMPONENT_FAMILY_LABELS: Record<string, string> = {
|
|
identity: 'Identitaet & Zugang',
|
|
cloud_storage: 'Cloud-Speicher',
|
|
web_application: 'Web-Anwendung',
|
|
api_service: 'API-Service',
|
|
email_service: 'E-Mail-Dienst',
|
|
mobile_app: 'Mobile App',
|
|
database: 'Datenbank',
|
|
crm: 'CRM-System',
|
|
erp: 'ERP-System',
|
|
analytics: 'Analyse/Tracking',
|
|
marketing: 'Marketing',
|
|
ai_ml: 'KI / Machine Learning',
|
|
scoring: 'Scoring / Bewertung',
|
|
hr_system: 'HR-System',
|
|
health_system: 'Gesundheitssystem',
|
|
monitoring: 'Ueberwachungssystem',
|
|
support_system: 'Support-System',
|
|
education: 'Bildungsplattform',
|
|
research: 'Forschung',
|
|
}
|