/**
 * Contract and Data Subject Controls
 * Domains: CONTRACT, DATA_SUBJECT
 */

import { Control } from '../types'

export const CONTRACT_CONTROLS: Control[] = [
  {
    id: 'VND-CON-01',
    domain: 'CONTRACT',
    title: {
      de: 'Weisungsgebundenheit',
      en: 'Instruction binding',
    },
    description: {
      de: 'Auftragsverarbeiter ist an Weisungen gebunden',
      en: 'Processor is bound by instructions',
    },
    passCriteria: {
      de: 'Weisungsgebundenheit explizit vereinbart, Hinweispflicht bei rechtswidrigen Weisungen',
      en: 'Instruction binding explicitly agreed, notification obligation for unlawful instructions',
    },
    requirements: ['Art. 28 Abs. 3 lit. a DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-CON-02',
    domain: 'CONTRACT',
    title: {
      de: 'Vertraulichkeitsverpflichtung',
      en: 'Confidentiality obligation',
    },
    description: {
      de: 'Mitarbeiter sind zur Vertraulichkeit verpflichtet',
      en: 'Employees are obligated to confidentiality',
    },
    passCriteria: {
      de: 'Vertraulichkeitsverpflichtung für alle Mitarbeiter mit Datenzugriff',
      en: 'Confidentiality obligation for all employees with data access',
    },
    requirements: ['Art. 28 Abs. 3 lit. b DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-CON-03',
    domain: 'CONTRACT',
    title: {
      de: 'Gegenstand und Dauer der Verarbeitung',
      en: 'Subject and duration of processing',
    },
    description: {
      de: 'Klare Definition von Gegenstand und Dauer der Verarbeitung',
      en: 'Clear definition of subject and duration of processing',
    },
    passCriteria: {
      de: 'Verarbeitungsgegenstand, Dauer, Art der Daten, Betroffene definiert',
      en: 'Processing subject, duration, type of data, data subjects defined',
    },
    requirements: ['Art. 28 Abs. 3 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-CON-04',
    domain: 'CONTRACT',
    title: {
      de: 'Schriftform/Textform',
      en: 'Written/text form',
    },
    description: {
      de: 'AVV in Schriftform oder elektronischem Format',
      en: 'DPA in written or electronic format',
    },
    passCriteria: {
      de: 'AVV in Schriftform oder elektronisch mit qualifizierter Signatur',
      en: 'DPA in written form or electronically with qualified signature',
    },
    requirements: ['Art. 28 Abs. 9 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
]

export const DATA_SUBJECT_CONTROLS: Control[] = [
  {
    id: 'VND-DSR-01',
    domain: 'DATA_SUBJECT',
    title: {
      de: 'Unterstützung bei Betroffenenrechten',
      en: 'Support for data subject rights',
    },
    description: {
      de: 'Vendor unterstützt bei der Erfüllung von Betroffenenrechten',
      en: 'Vendor supports fulfillment of data subject rights',
    },
    passCriteria: {
      de: 'Unterstützungspflicht vereinbart, Prozess zur Weiterleitung definiert',
      en: 'Support obligation agreed, process for forwarding defined',
    },
    requirements: ['Art. 28 Abs. 3 lit. e DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-DSR-02',
    domain: 'DATA_SUBJECT',
    title: {
      de: 'Reaktionszeit für Anfragen',
      en: 'Response time for requests',
    },
    description: {
      de: 'Definierte Reaktionszeit für Betroffenenanfragen',
      en: 'Defined response time for data subject requests',
    },
    passCriteria: {
      de: 'Reaktionszeit max. 5 Werktage, um Frist von 1 Monat einhalten zu können',
      en: 'Response time max. 5 business days to meet 1 month deadline',
    },
    requirements: ['Art. 12 Abs. 3 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
]
