/** * VVT Baseline-Katalog — HR & Finanzen */ import type { BaselineTemplate } from './types' export const HR_VVT_TEMPLATES: BaselineTemplate[] = [ { templateId: 'hr-mitarbeiterverwaltung', businessFunction: 'hr', name: 'Mitarbeiterverwaltung', description: 'Verwaltung von Stammdaten, Vertraegen und Personalakten der Beschaeftigten', purposes: ['Durchfuehrung des Beschaeftigungsverhaeltnisses', 'Personalverwaltung und -planung'], legalBases: [ { type: 'CONTRACT', description: 'Arbeitsvertrag', reference: 'Art. 6 Abs. 1 lit. b DSGVO' }, { type: 'LEGAL_OBLIGATION', description: 'Arbeitsrechtliche Pflichten', reference: '§ 26 BDSG' }, ], dataSubjectCategories: ['EMPLOYEES'], personalDataCategories: ['NAME', 'CONTACT', 'ADDRESS', 'DOB', 'SOCIAL_SECURITY', 'TAX_ID', 'BANK_ACCOUNT', 'EMPLOYMENT_DATA'], recipientCategories: [ { type: 'INTERNAL', name: 'Personalabteilung' }, { type: 'AUTHORITY', name: 'Finanzamt' }, { type: 'AUTHORITY', name: 'Sozialversicherungstraeger' }, ], retentionPeriod: { duration: 10, durationUnit: 'YEARS', description: '10 Jahre nach Ende des Beschaeftigungsverhaeltnisses', legalBasis: 'HGB § 257, AO § 147', deletionProcedure: 'Sichere Loeschung nach Ablauf' }, tomDescription: 'Zugriffskontrolle auf Personalakten, Verschluesselung, Protokollierung', structuredToms: { accessControl: ['RBAC', 'Need-to-know-Prinzip', 'Personalakten nur fuer HR'], confidentiality: ['Verschluesselung personenbezogener Daten', 'Vertraulichkeitsvereinbarungen'], integrity: ['Aenderungsprotokollierung', 'Vier-Augen-Prinzip bei Gehaltsaenderungen'], availability: ['Regelmaessige Backups', 'Redundante Speicherung'], separation: ['Trennung Personal-/Gehaltsdaten'], }, typicalSystems: ['HR-Software', 'Gehaltsabrechnung', 'Dokumentenmanagement'], protectionLevel: 'HIGH', dpiaRequired: false, tags: ['hr', 'mitarbeiter', 'personal'], }, { templateId: 'hr-gehaltsabrechnung', businessFunction: 'hr', name: 'Gehaltsabrechnung', description: 'Berechnung und Auszahlung von Gehaeltern, Sozialabgaben und Steuern', purposes: ['Lohn- und Gehaltsabrechnung', 'Erfuellung steuer- und sozialversicherungsrechtlicher Pflichten'], legalBases: [ { type: 'CONTRACT', description: 'Arbeitsvertrag', reference: 'Art. 6 Abs. 1 lit. b DSGVO' }, { type: 'LEGAL_OBLIGATION', description: 'Steuer-/Sozialversicherungsrecht', reference: 'Art. 6 Abs. 1 lit. c DSGVO' }, ], dataSubjectCategories: ['EMPLOYEES'], personalDataCategories: ['NAME', 'ADDRESS', 'SOCIAL_SECURITY', 'TAX_ID', 'BANK_ACCOUNT', 'SALARY_DATA'], recipientCategories: [ { type: 'PROCESSOR', name: 'Lohnbuero / Steuerberater' }, { type: 'AUTHORITY', name: 'Finanzamt' }, { type: 'AUTHORITY', name: 'Krankenkassen' }, ], retentionPeriod: { duration: 10, durationUnit: 'YEARS', description: '10 Jahre (steuerrechtlich)', legalBasis: 'AO § 147 Abs. 1 Nr. 1', deletionProcedure: 'Automatische Loeschung nach Fristablauf' }, tomDescription: 'Strenge Zugriffskontrolle, Verschluesselung, Trennung von Stamm- und Gehaltsdaten', structuredToms: { accessControl: ['Nur Lohnbuchhaltung/Steuerberater', 'MFA'], confidentiality: ['Verschluesselung at-rest und in-transit', 'Vertraulichkeitsklausel'], integrity: ['Revisionssichere Ablage', 'Pruefprotokoll'], availability: ['Monatliche Backups', 'Jahresabschluss-Archiv'], separation: ['Gehaltsdaten getrennt von allgemeinen Personaldaten'], }, typicalSystems: ['DATEV', 'Lohnabrechnungssoftware'], protectionLevel: 'HIGH', dpiaRequired: false, tags: ['hr', 'gehalt', 'lohn', 'steuer'], }, { templateId: 'hr-bewerbermanagement', businessFunction: 'hr', name: 'Bewerbermanagement', description: 'Entgegennahme, Verwaltung und Bewertung von Bewerbungen', purposes: ['Bearbeitung eingehender Bewerbungen', 'Bewerberauswahl'], legalBases: [ { type: 'CONTRACT', description: 'Vorvertragliche Massnahmen', reference: 'Art. 6 Abs. 1 lit. b DSGVO' }, { type: 'LEGITIMATE_INTEREST', description: 'Bewerberauswahl', reference: '§ 26 Abs. 1 BDSG' }, ], dataSubjectCategories: ['APPLICANTS'], personalDataCategories: ['NAME', 'CONTACT', 'ADDRESS', 'EDUCATION_DATA', 'EMPLOYMENT_DATA', 'PHOTO_VIDEO'], recipientCategories: [ { type: 'INTERNAL', name: 'Personalabteilung' }, { type: 'INTERNAL', name: 'Fachabteilung' }, ], retentionPeriod: { duration: 6, durationUnit: 'MONTHS', description: '6 Monate nach Absage (AGG-Frist)', legalBasis: 'AGG § 15 Abs. 4', deletionProcedure: 'Automatische Loeschung 6 Monate nach Absage' }, tomDescription: 'Zugriffsbeschraenkung auf beteiligte Entscheidungstraeger, verschluesselte Uebertragung', structuredToms: { accessControl: ['Nur HR + Fachabteilung', 'Zeitlich begrenzter Zugriff'], confidentiality: ['TLS fuer Bewerbungsportale', 'Verschluesselter E-Mail-Empfang'], integrity: ['Unveraenderbare Bewerbungseingaenge'], availability: ['Regelmaessige Backups'], separation: ['Getrennte Bewerberdatenbank'], }, typicalSystems: ['Bewerbermanagementsystem', 'E-Mail'], protectionLevel: 'MEDIUM', dpiaRequired: false, tags: ['hr', 'bewerbung', 'recruiting'], }, { templateId: 'hr-zeiterfassung', businessFunction: 'hr', name: 'Zeiterfassung', description: 'Erfassung von Arbeitszeiten, Urlaub und Fehlzeiten', purposes: ['Arbeitszeiterfassung gemaess ArbZG', 'Urlaubsverwaltung'], legalBases: [ { type: 'LEGAL_OBLIGATION', description: 'Arbeitszeitgesetz', reference: 'Art. 6 Abs. 1 lit. c DSGVO, ArbZG § 16 Abs. 2' }, ], dataSubjectCategories: ['EMPLOYEES'], personalDataCategories: ['NAME', 'EMPLOYMENT_DATA'], recipientCategories: [ { type: 'INTERNAL', name: 'Personalabteilung' }, { type: 'INTERNAL', name: 'Vorgesetzte' }, ], retentionPeriod: { duration: 2, durationUnit: 'YEARS', description: '2 Jahre (ArbZG)', legalBasis: 'ArbZG § 16 Abs. 2', deletionProcedure: 'Automatische Loeschung' }, tomDescription: 'Zugriffskontrolle nach Abteilung, Protokollierung von Aenderungen', structuredToms: { accessControl: ['Vorgesetzte sehen nur eigene Abteilung', 'HR sieht alle'], confidentiality: ['Krankmeldungen nur HR'], integrity: ['Aenderungshistorie'], availability: ['Taegliches Backup'], separation: ['Trennung Zeitdaten / Gehaltsdaten'], }, typicalSystems: ['Zeiterfassungssystem', 'HR-Software'], protectionLevel: 'MEDIUM', dpiaRequired: false, tags: ['hr', 'zeiterfassung', 'arbeitszeit'], }, ] export const FINANCE_VVT_TEMPLATES: BaselineTemplate[] = [ { templateId: 'finance-buchhaltung', businessFunction: 'finance', name: 'Buchhaltung & Rechnungswesen', description: 'Finanzbuchhaltung, Rechnungsstellung und Zahlungsverkehr', purposes: ['Finanzbuchhaltung', 'Rechnungsstellung', 'Erfuellung handels-/steuerrechtlicher Aufbewahrungspflichten'], legalBases: [ { type: 'LEGAL_OBLIGATION', description: 'HGB, AO', reference: 'Art. 6 Abs. 1 lit. c DSGVO' }, { type: 'CONTRACT', description: 'Vertragserfuellung', reference: 'Art. 6 Abs. 1 lit. b DSGVO' }, ], dataSubjectCategories: ['CUSTOMERS', 'SUPPLIERS', 'BUSINESS_PARTNERS'], personalDataCategories: ['NAME', 'CONTACT', 'ADDRESS', 'BANK_ACCOUNT', 'PAYMENT_DATA', 'CONTRACT_DATA', 'TAX_ID'], recipientCategories: [ { type: 'PROCESSOR', name: 'Steuerberater / Wirtschaftspruefer' }, { type: 'AUTHORITY', name: 'Finanzamt' }, ], retentionPeriod: { duration: 10, durationUnit: 'YEARS', description: '10 Jahre (HGB) / 6 Jahre (Geschaeftsbriefe)', legalBasis: 'HGB § 257, AO § 147', deletionProcedure: 'Loeschung nach Ablauf der jeweiligen Frist' }, tomDescription: 'Zugriffskontrolle nach Vier-Augen-Prinzip, revisionssichere Archivierung', structuredToms: { accessControl: ['Vier-Augen-Prinzip', 'RBAC nach Buchhaltungsrollen'], confidentiality: ['Verschluesselung Finanzdaten'], integrity: ['Revisionssichere Archivierung (GoBD)', 'Aenderungsprotokoll'], availability: ['Redundante Speicherung', 'Jaehrliche Backups'], separation: ['Trennung Debitoren/Kreditoren'], }, typicalSystems: ['DATEV', 'ERP-System', 'Buchhaltungssoftware'], protectionLevel: 'MEDIUM', dpiaRequired: false, tags: ['finance', 'buchhaltung', 'rechnungswesen'], }, { templateId: 'finance-zahlungsverkehr', businessFunction: 'finance', name: 'Zahlungsverkehr', description: 'Abwicklung von Zahlungen, SEPA-Lastschriften und Ueberweisungen', purposes: ['Zahlungsabwicklung', 'Mahnwesen'], legalBases: [ { type: 'CONTRACT', description: 'Vertragserfuellung', reference: 'Art. 6 Abs. 1 lit. b DSGVO' }, ], dataSubjectCategories: ['CUSTOMERS', 'SUPPLIERS'], personalDataCategories: ['NAME', 'BANK_ACCOUNT', 'PAYMENT_DATA'], recipientCategories: [ { type: 'PROCESSOR', name: 'Zahlungsdienstleister' }, { type: 'PROCESSOR', name: 'Kreditinstitut' }, ], retentionPeriod: { duration: 10, durationUnit: 'YEARS', description: '10 Jahre', legalBasis: 'HGB § 257', deletionProcedure: 'Automatische Loeschung' }, tomDescription: 'PCI-DSS-konforme Verarbeitung, Verschluesselung, Zugriffsbeschraenkung', structuredToms: { accessControl: ['Streng limitierter Zugriff', 'MFA'], confidentiality: ['TLS 1.3', 'Tokenisierung von Zahlungsdaten'], integrity: ['Transaktionsprotokoll'], availability: ['Hochverfuegbarer Zahlungsservice'], separation: ['Zahlungsdaten getrennt von CRM'], }, typicalSystems: ['Banking-Software', 'Payment Gateway'], protectionLevel: 'HIGH', dpiaRequired: false, tags: ['finance', 'zahlung', 'payment'], }, ]