/**
 * DSFA WP248 Types - Threshold analysis criteria, Art. 35 cases, AI triggers
 *
 * WP248 rev.01 criteria, DSK Kurzpapier Nr. 5, Art. 35 Abs. 3 DSGVO cases,
 * and AI-specific DSFA triggers.
 */

// =============================================================================
// WP248 REV.01 KRITERIEN (Schwellwertanalyse)
// Quelle: Artikel-29-Datenschutzgruppe, bestätigt durch EDSA
// =============================================================================

export interface WP248Criterion {
  id: string
  code: string
  title: string
  description: string
  examples: string[]
  gdprRef?: string
}

/**
 * WP248 rev.01 Kriterien zur Bestimmung der DSFA-Pflicht
 * Regel: Bei >= 2 erfüllten Kriterien ist DSFA in den meisten Fällen erforderlich
 */
export const WP248_CRITERIA: WP248Criterion[] = [
  {
    id: 'scoring_profiling',
    code: 'K1',
    title: 'Bewertung oder Scoring',
    description: 'Einschließlich Profiling und Prognosen, insbesondere zu Arbeitsleistung, wirtschaftlicher Lage, Gesundheit, persönlichen Vorlieben, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel.',
    examples: ['Bonitätsprüfung', 'Leistungsbeurteilung', 'Verhaltensanalyse'],
    gdprRef: 'Art. 35 Abs. 3 lit. a DSGVO',
  },
  {
    id: 'automated_decision',
    code: 'K2',
    title: 'Automatisierte Entscheidungsfindung mit Rechtswirkung',
    description: 'Automatisierte Verarbeitung, die als Grundlage für Entscheidungen dient, die Rechtswirkung gegenüber natürlichen Personen entfalten oder diese erheblich beeinträchtigen.',
    examples: ['Automatische Kreditvergabe', 'Automatische Bewerbungsablehnung', 'Algorithmenbasierte Preisgestaltung'],
    gdprRef: 'Art. 22 DSGVO',
  },
  {
    id: 'systematic_monitoring',
    code: 'K3',
    title: 'Systematische Überwachung',
    description: 'Verarbeitung zur Beobachtung, Überwachung oder Kontrolle von betroffenen Personen, einschließlich Datenerhebung über Netzwerke oder systematische Überwachung öffentlicher Bereiche.',
    examples: ['Videoüberwachung', 'WLAN-Tracking', 'GPS-Ortung', 'Mitarbeiterüberwachung'],
    gdprRef: 'Art. 35 Abs. 3 lit. c DSGVO',
  },
  {
    id: 'sensitive_data',
    code: 'K4',
    title: 'Sensible Daten oder höchst persönliche Daten',
    description: 'Verarbeitung besonderer Kategorien personenbezogener Daten (Art. 9), strafrechtlicher Daten (Art. 10) oder anderer höchst persönlicher Daten wie Kommunikationsinhalte, Standortdaten, Finanzinformationen.',
    examples: ['Gesundheitsdaten', 'Biometrische Daten', 'Genetische Daten', 'Politische Meinungen', 'Gewerkschaftszugehörigkeit'],
    gdprRef: 'Art. 9, Art. 10 DSGVO',
  },
  {
    id: 'large_scale',
    code: 'K5',
    title: 'Datenverarbeitung in großem Umfang',
    description: 'Berücksichtigt werden: Zahl der Betroffenen, Datenmenge, Dauer der Verarbeitung, geografische Reichweite.',
    examples: ['Landesweite Datenbanken', 'Millionen von Nutzern', 'Mehrjährige Speicherung'],
    gdprRef: 'Erwägungsgrund 91 DSGVO',
  },
  {
    id: 'matching_combining',
    code: 'K6',
    title: 'Abgleichen oder Zusammenführen von Datensätzen',
    description: 'Datensätze aus verschiedenen Quellen, die für unterschiedliche Zwecke und/oder von verschiedenen Verantwortlichen erhoben wurden, werden abgeglichen oder zusammengeführt.',
    examples: ['Data Warehousing', 'Big Data Analytics', 'Zusammenführung von Online-/Offline-Daten'],
  },
  {
    id: 'vulnerable_subjects',
    code: 'K7',
    title: 'Daten zu schutzbedürftigen Betroffenen',
    description: 'Verarbeitung von Daten schutzbedürftiger Personen, bei denen ein Ungleichgewicht zwischen Betroffenem und Verantwortlichem besteht.',
    examples: ['Kinder/Minderjährige', 'Arbeitnehmer', 'Patienten', 'Ältere Menschen', 'Asylbewerber'],
    gdprRef: 'Erwägungsgrund 75 DSGVO',
  },
  {
    id: 'innovative_technology',
    code: 'K8',
    title: 'Innovative Nutzung oder Anwendung neuer technologischer oder organisatorischer Lösungen',
    description: 'Einsatz neuer Technologien kann neue Formen der Datenerhebung und -nutzung mit sich bringen, möglicherweise mit hohem Risiko für Rechte und Freiheiten.',
    examples: ['Künstliche Intelligenz', 'Machine Learning', 'IoT-Geräte', 'Biometrische Erkennung', 'Blockchain'],
    gdprRef: 'Erwägungsgrund 89, 91 DSGVO',
  },
  {
    id: 'preventing_rights',
    code: 'K9',
    title: 'Verarbeitung, die Betroffene an der Ausübung eines Rechts oder der Nutzung einer Dienstleistung hindert',
    description: 'Verarbeitungsvorgänge, die darauf abzielen, einer Person den Zugang zu einer Dienstleistung oder den Abschluss eines Vertrags zu ermöglichen oder zu verweigern.',
    examples: ['Zugang zu Sozialleistungen', 'Kreditvergabe', 'Versicherungsabschluss'],
    gdprRef: 'Art. 22 DSGVO',
  },
]

