feat: Add Eingabeseite 6 (Datenschutz)

This commit is contained in:
2026-01-22 16:37:39 +01:00
parent 56d8c223d8
commit e549058c85
4 changed files with 1254 additions and 11 deletions

View File

@@ -51,6 +51,10 @@ formElementSections:
sectionSpawnConditionType: SHOW
sectionSpawnExpectedValue: Einführung
sectionSpawnOperator: EQUALS
- templateReference: datenschutz_template
sectionSpawnConditionType: SHOW
sectionSpawnExpectedValue: Einführung
sectionSpawnOperator: EQUALS
# Einführung: Allgemeine Informationen
- title: Allgemeine Informationen
@@ -1151,3 +1155,339 @@ formElementSections:
label: Bemerkungen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Eingabeseite 6: Datenschutz (Spawned)
- title: Datenschutz
shortTitle: Datenschutz
description: Datenschutzrechtliche Angaben zur Datenverarbeitung
spawnedFromElementReference: art_der_massnahme
formElementSubSections:
# Datenschutz-Übersicht (nur Anzeige)
- title: Datenschutz-Übersicht (nur Anzeige)
formElements:
- reference: datenschutz_uebersicht_tabelle
title: Datenschutz-Übersicht
description: Übersicht der Verarbeitungsvorgänge mit Datenschutz-relevanten Informationen (automatisch aus vorherigen Seiten befüllt)
type: TABLE
tableRowPreset:
sourceTableReference: umfassende_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
- sourceColumnIndex: 1
targetColumnIndex: 1
- sourceColumnIndex: 11
targetColumnIndex: 2
- sourceColumnIndex: 4
targetColumnIndex: 3
canAddRows: false
options:
# Column 0: VV-ID (auto-populated from umfassende_datenverarbeitung_tabelle)
- value: '["V001", "V002", "V003", "V004", "V005"]'
label: VV-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
# Column 1: Bezeichnung (auto-populated)
- value: '["Personalstammdatenpflege", "Zeiterfassung", "Gehaltsabrechnung", "Leistungsbeurteilung", "Produktionsauswertung"]'
label: Bezeichnung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 1
isReadOnly: true
# Column 2: Kontrolle? (auto-populated from column 11)
- value: '["false", "true", "false", "true", "true"]'
label: Kontrolle?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 11
isReadOnly: true
# Column 3: Datenumfang (auto-populated from column 4)
- value: '["Stammdaten", "Arbeitszeitdaten", "Gehaltsdaten", "Leistungsdaten", "Produktionsdaten"]'
label: Datenumfang (S3)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 4
isReadOnly: true
# Column 4: Schnittstellen Count
- value: '["1", "1", "1", "1", "1"]'
label: Schnittstellen (S5)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 5: Verbundene IT-Systeme
- value: '["SAP Analytics Cloud", "SAP HR Controlling", "ELSTER", "SAP HR Management Reporting", "SAP Quality Management"]'
label: Verbundene IT-Systeme (Schnittstellen)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 6: Retention
- value: '["Ja", "Ja", "Ja", "Ja", "Ja"]'
label: Retention (S4)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
# 1. Auftragsdatenverarbeitung / Gemeinsame Verantwortlichkeit / Dritter
- title: Auftragsdatenverarbeitung und Verantwortlichkeit
formElements:
- reference: datenschutz_verantwortlichkeit_art
title: Liegt eine Auftragsdatenverarbeitung nach Art. 28 DSGVO oder eine gemeinsame Verantwortlichkeit im Sinne von Art. 26 DSGVO vor?
description: ''
type: CHECKBOX
options:
- value: 'true'
label: Auftragsdatenverarbeitung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'true'
label: Gemeinsame Verantwortlichkeit
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'false'
label: Dritter als eigenständiger Verantwortlicher
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'false'
label: Nein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1a. Auftragsdatenverarbeitung Table
- title: Auftragsdatenverarbeitung
formElements:
- reference: datenschutz_adv_tabelle
title: Auftragsdatenverarbeitung
description: Angaben zu Auftragsdatenverarbeitern
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Auftragsdatenverarbeitung
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '["SAP SE (Cloud Services)", "Amazon Web Services EMEA SARL"]'
label: Auftragsdatenverarbeiter
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["V001", "V005"]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '["Hosting", "Hosting"]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["IF001", "IF005"]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_umfassend_tabelle
sourceColumnIndex: 0
- value: '["Stammdaten", "Produktionsdaten"]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["Name, Adresse, Personalnummer, Bankverbindung", "Stückzahlen, Fehlerquoten, Maschinenzeiten"]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["JA", "JA"]'
label: Auftragsdatenverarbeitungsvertrag vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["JA", "NEIN"]'
label: Subprozessoren vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["Europäische Union", "Europäische Union"]'
label: Hosting / Region
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["SAP Cloud Platform Deutschland (Frankfurt)", "AWS eu-central-1 (Frankfurt)"]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1b. Gemeinsame Verantwortlichkeit Table
- title: Gemeinsame Verantwortlichkeit
formElements:
- reference: datenschutz_gemeinsam_tabelle
title: Gemeinsame Verantwortlichkeit
description: Angaben zur gemeinsamen Verantwortlichkeit
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Gemeinsame Verantwortlichkeit
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '["Betriebsrat", "Konzern-IT"]'
label: Gemeinsame Verantwortlichkeit mit
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["V002", "V005"]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '["IF002", "IF005"]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_umfassend_tabelle
sourceColumnIndex: 0
- value: '["Arbeitszeitdaten", "Produktionsdaten"]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["An-/Abmeldezeiten, Pausenzeiten, Überstunden", "Stückzahlen, Fehlerquoten, Maschinenzeiten"]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["Zugriff auf Zeiterfassungsdaten für Arbeitszeitüberwachung", "Zugriff auf Produktionsdaten für Kapazitätsplanung"]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["JA", "JA"]'
label: Vereinbarung nach Art. 26 Abs. 1 S. 2 DSGVO vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["Datenschutz, Arbeitszeitrecht", "Betriebliche Mitbestimmung"]'
label: Wesentliche Inhalte
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["Datenschutzvereinbarung mit Betriebsrat gemäß § 75 Abs. 2 BetrVG", "Konzern-Datenschutzvereinbarung"]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1c. Aufteilung der Verantwortlichkeiten
- title: Aufteilung der Verantwortlichkeiten
formElements:
- reference: datenschutz_aufteilung_tabelle
title: Aufteilung der Verantwortlichkeiten
description: Aufteilung der Verantwortlichkeiten
type: TABLE
options:
- value: '["Datenerhebung", "Datenverarbeitung", "Datenlöschung", "Betroffenenrechte", "Incident Response"]'
label: Pflichtbereich
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["Unternehmen", "Gemeinsam", "Unternehmen", "Unternehmen", "Gemeinsam"]'
label: Verantwortlich (Unternehmen / Partner / Gemeinsam)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '["Erfassung durch Mitarbeiter oder automatisiert", "Beide Parteien können Daten verarbeiten im Rahmen ihrer Zuständigkeit", "Automatisierte Löschung durch Unternehmen gemäß Löschkonzept", "Zentrale Stelle beim Unternehmen", "Koordinierte Meldung an Aufsichtsbehörde"]'
label: Beschreibung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 2. Datenschutz-Folgenabschätzung (DSFA)
- title: Datenschutz-Folgenabschätzung
formElements:
- reference: datenschutz_dsfa_tabelle
title: Ist eine Datenschutz-Folgenabschätzung erforderlich?
description: Angaben zur DSFA
type: TABLE
tableRowPreset:
sourceTableReference: umfassende_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
canAddRows: false
options:
- value: '["V001", "V002", "V003", "V004", "V005"]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
- value: '["NEIN", "JA", "NEIN", "JA", "JA"]'
label: Kontrolle beabsichtigt? (Auto)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
isReadOnly: true
- value: '["NEIN", "JA", "NEIN", "JA", "JA"]'
label: DSFA erforderlich?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["N/A", "JA", "N/A", "JA", "JA"]'
label: DSFA durchgeführt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["N/A", "NEIN", "N/A", "NEIN", "NEIN"]'
label: Ergebnis Hohes Risiko verbleibt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["N/A", "NEIN", "N/A", "NEIN", "NEIN"]'
label: Konsultation erforderlich und erfolgt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '["Keine Kontrolle, keine DSFA erforderlich", "DSFA durchgeführt, Risiken minimiert durch TOMs", "Nur Finanzdaten, keine Kontrolle", "DSFA durchgeführt, 4-Augen-Prinzip implementiert", "DSFA durchgeführt, nur Team-Level Aggregation"]'
label: Bemerkungen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 3. Drittstaatenübermittlung
- title: Drittstaatenübermittlung
formElements:
- reference: datenschutz_drittstaaten
title: Ist eine Übermittlung von Arbeitnehmerdaten an Drittstaaten außerhalb der Europäischen Union oder des Europäischen Wirtschaftsraumes geplant?
description: ''
type: RADIOBUTTON
options:
- value: ''
label: Ja
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'true'
label: Nein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 4. Technische und organisatorische Maßnahmen (TOMs)
- title: Technische und organisatorische Maßnahmen
formElements:
- reference: datenschutz_toms_tabelle
title: Welche technischen und organisatorischen Maßnahmen werden vom Unternehmen und ggf. dem Auftragsverarbeiter / gemeinsamen Verantwortlichen zum Schutz von Arbeitnehmerdaten ergriffen?
description: TOMs zum Schutz personenbezogener Daten
type: TABLE
options:
- value: '["Zugriffskontrolle (RBAC)", "Protokollierung/Audit", "Transportverschlüsselung", "Verschlüsselung at Rest", "Berechtigungsreview", "Incident-Handling", "Backup/Recovery", "Löschung/Retention technisch"]'
label: TOM-Baustein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
- value: '["Ja", "Ja", "Ja", "Ja", "Ja", "Ja", "Ja", "Ja"]'
label: Umgesetzt?
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: REVIEW_REQUIRED
- value: '["SAP Rollenkonzept mit feingranulierten Berechtigungen (siehe Seite 2)", "SAP Security Audit Log (SM20), SIEM-Integration", "TLS 1.3 für alle externen Verbindungen, SAP Secure Network Communications (SNC)", "SAP HANA Native Encryption, Datenbank-Verschlüsselung mit AES-256", "Halbjährliches Berechtigungsreview durch HRBP und IT Security", "Incident Response Plan gemäß ISO 27001, 24/7 SOC", "Tägliche Backups, 30 Tage Aufbewahrung, Disaster Recovery-Test quartalsweise", "Verweis Seite 4 - Automatisierte Löschprozesse gemäß Löschkonzept"]'
label: Kurzbeschreibung / Referenz
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL

View File

@@ -51,6 +51,10 @@ formElementSections:
sectionSpawnConditionType: SHOW
sectionSpawnExpectedValue: Einführung
sectionSpawnOperator: EQUALS
- templateReference: datenschutz_template
sectionSpawnConditionType: SHOW
sectionSpawnExpectedValue: Einführung
sectionSpawnOperator: EQUALS
# Einführung: Allgemeine Informationen
- title: Allgemeine Informationen
@@ -2836,3 +2840,863 @@ formElementSections:
label: Rechtsgrundlage
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
# Eingabeseite 6: Datenschutz (comprehensive template)
- title: Datenschutz
shortTitle: Datenschutz
description: Datenschutzrechtliche Angaben zur Datenverarbeitung
isTemplate: true
templateReference: datenschutz_template
titleTemplate: Datenschutz
formElementSubSections:
# Datenschutz-Übersicht (nur Anzeige) - Einfache Darstellung
- title: Datenschutz-Übersicht (nur Anzeige)
formElements:
- reference: datenschutz_uebersicht_einfach_tabelle
title: Datenschutz-Übersicht
description: Übersicht der Verarbeitungsvorgänge mit Datenschutz-relevanten Informationen (automatisch aus vorherigen Seiten befüllt)
type: TABLE
tableRowPreset:
sourceTableReference: einfache_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
- sourceColumnIndex: 1
targetColumnIndex: 1
- sourceColumnIndex: 4
targetColumnIndex: 3
canAddRows: false
options:
# Column 0: VV-ID (from einfache_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: VV-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
# Column 1: Bezeichnung (from einfache_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: Bezeichnung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 1
isReadOnly: true
# Column 2: Kontrolle? (always "Nein" for simple case)
- value: '[]'
label: Kontrolle?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: NON_CRITICAL
columnConfig:
isReadOnly: true
# Column 3: Datenumfang (from einfache_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: Datenumfang (S3)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 4
isReadOnly: true
# Column 4: Schnittstellen Count (manual entry showing count from S5)
- value: '[]'
label: Schnittstellen (S5)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 5: Verbundene IT-Systeme (manual entry based on interfaces)
- value: '[]'
label: Verbundene IT-Systeme (Schnittstellen)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 6: Retention (manual entry - Ja/Nein from S4)
- value: '[]'
label: Retention (S4)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
# Datenschutz-Übersicht (nur Anzeige) - Umfassende Darstellung
- title: Datenschutz-Übersicht (nur Anzeige)
formElements:
- reference: datenschutz_uebersicht_tabelle
title: Datenschutz-Übersicht
description: Übersicht der Verarbeitungsvorgänge mit Datenschutz-relevanten Informationen (automatisch aus vorherigen Seiten befüllt)
type: TABLE
tableRowPreset:
sourceTableReference: umfassende_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
- sourceColumnIndex: 1
targetColumnIndex: 1
- sourceColumnIndex: 11
targetColumnIndex: 2
- sourceColumnIndex: 4
targetColumnIndex: 3
canAddRows: false
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
# Column 0: VV-ID (from umfassende_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: VV-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
# Column 1: Bezeichnung (from umfassende_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: Bezeichnung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 1
isReadOnly: true
# Column 2: Kontrolle? (from umfassende_datenverarbeitung_tabelle column 11, read-only)
- value: '[]'
label: Kontrolle?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 11
isReadOnly: true
# Column 3: Datenumfang (from umfassende_datenverarbeitung_tabelle, read-only)
- value: '[]'
label: Datenumfang (S3)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 4
isReadOnly: true
# Column 4: Schnittstellen Count (manual entry showing count from S5)
- value: '[]'
label: Schnittstellen (S5)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 5: Verbundene IT-Systeme (manual entry based on interfaces)
- value: '[]'
label: Verbundene IT-Systeme (Schnittstellen)
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# Column 6: Retention (manual entry - Ja/Nein from S4)
- value: '[]'
label: Retention (S4)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
# 1. Auftragsdatenverarbeitung / Gemeinsame Verantwortlichkeit / Dritter
- title: Auftragsdatenverarbeitung und Verantwortlichkeit
formElements:
- reference: datenschutz_verantwortlichkeit_art
title: Liegt eine Auftragsdatenverarbeitung nach Art. 28 DSGVO oder eine gemeinsame Verantwortlichkeit im Sinne von Art. 26 DSGVO vor?
description: ''
type: CHECKBOX
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: 'false'
label: Auftragsdatenverarbeitung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'false'
label: Gemeinsame Verantwortlichkeit
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'false'
label: Dritter als eigenständiger Verantwortlicher
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: 'false'
label: Nein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1a. Auftragsdatenverarbeitung Table (Einfache Darstellung)
- title: Auftragsdatenverarbeitung
formElements:
- reference: datenschutz_adv_einfach_tabelle
title: Auftragsdatenverarbeitung
description: Angaben zu Auftragsdatenverarbeitern
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Auftragsdatenverarbeitung
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Nein
formElementOperator: EQUALS
options:
- value: '[]'
label: Auftragsdatenverarbeiter
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_einfach_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Auftragsdatenverarbeitungsvertrag vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Subprozessoren vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Hosting / Region
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1a. Auftragsdatenverarbeitung Table (Umfassende Darstellung)
- title: Auftragsdatenverarbeitung
formElements:
- reference: datenschutz_adv_tabelle
title: Auftragsdatenverarbeitung
description: Angaben zu Auftragsdatenverarbeitern
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Auftragsdatenverarbeitung
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: Auftragsdatenverarbeiter
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_umfassend_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Auftragsdatenverarbeitungsvertrag vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Subprozessoren vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Hosting / Region
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1b. Gemeinsame Verantwortlichkeit Table (Einfache Darstellung)
- title: Gemeinsame Verantwortlichkeit
formElements:
- reference: datenschutz_gemeinsam_einfach_tabelle
title: Gemeinsame Verantwortlichkeit
description: Angaben zur gemeinsamen Verantwortlichkeit
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Gemeinsame Verantwortlichkeit
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Nein
formElementOperator: EQUALS
options:
- value: '[]'
label: Gemeinsame Verantwortlichkeit mit
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_einfach_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Vereinbarung vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Hosting / Region
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1b. Gemeinsame Verantwortlichkeit Table (Umfassende Darstellung)
- title: Gemeinsame Verantwortlichkeit
formElements:
- reference: datenschutz_gemeinsam_tabelle
title: Gemeinsame Verantwortlichkeit
description: Angaben zur gemeinsamen Verantwortlichkeit
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Gemeinsame Verantwortlichkeit
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: Gemeinsame Verantwortlichkeit mit
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_umfassend_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Vereinbarung vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Hosting / Region
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1b-aa. Verpflichtungen bei gemeinsamer Verantwortlichkeit
- title: Verpflichtungen gemäß DSGVO
formElements:
- reference: datenschutz_gemeinsam_verpflichtungen_tabelle
title: Wer erfüllt welche Verpflichtungen gemäß der DSGVO?
description: Aufteilung der Verantwortlichkeiten
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Gemeinsame Verantwortlichkeit
formElementOperator: EQUALS
options:
- value: '[]'
label: Pflichtbereich
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Unternehmen
processingPurpose: DATA_ANALYSIS
employeeDataCategory: NON_CRITICAL
columnConfig:
isCheckbox: true
- value: '[]'
label: Gemeinsamer Verantwortlicher
processingPurpose: DATA_ANALYSIS
employeeDataCategory: NON_CRITICAL
columnConfig:
isCheckbox: true
- value: '[]'
label: Gemeinsam
processingPurpose: DATA_ANALYSIS
employeeDataCategory: NON_CRITICAL
columnConfig:
isCheckbox: true
- value: '[]'
label: Kurze Prozessbeschreibung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Kontakt
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1c. Eigenständig Verantwortlicher Table (Einfache Darstellung)
- title: Eigenständig Verantwortlicher
formElements:
- reference: datenschutz_eigenstaendig_einfach_tabelle
title: Eigenständig Verantwortlicher
description: Angaben zu eigenständigen Verantwortlichen (Dritten)
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Dritter als eigenständiger Verantwortlicher
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Nein
formElementOperator: EQUALS
options:
- value: '[]'
label: Eigenständig Verantwortlicher
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Empfängerart
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_einfach_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Zweck der Übermittlung?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Rechtliche Grundlage der Übermittlung?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Vereinbarung vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 1c. Eigenständig Verantwortlicher Table (Umfassende Darstellung)
- title: Eigenständig Verantwortlicher
formElements:
- reference: datenschutz_eigenstaendig_tabelle
title: Eigenständig Verantwortlicher
description: Angaben zu eigenständigen Verantwortlichen (Dritten)
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_verantwortlichkeit_art
formElementExpectedValue: Dritter als eigenständiger Verantwortlicher
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: Eigenständig Verantwortlicher
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Empfängerart
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Art der Einbindung
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Ggf. Schnittstellen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: schnittstellen_umfassend_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Betroffene Datenkategorien
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Betroffene Arbeitnehmerdaten
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Zweck der Übermittlung?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Rechtliche Grundlage der Übermittlung?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Vereinbarung vorhanden?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 2. Datenschutz-Folgenabschätzung (DSFA) - Einfache Darstellung
- title: Datenschutz-Folgenabschätzung
formElements:
- reference: datenschutz_dsfa_einfach_tabelle
title: Ist eine Datenschutz-Folgenabschätzung erforderlich?
description: Angaben zur DSFA
type: TABLE
tableRowPreset:
sourceTableReference: einfache_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
canAddRows: false
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Nein
formElementOperator: EQUALS
options:
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
- value: '[]'
label: Kontrolle beabsichtigt? (Auto)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: NON_CRITICAL
columnConfig:
isReadOnly: true
- value: '[]'
label: DSFA erforderlich?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: DSFA durchgeführt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Ergebnis Hohes Risiko verbleibt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Konsultation erforderlich und erfolgt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkungen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 2. Datenschutz-Folgenabschätzung (DSFA) - Umfassende Darstellung
- title: Datenschutz-Folgenabschätzung
formElements:
- reference: datenschutz_dsfa_tabelle
title: Ist eine Datenschutz-Folgenabschätzung erforderlich?
description: Angaben zur DSFA
type: TABLE
tableRowPreset:
sourceTableReference: umfassende_datenverarbeitung_tabelle
columnMappings:
- sourceColumnIndex: 0
targetColumnIndex: 0
canAddRows: false
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
isReadOnly: true
- value: '[]'
label: Kontrolle beabsichtigt? (Auto)
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
columnConfig:
isReadOnly: true
- value: '[]'
label: DSFA erforderlich?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: DSFA durchgeführt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Ergebnis Hohes Risiko verbleibt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Konsultation erforderlich und erfolgt?
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Bemerkungen
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 3. Drittstaatenübermittlung
- title: Drittstaatenübermittlung
formElements:
- reference: datenschutz_drittstaaten
title: Ist eine Übermittlung von Arbeitnehmerdaten an Drittstaaten außerhalb der Europäischen Union oder des Europäischen Wirtschaftsraumes geplant?
description: ''
type: RADIOBUTTON
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: Ja
label: Ja
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: Nein
label: Nein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
- title: Angaben zur Drittlandübermittlung (Einfache Darstellung)
formElements:
- reference: datenschutz_drittstaaten_einfach_tabelle
title: Angaben zur Drittlandübermittlung
description: Details zur Übermittlung in Drittstaaten
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_drittstaaten
formElementExpectedValue: Ja
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Nein
formElementOperator: EQUALS
options:
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: einfache_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Länder / Empfänger
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Rechtliche Grundlage
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Zusätzliche Maßnahmen
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
- title: Angaben zur Drittlandübermittlung (Umfassende Darstellung)
formElements:
- reference: datenschutz_drittstaaten_tabelle
title: Angaben zur Drittlandübermittlung
description: Details zur Übermittlung in Drittstaaten
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: datenschutz_drittstaaten
formElementExpectedValue: Ja
formElementOperator: EQUALS
- formElementConditionType: SHOW
sourceFormElementReference: luv_beabsichtigt
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: Verarbeitungsvorgang-ID
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
columnConfig:
sourceTableReference: umfassende_datenverarbeitung_tabelle
sourceColumnIndex: 0
- value: '[]'
label: Länder / Empfänger
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Rechtliche Grundlage
processingPurpose: DATA_ANALYSIS
employeeDataCategory: SENSITIVE
- value: '[]'
label: Zusätzliche Maßnahmen
processingPurpose: DATA_ANALYSIS
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Bemerkung
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
# 4. Technische und organisatorische Maßnahmen (TOMs)
- title: Technische und organisatorische Maßnahmen
formElements:
- reference: datenschutz_toms_tabelle
title: Welche technischen und organisatorischen Maßnahmen werden vom Unternehmen und ggf. dem Auftragsverarbeiter / gemeinsamen Verantwortlichen zum Schutz von Arbeitnehmerdaten ergriffen?
description: TOMs zum Schutz personenbezogener Daten
type: TABLE
visibilityConditions:
- formElementConditionType: SHOW
sourceFormElementReference: personenbezogene_daten_verarbeitet
formElementExpectedValue: Ja
formElementOperator: EQUALS
options:
- value: '[]'
label: TOM-Baustein
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL
- value: '[]'
label: Umgesetzt?
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: REVIEW_REQUIRED
- value: '[]'
label: Kurzbeschreibung / Referenz
processingPurpose: SYSTEM_OPERATION
employeeDataCategory: NON_CRITICAL

