/**
 * Deletion and Incident Controls
 * Domains: DELETION, INCIDENT
 */

import { Control } from '../types'

export const DELETION_CONTROLS: Control[] = [
  {
    id: 'VND-DEL-01',
    domain: 'DELETION',
    title: {
      de: 'Löschung/Rückgabe nach Vertragsende',
      en: 'Deletion/return after contract end',
    },
    description: {
      de: 'Klare Regelung zur Löschung oder Rückgabe aller Daten nach Vertragsende',
      en: 'Clear provision for deletion or return of all data after contract end',
    },
    passCriteria: {
      de: 'Löschfrist max. 30 Tage, Löschbestätigung vorgesehen',
      en: 'Deletion within max 30 days, deletion confirmation provided',
    },
    requirements: ['Art. 28 Abs. 3 lit. g DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-DEL-02',
    domain: 'DELETION',
    title: {
      de: 'Löschbestätigung',
      en: 'Deletion confirmation',
    },
    description: {
      de: 'Schriftliche Bestätigung der vollständigen Datenlöschung',
      en: 'Written confirmation of complete data deletion',
    },
    passCriteria: {
      de: 'Löschbestätigung vertraglich vereinbart und einforderbar',
      en: 'Deletion confirmation contractually agreed and enforceable',
    },
    requirements: ['Art. 28 Abs. 3 lit. g DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-DEL-03',
    domain: 'DELETION',
    title: {
      de: 'Löschung bei Unterauftragnehmern',
      en: 'Deletion at sub-processors',
    },
    description: {
      de: 'Löschpflicht erstreckt sich auf alle Unterauftragnehmer',
      en: 'Deletion obligation extends to all sub-processors',
    },
    passCriteria: {
      de: 'Weitergabe der Löschpflicht an Unterauftragnehmer vertraglich vereinbart',
      en: 'Transfer of deletion obligation to sub-processors contractually agreed',
    },
    requirements: ['Art. 28 Abs. 3 lit. g, d DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-DEL-04',
    domain: 'DELETION',
    title: {
      de: 'Backup-Löschung',
      en: 'Backup deletion',
    },
    description: {
      de: 'Daten werden auch aus Backups gelöscht',
      en: 'Data is also deleted from backups',
    },
    passCriteria: {
      de: 'Backup-Löschung geregelt, max. Aufbewahrungsfrist für Backups definiert',
      en: 'Backup deletion regulated, max retention period for backups defined',
    },
    requirements: ['Art. 28 Abs. 3 lit. g DSGVO'],
    isRequired: false,
    defaultFrequency: 'ANNUAL',
  },
]

export const INCIDENT_CONTROLS: Control[] = [
  {
    id: 'VND-INC-01',
    domain: 'INCIDENT',
    title: {
      de: 'Meldepflicht bei Datenpannen',
      en: 'Data breach notification obligation',
    },
    description: {
      de: 'Unverzügliche Meldung von Datenschutzverletzungen',
      en: 'Immediate notification of data protection violations',
    },
    passCriteria: {
      de: 'Meldepflicht vereinbart, Frist max. 24-48h, Mindestinhalte definiert',
      en: 'Notification obligation agreed, deadline max 24-48h, minimum content defined',
    },
    requirements: ['Art. 33 Abs. 2 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-INC-02',
    domain: 'INCIDENT',
    title: {
      de: 'Incident Response Plan',
      en: 'Incident Response Plan',
    },
    description: {
      de: 'Vendor hat dokumentierten Incident Response Plan',
      en: 'Vendor has documented incident response plan',
    },
    passCriteria: {
      de: 'Incident Response Plan liegt vor und wurde getestet',
      en: 'Incident response plan exists and has been tested',
    },
    requirements: ['ISO 27001 A.16.1'],
    isRequired: false,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-INC-03',
    domain: 'INCIDENT',
    title: {
      de: 'Kontaktstelle für Incidents',
      en: 'Contact point for incidents',
    },
    description: {
      de: 'Definierte Kontaktstelle für Datenschutzvorfälle',
      en: 'Defined contact point for data protection incidents',
    },
    passCriteria: {
      de: 'Kontaktdaten für Incident-Meldungen bekannt und aktuell',
      en: 'Contact details for incident reporting known and current',
    },
    requirements: ['Art. 33 Abs. 2 DSGVO'],
    isRequired: true,
    defaultFrequency: 'QUARTERLY',
  },
  {
    id: 'VND-INC-04',
    domain: 'INCIDENT',
    title: {
      de: 'Unterstützung bei Incident-Dokumentation',
      en: 'Support with incident documentation',
    },
    description: {
      de: 'Vendor unterstützt bei der Dokumentation von Vorfällen',
      en: 'Vendor supports documentation of incidents',
    },
    passCriteria: {
      de: 'Unterstützungspflicht bei Dokumentation vertraglich vereinbart',
      en: 'Support obligation for documentation contractually agreed',
    },
    requirements: ['Art. 33 Abs. 5 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
]