// =============================================================================
// DSK KURZPAPIER NR. 5 REFERENZEN
// =============================================================================

export const DSK_KURZPAPIER_5 = {
  title: 'Kurzpapier Nr. 5: Datenschutz-Folgenabschätzung nach Art. 35 DS-GVO',
  source: 'Datenschutzkonferenz (DSK)',
  url: 'https://www.datenschutzkonferenz-online.de/media/kp/dsk_kpnr_5.pdf',
  license: 'Datenlizenz Deutschland – Namensnennung – Version 2.0 (DL-DE BY 2.0)',
  licenseUrl: 'https://www.govdata.de/dl-de/by-2-0',
  processSteps: [
    { step: 1, title: 'Projektteam bilden', description: 'Interdisziplinäres Team aus Datenschutz, Fachprozess, IT/Sicherheit' },
    { step: 2, title: 'Verarbeitung abgrenzen', description: 'Scope definieren, Datenflüsse und Zwecke beschreiben' },
    { step: 3, title: 'Prüfung der Notwendigkeit', description: 'Alternativen prüfen, Datenminimierung bewerten' },
    { step: 4, title: 'Risiken identifizieren', description: 'Risikoquellen ermitteln, Schäden bewerten' },
    { step: 5, title: 'Maßnahmen festlegen', description: 'TOM definieren, Restrisiko bewerten' },
    { step: 6, title: 'Bericht erstellen', description: 'DSFA-Bericht dokumentieren, ggf. veröffentlichen' },
    { step: 7, title: 'Fortschreibung', description: 'DSFA bei Änderungen aktualisieren' },
  ],
}

// =============================================================================
// ART. 35 ABS. 3 DSGVO - REGELBEISPIELE
// =============================================================================

export const ART35_ABS3_CASES = [
  {
    id: 'profiling_legal_effects',
    lit: 'a',
    title: 'Profiling mit Rechtswirkung',
    description: 'Systematische und umfassende Bewertung persönlicher Aspekte natürlicher Personen, die sich auf automatisierte Verarbeitung einschließlich Profiling gründet und die ihrerseits als Grundlage für Entscheidungen dient, die Rechtswirkung gegenüber natürlichen Personen entfalten oder diese in ähnlich erheblicher Weise beeinträchtigen.',
    gdprRef: 'Art. 35 Abs. 3 lit. a DSGVO',
  },
  {
    id: 'special_categories',
    lit: 'b',
    title: 'Besondere Datenkategorien in großem Umfang',
    description: 'Umfangreiche Verarbeitung besonderer Kategorien von personenbezogenen Daten gemäß Artikel 9 Absatz 1 oder von personenbezogenen Daten über strafrechtliche Verurteilungen und Straftaten gemäß Artikel 10.',
    gdprRef: 'Art. 35 Abs. 3 lit. b DSGVO',
  },
  {
    id: 'public_monitoring',
    lit: 'c',
    title: 'Systematische Überwachung öffentlicher Bereiche',
    description: 'Systematische umfangreiche Überwachung öffentlich zugänglicher Bereiche.',
    gdprRef: 'Art. 35 Abs. 3 lit. c DSGVO',
  },
]

// =============================================================================
// KI-SPEZIFISCHE DSFA-TRIGGER
// Quelle: Deutsche DSFA-Liste (nicht-öffentlicher Bereich)
// =============================================================================

export const AI_DSFA_TRIGGERS = [
  {
    id: 'ai_interaction',
    title: 'KI zur Steuerung der Interaktion mit Betroffenen',
    description: 'Einsatz von künstlicher Intelligenz zur Steuerung der Interaktion mit betroffenen Personen.',
    examples: ['KI-gestützter Kundensupport', 'Chatbots mit personenbezogener Verarbeitung', 'Automatisierte Kommunikation'],
    requiresDSFA: true,
  },
  {
    id: 'ai_personal_aspects',
    title: 'KI zur Bewertung persönlicher Aspekte',
    description: 'Einsatz von künstlicher Intelligenz zur Bewertung persönlicher Aspekte natürlicher Personen.',
    examples: ['Automatisierte Stimmungsanalyse', 'Verhaltensvorhersagen', 'Persönlichkeitsprofile'],
    requiresDSFA: true,
  },
  {
    id: 'ai_decision_making',
    title: 'KI-basierte automatisierte Entscheidungen',
    description: 'Automatisierte Entscheidungsfindung auf Basis von KI mit erheblicher Auswirkung auf Betroffene.',
    examples: ['Automatische Kreditvergabe', 'KI-basiertes Recruiting', 'Algorithmenbasierte Preisgestaltung'],
    requiresDSFA: true,
  },
  {
    id: 'ai_training_personal_data',
    title: 'KI-Training mit personenbezogenen Daten',
    description: 'Training von KI-Modellen mit personenbezogenen Daten, insbesondere sensiblen Daten.',
    examples: ['Training mit Gesundheitsdaten', 'Fine-Tuning mit Kundendaten', 'ML mit biometrischen Daten'],
    requiresDSFA: true,
  },
]
