Split loader.ts (3163 LOC) into categories/ subdir (8 files, each <500 LOC): - access.ts (ACCESS_CONTROL + ADMISSION_CONTROL + ACCESS_AUTHORIZATION) - transfer-input.ts (TRANSFER_CONTROL + INPUT_CONTROL) - order-availability.ts (ORDER_CONTROL + AVAILABILITY) - separation-encryption.ts (SEPARATION incl. DL-* + ENCRYPTION) - pseudonymization.ts (PSEUDONYMIZATION) - resilience-recovery.ts (RESILIENCE + RECOVERY) - review.ts (REVIEW + training/TR-* controls) - category-map.ts (category metadata Map) Split controls-library.ts (943 LOC) into domain files: - transfer-audit.ts (TRANSFER + AUDIT) - deletion-incident.ts (DELETION + INCIDENT) - subprocessor-tom.ts (SUBPROCESSOR + TOM) - contract-data-subject.ts (CONTRACT + DATA_SUBJECT) - security-governance.ts (SECURITY + GOVERNANCE) Both barrel files preserved their full public API. No consumer imports changed. Zero new TypeScript errors introduced (305 pre-existing errors unchanged). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
127 lines
3.7 KiB
TypeScript
127 lines
3.7 KiB
TypeScript
/**
|
|
* 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',
|
|
},
|
|
]
|