Services: Admin-Compliance, Backend-Compliance, AI-Compliance-SDK, Consent-SDK, Developer-Portal, PCA-Platform, DSMS Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
317 lines
11 KiB
TypeScript
317 lines
11 KiB
TypeScript
/**
|
|
* Demo VVT (Verarbeitungsverzeichnis / Processing Activities Register) for AI Compliance SDK
|
|
* Art. 30 DSGVO - These are seed data structures - actual data is stored in database
|
|
*/
|
|
|
|
import { ProcessingActivity, RetentionPolicy } from '../types'
|
|
|
|
export const DEMO_PROCESSING_ACTIVITIES: ProcessingActivity[] = [
|
|
{
|
|
id: 'demo-pa-1',
|
|
name: 'KI-gestützte Kundenanalyse',
|
|
purpose: 'Analyse von Kundenverhalten und Präferenzen zur Personalisierung von Angeboten, Churn-Prediction und Marketing-Optimierung',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse) / Art. 6 Abs. 1 lit. a DSGVO (Einwilligung für erweitertes Profiling)',
|
|
dataCategories: [
|
|
'Stammdaten (Name, Adresse, E-Mail, Telefon)',
|
|
'Transaktionsdaten (Käufe, Bestellungen, Retouren)',
|
|
'Nutzungsdaten (Clickstreams, Seitenaufrufe, Verweildauer)',
|
|
'Demographische Daten (Alter, Geschlecht, PLZ-Region)',
|
|
],
|
|
dataSubjects: [
|
|
'Bestandskunden (ca. 250.000 aktive)',
|
|
'Registrierte Interessenten (ca. 100.000)',
|
|
'Newsletter-Abonnenten (ca. 180.000)',
|
|
],
|
|
recipients: [
|
|
'Interne Fachabteilungen (Marketing, Vertrieb)',
|
|
'E-Mail-Marketing-Dienstleister (AV-Vertrag vorhanden)',
|
|
'Cloud-Infrastruktur-Anbieter (AV-Vertrag vorhanden)',
|
|
],
|
|
thirdCountryTransfers: false,
|
|
retentionPeriod: '3 Jahre nach letzter Aktivität, danach Anonymisierung',
|
|
technicalMeasures: [
|
|
'AES-256 Verschlüsselung',
|
|
'Pseudonymisierung',
|
|
'Zugriffskontrolle mit MFA',
|
|
'Audit-Logging',
|
|
],
|
|
organizationalMeasures: [
|
|
'Rollenbasiertes Berechtigungskonzept',
|
|
'Verpflichtung auf Datengeheimnis',
|
|
'Regelmäßige Datenschutzschulungen',
|
|
'Dokumentierte Prozesse',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-pa-2',
|
|
name: 'Automatisierte Bewerbungsvorauswahl',
|
|
purpose: 'KI-gestützte Vorauswahl von Bewerbungen basierend auf Lebenslauf-Analyse und Qualifikationsabgleich zur Effizienzsteigerung im Recruiting',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. b DSGVO (vorvertragliche Maßnahmen) / § 26 BDSG (Beschäftigungsverhältnis)',
|
|
dataCategories: [
|
|
'Bewerberdaten (Name, Kontakt, Geburtsdatum)',
|
|
'Qualifikationen (Ausbildung, Berufserfahrung, Zertifikate)',
|
|
'Lebenslaufdaten (Werdegang, Fähigkeiten)',
|
|
'Bewerbungsschreiben',
|
|
],
|
|
dataSubjects: [
|
|
'Bewerber auf offene Stellen',
|
|
'Initiativbewerber',
|
|
],
|
|
recipients: [
|
|
'HR-Abteilung',
|
|
'Fachabteilungsleiter (nur finale Kandidaten)',
|
|
'Betriebsrat (Einsichtnahme möglich)',
|
|
],
|
|
thirdCountryTransfers: false,
|
|
retentionPeriod: '6 Monate nach Abschluss des Bewerbungsverfahrens (bei Ablehnung), länger nur mit Einwilligung für Talentpool',
|
|
technicalMeasures: [
|
|
'Verschlüsselte Speicherung',
|
|
'Zugangsbeschränkung auf HR',
|
|
'Automatische Löschroutinen',
|
|
'Bias-Monitoring',
|
|
],
|
|
organizationalMeasures: [
|
|
'Human-in-the-Loop für finale Entscheidungen',
|
|
'Dokumentierte KI-Entscheidungskriterien',
|
|
'Transparente Information an Bewerber',
|
|
'Regelmäßige Fairness-Audits',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-pa-3',
|
|
name: 'Kundenservice-Chatbot',
|
|
purpose: 'Automatisierte Beantwortung von Kundenanfragen im First-Level-Support mittels KI-gestütztem Dialogsystem',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) / Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse)',
|
|
dataCategories: [
|
|
'Kundenstammdaten (zur Identifikation)',
|
|
'Kommunikationsinhalte (Chat-Verläufe)',
|
|
'Technische Daten (Session-ID, Zeitstempel)',
|
|
'Serviceanfragen und deren Lösungen',
|
|
],
|
|
dataSubjects: [
|
|
'Kunden mit aktiven Verträgen',
|
|
'Interessenten mit Anfragen',
|
|
],
|
|
recipients: [
|
|
'Kundenservice-Team (bei Eskalation)',
|
|
'Cloud-Anbieter (Hosting, AV-Vertrag)',
|
|
],
|
|
thirdCountryTransfers: false,
|
|
retentionPeriod: '2 Jahre für Chat-Verläufe, danach Anonymisierung für Training',
|
|
technicalMeasures: [
|
|
'TLS-Verschlüsselung',
|
|
'Keine Speicherung sensitiver Daten im Chat',
|
|
'Automatische PII-Erkennung und Maskierung',
|
|
],
|
|
organizationalMeasures: [
|
|
'Klare KI-Kennzeichnung gegenüber Kunden',
|
|
'Jederzeit Übergabe an Menschen möglich',
|
|
'Schulung des Eskalations-Teams',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-pa-4',
|
|
name: 'Mitarbeiterverwaltung',
|
|
purpose: 'Verwaltung von Personalstammdaten, Gehaltsabrechnung, Zeiterfassung und Personalentwicklung',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. b DSGVO (Arbeitsvertrag) / § 26 BDSG (Beschäftigungsverhältnis) / gesetzliche Pflichten (Steuer, SV)',
|
|
dataCategories: [
|
|
'Personalstammdaten (Name, Adresse, Geburtsdatum, SV-Nr.)',
|
|
'Vertragsdaten (Arbeitsvertrag, Gehalt, Arbeitszeit)',
|
|
'Zeiterfassungsdaten',
|
|
'Leistungsbeurteilungen',
|
|
'Bankverbindung',
|
|
],
|
|
dataSubjects: [
|
|
'Aktive Mitarbeiter',
|
|
'Ehemalige Mitarbeiter (Archiv)',
|
|
],
|
|
recipients: [
|
|
'HR-Abteilung',
|
|
'Lohnbuchhaltung / Steuerberater',
|
|
'Sozialversicherungsträger',
|
|
'Finanzamt',
|
|
],
|
|
thirdCountryTransfers: false,
|
|
retentionPeriod: '10 Jahre nach Ausscheiden (steuerliche Aufbewahrungspflichten)',
|
|
technicalMeasures: [
|
|
'Verschlüsselte Speicherung',
|
|
'Strenge Zugriffskontrolle',
|
|
'Getrennte Systeme für verschiedene Datenkategorien',
|
|
],
|
|
organizationalMeasures: [
|
|
'Need-to-know-Prinzip',
|
|
'Dokumentierte Prozesse',
|
|
'Betriebsvereinbarung zur Datenverarbeitung',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-pa-5',
|
|
name: 'Website-Analyse und Marketing',
|
|
purpose: 'Analyse des Nutzerverhaltens auf der Website zur Optimierung der User Experience und für personalisierte Marketing-Maßnahmen',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. a DSGVO (Einwilligung via Cookie-Banner)',
|
|
dataCategories: [
|
|
'Pseudonymisierte Nutzungsdaten',
|
|
'Cookie-IDs und Tracking-Identifier',
|
|
'Geräteinformationen',
|
|
'Interaktionsdaten (Klicks, Scrollverhalten)',
|
|
],
|
|
dataSubjects: [
|
|
'Website-Besucher (nur mit Einwilligung)',
|
|
],
|
|
recipients: [
|
|
'Marketing-Team',
|
|
'Analytics-Anbieter (AV-Vertrag)',
|
|
'Advertising-Partner (nur mit erweiterter Einwilligung)',
|
|
],
|
|
thirdCountryTransfers: true,
|
|
retentionPeriod: '13 Monate für Analytics-Daten, Cookie-Laufzeit max. 12 Monate',
|
|
technicalMeasures: [
|
|
'IP-Anonymisierung',
|
|
'Secure Cookies',
|
|
'Consent-Management-System',
|
|
],
|
|
organizationalMeasures: [
|
|
'Transparente Cookie-Richtlinie',
|
|
'Einfacher Widerruf möglich',
|
|
'Regelmäßige Cookie-Audits',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-pa-6',
|
|
name: 'Videoüberwachung',
|
|
purpose: 'Schutz von Eigentum und Personen, Prävention und Aufklärung von Straftaten in Geschäftsräumen',
|
|
legalBasis: 'Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an Sicherheit)',
|
|
dataCategories: [
|
|
'Videoaufnahmen',
|
|
'Zeitstempel',
|
|
'Aufnahmeort',
|
|
],
|
|
dataSubjects: [
|
|
'Mitarbeiter in überwachten Bereichen',
|
|
'Besucher und Kunden',
|
|
'Lieferanten',
|
|
],
|
|
recipients: [
|
|
'Sicherheitspersonal',
|
|
'Geschäftsleitung (bei Vorfällen)',
|
|
'Strafverfolgungsbehörden (auf Anforderung)',
|
|
],
|
|
thirdCountryTransfers: false,
|
|
retentionPeriod: '72 Stunden, bei Vorfällen bis zur Abschluss der Untersuchung',
|
|
technicalMeasures: [
|
|
'Verschlüsselte Speicherung',
|
|
'Automatische Löschung nach Fristablauf',
|
|
'Eingeschränkter Zugriff',
|
|
],
|
|
organizationalMeasures: [
|
|
'Beschilderung der überwachten Bereiche',
|
|
'Betriebsvereinbarung mit Betriebsrat',
|
|
'Dokumentiertes Einsichtsprotokoll',
|
|
],
|
|
},
|
|
]
|
|
|
|
export const DEMO_RETENTION_POLICIES: RetentionPolicy[] = [
|
|
{
|
|
id: 'demo-ret-1',
|
|
dataCategory: 'Kundenstammdaten',
|
|
description: 'Grundlegende Daten zur Kundenidentifikation (Name, Adresse, Kontaktdaten)',
|
|
legalBasis: 'Handels- und steuerrechtliche Aufbewahrungspflichten (§ 257 HGB, § 147 AO)',
|
|
retentionPeriod: '10 Jahre nach Vertragsende',
|
|
deletionMethod: 'Sichere Löschung mit Protokollierung, bei Papier: Aktenvernichtung DIN 66399',
|
|
exceptions: [
|
|
'Laufende Rechtsstreitigkeiten',
|
|
'Offene Forderungen',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-2',
|
|
dataCategory: 'Transaktionsdaten',
|
|
description: 'Bestellungen, Rechnungen, Zahlungen, Lieferungen',
|
|
legalBasis: '§ 257 HGB, § 147 AO (handels- und steuerrechtliche Aufbewahrung)',
|
|
retentionPeriod: '10 Jahre ab Ende des Geschäftsjahres',
|
|
deletionMethod: 'Automatisierte Löschung nach Fristablauf',
|
|
exceptions: [
|
|
'Garantiefälle (bis Ende der Garantiezeit)',
|
|
'Prüfungen durch Finanzbehörden',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-3',
|
|
dataCategory: 'Bewerberdaten',
|
|
description: 'Lebenslauf, Anschreiben, Zeugnisse, Korrespondenz',
|
|
legalBasis: 'AGG (Diskriminierungsschutz) / § 26 BDSG',
|
|
retentionPeriod: '6 Monate nach Abschluss des Verfahrens',
|
|
deletionMethod: 'Sichere Löschung, bei Papier: Aktenvernichtung',
|
|
exceptions: [
|
|
'Aufnahme in Talentpool (mit Einwilligung): 2 Jahre',
|
|
'Diskriminierungsklagen: bis Abschluss',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-4',
|
|
dataCategory: 'Personalakten',
|
|
description: 'Arbeitsverträge, Gehaltsabrechnungen, Beurteilungen, Abmahnungen',
|
|
legalBasis: '§ 257 HGB, § 147 AO, Sozialversicherungsrecht',
|
|
retentionPeriod: '10 Jahre nach Ausscheiden (teilweise 30 Jahre für Rentenansprüche)',
|
|
deletionMethod: 'Sichere Löschung mit Dokumentation',
|
|
exceptions: [
|
|
'Arbeitsrechtliche Streitigkeiten',
|
|
'Rentenversicherungsnachweise (lebenslang empfohlen)',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-5',
|
|
dataCategory: 'Marketing-Profile',
|
|
description: 'Analysedaten, Segmentierungen, Präferenzen, Kaufhistorie',
|
|
legalBasis: 'Einwilligung (Art. 6 Abs. 1 lit. a DSGVO)',
|
|
retentionPeriod: '3 Jahre nach letzter Aktivität, dann Anonymisierung',
|
|
deletionMethod: 'Pseudonymisierung → Anonymisierung → Löschung',
|
|
exceptions: [
|
|
'Widerruf der Einwilligung (sofortige Löschung)',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-6',
|
|
dataCategory: 'Videoaufnahmen',
|
|
description: 'Aufnahmen der Sicherheitskameras',
|
|
legalBasis: 'Berechtigtes Interesse (Art. 6 Abs. 1 lit. f DSGVO)',
|
|
retentionPeriod: '72 Stunden',
|
|
deletionMethod: 'Automatisches Überschreiben',
|
|
exceptions: [
|
|
'Sicherheitsvorfälle (bis Abschluss der Untersuchung)',
|
|
'Anforderung durch Strafverfolgungsbehörden',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-7',
|
|
dataCategory: 'KI-Trainingsdaten',
|
|
description: 'Anonymisierte Datensätze für Modell-Training',
|
|
legalBasis: 'Berechtigtes Interesse / ursprüngliche Zweckbindung (bei Kompatibilität)',
|
|
retentionPeriod: 'Solange Modell aktiv, danach Löschung mit Modell-Archivierung',
|
|
deletionMethod: 'Sichere Löschung bei Modell-Retirement',
|
|
exceptions: [
|
|
'Audit-Trail für Modell-Herkunft (anonymisierte Metadaten)',
|
|
],
|
|
},
|
|
{
|
|
id: 'demo-ret-8',
|
|
dataCategory: 'Audit-Logs',
|
|
description: 'Protokolle von Datenzugriffen und Systemereignissen',
|
|
legalBasis: 'Nachweispflichten DSGVO, Compliance-Anforderungen',
|
|
retentionPeriod: '10 Jahre',
|
|
deletionMethod: 'Automatisierte Löschung nach Fristablauf',
|
|
exceptions: [
|
|
'Laufende Untersuchungen oder Audits',
|
|
],
|
|
},
|
|
]
|
|
|
|
export function getDemoProcessingActivities(): ProcessingActivity[] {
|
|
return DEMO_PROCESSING_ACTIVITIES
|
|
}
|
|
|
|
export function getDemoRetentionPolicies(): RetentionPolicy[] {
|
|
return DEMO_RETENTION_POLICIES
|
|
}
|