/**
 * Security and Governance Controls
 * Domains: SECURITY, GOVERNANCE
 */

import { Control } from '../types'

export const SECURITY_CONTROLS: Control[] = [
  {
    id: 'VND-SEC-01',
    domain: 'SECURITY',
    title: {
      de: 'Sicherheitsbewertung',
      en: 'Security assessment',
    },
    description: {
      de: 'Regelmäßige Sicherheitsbewertung des Vendors',
      en: 'Regular security assessment of the vendor',
    },
    passCriteria: {
      de: 'Sicherheitsfragebogen ausgefüllt, keine kritischen Lücken',
      en: 'Security questionnaire completed, no critical gaps',
    },
    requirements: ['Art. 32 DSGVO', 'ISO 27001 A.15.2.1'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-SEC-02',
    domain: 'SECURITY',
    title: {
      de: 'Vulnerability Management',
      en: 'Vulnerability management',
    },
    description: {
      de: 'Etabliertes Vulnerability Management beim Vendor',
      en: 'Established vulnerability management at the vendor',
    },
    passCriteria: {
      de: 'Regelmäßige Schwachstellen-Scans, Patch-Management dokumentiert',
      en: 'Regular vulnerability scans, patch management documented',
    },
    requirements: ['ISO 27001 A.12.6'],
    isRequired: false,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-SEC-03',
    domain: 'SECURITY',
    title: {
      de: 'Mitarbeiter-Schulung',
      en: 'Employee training',
    },
    description: {
      de: 'Datenschutz-Schulung für Mitarbeiter des Vendors',
      en: 'Data protection training for vendor employees',
    },
    passCriteria: {
      de: 'Regelmäßige Schulungen (mind. jährlich), Nachweis verfügbar',
      en: 'Regular training (at least annually), proof available',
    },
    requirements: ['Art. 39 Abs. 1 lit. b DSGVO'],
    isRequired: false,
    defaultFrequency: 'ANNUAL',
  },
]

export const GOVERNANCE_CONTROLS: Control[] = [
  {
    id: 'VND-GOV-01',
    domain: 'GOVERNANCE',
    title: {
      de: 'Datenschutzbeauftragter benannt',
      en: 'Data protection officer appointed',
    },
    description: {
      de: 'Vendor hat DSB benannt (wenn erforderlich)',
      en: 'Vendor has appointed DPO (if required)',
    },
    passCriteria: {
      de: 'DSB benannt und Kontaktdaten verfügbar',
      en: 'DPO appointed and contact details available',
    },
    requirements: ['Art. 37 DSGVO'],
    isRequired: false,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-GOV-02',
    domain: 'GOVERNANCE',
    title: {
      de: 'Verzeichnis der Verarbeitungstätigkeiten',
      en: 'Records of processing activities',
    },
    description: {
      de: 'Vendor führt eigenes Verarbeitungsverzeichnis',
      en: 'Vendor maintains own processing records',
    },
    passCriteria: {
      de: 'Verzeichnis nach Art. 30 Abs. 2 DSGVO vorhanden',
      en: 'Records according to Art. 30(2) GDPR available',
    },
    requirements: ['Art. 30 Abs. 2 DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
  {
    id: 'VND-GOV-03',
    domain: 'GOVERNANCE',
    title: {
      de: 'Unterstützung bei DSFA',
      en: 'Support for DPIA',
    },
    description: {
      de: 'Vendor unterstützt bei Datenschutz-Folgenabschätzung',
      en: 'Vendor supports data protection impact assessment',
    },
    passCriteria: {
      de: 'Unterstützungspflicht bei DSFA vertraglich vereinbart',
      en: 'Support obligation for DPIA contractually agreed',
    },
    requirements: ['Art. 28 Abs. 3 lit. f DSGVO'],
    isRequired: true,
    defaultFrequency: 'ANNUAL',
  },
]
