/**
 * Loeschfristen — IT & Security Templates
 * Webserver-Logs, Videoueberwachung, Backup-Daten, Zutrittsprotokolle
 */

import { BaselineTemplate } from './types'

export const IT_SECURITY_TEMPLATES: BaselineTemplate[] = [
  {
    templateId: 'webserver-logs',
    dataObjectName: 'Webserver-Logs',
    description:
      'Server-Zugriffsprotokolle inkl. IP-Adressen, Zeitstempel, aufgerufene URLs und HTTP-Statuscodes.',
    affectedGroups: ['Website-Besucher'],
    dataCategories: ['IP-Adressen', 'Zugriffszeitpunkte', 'User-Agent-Daten'],
    primaryPurpose:
      'Sicherstellung der IT-Sicherheit, Erkennung von Angriffen und Stoerungen sowie Erfuellung der Protokollierungspflicht nach BSIG.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BSIG',
    retentionDriverDetail:
      'Aufbewahrung gemaess BSI-Gesetz / IT-Sicherheitsgesetz 2.0 fuer die Analyse von Sicherheitsvorfaellen.',
    retentionDuration: 7,
    retentionUnit: 'DAYS',
    retentionDescription: '7 Tage nach Zeitpunkt des Zugriffs',
    startEvent: 'Zeitpunkt des Server-Zugriffs',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatische Rotation und Loeschung der Logdateien nach 7 Tagen durch den Webserver (logrotate).',
    responsibleRole: 'IT-Abteilung',
    reviewInterval: 'QUARTERLY',
    tags: ['it', 'logs'],
  },
  {
    templateId: 'videoueberwachung',
    dataObjectName: 'Videoueberwachung',
    description:
      'Aufnahmen der Videoueberwachung in Geschaeftsraeumen, Eingangsbereichen und Parkplaetzen.',
    affectedGroups: ['Besucher', 'Mitarbeiter'],
    dataCategories: ['Videodaten', 'Bilddaten', 'Zeitstempel'],
    primaryPurpose:
      'Schutz des Eigentums und der Sicherheit von Personen sowie Aufklaerung von Vorfaellen in den ueberwachten Bereichen.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BDSG_35',
    retentionDriverDetail:
      'Unverzuegliche Loeschung nach Zweckwegfall gemaess 35 BDSG bzw. Art. 17 DSGVO. Maximale Speicherdauer 48 Stunden.',
    retentionDuration: 2,
    retentionUnit: 'DAYS',
    retentionDescription: '48 Stunden (2 Tage) nach Aufnahmezeitpunkt',
    startEvent: 'Aufnahmezeitpunkt der Videosequenz',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatisches Ueberschreiben der Aufnahmen durch das Videomanagementsystem nach Ablauf der 48-Stunden-Frist.',
    responsibleRole: 'Facility Management',
    reviewInterval: 'QUARTERLY',
    tags: ['sicherheit', 'video'],
  },
  {
    templateId: 'backup-daten',
    dataObjectName: 'Backup-Daten',
    description:
      'Vollstaendige und inkrementelle Sicherungskopien aller Systeme, Datenbanken und Dateisysteme.',
    affectedGroups: ['Alle Betroffenengruppen'],
    dataCategories: ['Systemsicherungen', 'Datenbankkopien', 'Dateisystemsicherungen'],
    primaryPurpose:
      'Sicherstellung der Datenwiederherstellung im Katastrophenfall und Gewaehrleistung der Geschaeftskontinuitaet.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BSIG',
    retentionDriverDetail:
      'Aufbewahrung von Backups fuer 90 Tage gemaess BSI-Grundschutz-Empfehlungen zur Sicherstellung der Wiederherstellbarkeit.',
    retentionDuration: 90,
    retentionUnit: 'DAYS',
    retentionDescription: '90 Tage nach Erstellung des Backups',
    startEvent: 'Erstellungsdatum des jeweiligen Backups',
    deletionMethod: 'CRYPTO_ERASE',
    deletionMethodDetail:
      'Kryptographische Loeschung durch Vernichtung der Verschluesselungsschluessel, sodass die verschluesselten Backup-Daten nicht mehr entschluesselt werden koennen.',
    responsibleRole: 'IT-Abteilung',
    reviewInterval: 'QUARTERLY',
    tags: ['it', 'backup'],
  },
  {
    templateId: 'zutrittsprotokolle',
    dataObjectName: 'Zutrittsprotokolle',
    description:
      'Protokolle des Zutrittskontrollsystems inkl. Zeitstempel, Kartennummer, Zutrittsort und Zugangsentscheidung (gewaehrt/verweigert).',
    affectedGroups: ['Mitarbeiter', 'Besucher'],
    dataCategories: ['Zutrittsdaten', 'Zeitstempel', 'Kartennummern', 'Standortdaten'],
    primaryPurpose:
      'Sicherstellung der physischen Sicherheit, Nachvollziehbarkeit von Zutritten und Unterstuetzung bei der Aufklaerung von Sicherheitsvorfaellen.',
    deletionTrigger: 'RETENTION_DRIVER',
    retentionDriver: 'BSIG',
    retentionDriverDetail:
      'Aufbewahrung gemaess BSI-Grundschutz-Empfehlung fuer Zutrittsprotokolle zur Analyse von Sicherheitsvorfaellen (90 Tage).',
    retentionDuration: 90,
    retentionUnit: 'DAYS',
    retentionDescription: '90 Tage nach Zeitpunkt des Zutritts',
    startEvent: 'Zeitpunkt des protokollierten Zutrittsereignisses',
    deletionMethod: 'AUTO_DELETE',
    deletionMethodDetail:
      'Automatische Rotation und Loeschung der Zutrittsprotokolle durch das Zutrittskontrollsystem nach Ablauf der 90-Tage-Frist.',
    responsibleRole: 'Facility Management',
    reviewInterval: 'QUARTERLY',
    tags: ['sicherheit', 'zutritt'],
  },
]