View File

@@ -1,5 +1,5 @@
<template>
<UCheckbox v-model="modelValue" :label="label" />
<UCheckboxGroup v-model="modelValue" :items="items" />
</template>
<script setup lang="ts">
@@ -13,17 +13,18 @@ const emit = defineEmits<{
(e: 'update:formOptions', value: FormOptionDto[]): void
}>()
// Map options to items format expected by UCheckboxGroup
const items = computed(() => props.formOptions.map((option) => ({ label: option.label, value: option.label })))
// Model value is an array of labels for checkboxes where value === 'true'
const modelValue = computed({
get: () => props.formOptions[0]?.value === 'true',
set: (val) => {
const firstOption = props.formOptions[0]
if (firstOption) {
const updatedModelValue = [...props.formOptions]
updatedModelValue[0] = { ...firstOption, value: val.toString() }
emit('update:formOptions', updatedModelValue)
}
get: () => props.formOptions.filter((option) => option.value === 'true').map((option) => option.label),
set: (selectedLabels: string[]) => {
const updatedModelValue = props.formOptions.map((option) => ({
...option,
value: selectedLabels.includes(option.label) ? 'true' : 'false'
}))
emit('update:formOptions', updatedModelValue)
}
})
const label = computed(() => props.formOptions[0]?.label ?? '')
</script>

View File

@@ -57,6 +57,13 @@ export function useFormElementVisibility() {
return false
}
// Special handling for CHECKBOX with multiple options
if (sourceElement.type === FormElementType.Checkbox && sourceElement.options.length > 1) {
const operator = condition.formElementOperator || VCOperator.Equals
const conditionMet = evaluateCheckboxCondition(sourceElement, condition.formElementExpectedValue, operator)
return condition.formElementConditionType === VCType.Show ? conditionMet : !conditionMet
}
const sourceValue = getFormElementValue(sourceElement)
const operator = condition.formElementOperator || VCOperator.Equals
const conditionMet = evaluateCondition(sourceValue, condition.formElementExpectedValue, operator)
@@ -75,6 +82,37 @@ export function useFormElementVisibility() {
return selectedOption?.label || ''
}
/**
* Evaluates visibility condition for CHECKBOX with multiple options.
* Checks if ANY of the selected checkboxes matches the expected value.
*/
function evaluateCheckboxCondition(
element: FormElementDto,
expectedValue: string,
operator: VisibilityConditionOperator
): boolean {
const selectedLabels = element.options
.filter((option) => option.value === 'true')
.map((option) => option.label)
switch (operator) {
case VCOperator.Equals:
// Check if any selected checkbox label matches the expected value
return selectedLabels.some((label) => label.toLowerCase() === expectedValue.toLowerCase())
case VCOperator.NotEquals:
// Check if no selected checkbox label matches the expected value
return !selectedLabels.some((label) => label.toLowerCase() === expectedValue.toLowerCase())
case VCOperator.IsEmpty:
// Check if no checkboxes are selected
return selectedLabels.length === 0
case VCOperator.IsNotEmpty:
// Check if at least one checkbox is selected
return selectedLabels.length > 0
default:
return false
}
}
function evaluateCondition(
actualValue: string,
expectedValue: string,