Agent-completed splits committed after agents hit rate limits before committing their work. All 4 pages now under 500 LOC: - consent-management: 1303 -> 193 LOC (+ 7 _components, _hooks, _data, _types) - control-library: 1210 -> 298 LOC (+ _components, _types) - incidents: 1150 -> 373 LOC (+ _components) - training: 1127 -> 366 LOC (+ _components) Verification: next build clean (142 pages generated). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
81 lines
4.5 KiB
TypeScript
81 lines
4.5 KiB
TypeScript
// 16 Lifecycle Email Templates
|
|
export const emailTemplates = [
|
|
{ name: 'Willkommens-E-Mail', key: 'welcome', category: 'onboarding', description: 'Wird bei Registrierung versendet' },
|
|
{ name: 'E-Mail Bestaetigung', key: 'email_verification', category: 'onboarding', description: 'Bestaetigungslink fuer E-Mail-Adresse' },
|
|
{ name: 'Konto aktiviert', key: 'account_activated', category: 'onboarding', description: 'Bestaetigung der Kontoaktivierung' },
|
|
{ name: 'Passwort zuruecksetzen', key: 'password_reset', category: 'security', description: 'Link zum Zuruecksetzen des Passworts' },
|
|
{ name: 'Passwort geaendert', key: 'password_changed', category: 'security', description: 'Bestaetigung der Passwortaenderung' },
|
|
{ name: 'Neue Anmeldung', key: 'new_login', category: 'security', description: 'Benachrichtigung ueber Anmeldung von neuem Geraet' },
|
|
{ name: '2FA aktiviert', key: '2fa_enabled', category: 'security', description: 'Bestaetigung der 2FA-Aktivierung' },
|
|
{ name: 'Neue Dokumentversion', key: 'new_document_version', category: 'consent', description: 'Info ueber neue Dokumentversion zur Zustimmung' },
|
|
{ name: 'Zustimmung erteilt', key: 'consent_given', category: 'consent', description: 'Bestaetigung der erteilten Zustimmung' },
|
|
{ name: 'Zustimmung widerrufen', key: 'consent_withdrawn', category: 'consent', description: 'Bestaetigung des Widerrufs' },
|
|
{ name: 'DSR Anfrage erhalten', key: 'dsr_received', category: 'gdpr', description: 'Bestaetigung des Eingangs einer DSGVO-Anfrage' },
|
|
{ name: 'Datenexport bereit', key: 'export_ready', category: 'gdpr', description: 'Benachrichtigung ueber fertigen Datenexport' },
|
|
{ name: 'Daten geloescht', key: 'data_deleted', category: 'gdpr', description: 'Bestaetigung der Datenloeschung' },
|
|
{ name: 'Daten berichtigt', key: 'data_rectified', category: 'gdpr', description: 'Bestaetigung der Datenberichtigung' },
|
|
{ name: 'Konto deaktiviert', key: 'account_deactivated', category: 'lifecycle', description: 'Konto wurde deaktiviert' },
|
|
{ name: 'Konto geloescht', key: 'account_deleted', category: 'lifecycle', description: 'Bestaetigung der Kontoloeschung' },
|
|
]
|
|
|
|
// GDPR Article 15-21 Processes
|
|
export const gdprProcesses = [
|
|
{
|
|
article: '15',
|
|
title: 'Auskunftsrecht',
|
|
description: 'Recht auf Bestaetigung und Auskunft ueber verarbeitete personenbezogene Daten',
|
|
actions: ['Datenexport generieren', 'Verarbeitungszwecke auflisten', 'Empfaenger auflisten'],
|
|
sla: '30 Tage',
|
|
},
|
|
{
|
|
article: '16',
|
|
title: 'Recht auf Berichtigung',
|
|
description: 'Recht auf Berichtigung unrichtiger personenbezogener Daten',
|
|
actions: ['Daten bearbeiten', 'Aenderungshistorie fuehren', 'Benachrichtigung senden'],
|
|
sla: '30 Tage',
|
|
},
|
|
{
|
|
article: '17',
|
|
title: 'Recht auf Loeschung ("Vergessenwerden")',
|
|
description: 'Recht auf Loeschung personenbezogener Daten unter bestimmten Voraussetzungen',
|
|
actions: ['Loeschantrag pruefen', 'Daten loeschen', 'Aufbewahrungsfristen pruefen', 'Loeschbestaetigung senden'],
|
|
sla: '30 Tage',
|
|
},
|
|
{
|
|
article: '18',
|
|
title: 'Recht auf Einschraenkung der Verarbeitung',
|
|
description: 'Recht auf Markierung von Daten zur eingeschraenkten Verarbeitung',
|
|
actions: ['Daten markieren', 'Verarbeitung einschraenken', 'Benachrichtigung bei Aufhebung'],
|
|
sla: '30 Tage',
|
|
},
|
|
{
|
|
article: '19',
|
|
title: 'Mitteilungspflicht',
|
|
description: 'Pflicht zur Mitteilung von Berichtigung, Loeschung oder Einschraenkung an Empfaenger',
|
|
actions: ['Empfaenger ermitteln', 'Mitteilungen versenden', 'Protokollierung'],
|
|
sla: 'Unverzueglich',
|
|
},
|
|
{
|
|
article: '20',
|
|
title: 'Recht auf Datenuebertragbarkeit',
|
|
description: 'Recht auf Erhalt der Daten in strukturiertem, maschinenlesbarem Format',
|
|
actions: ['JSON/CSV Export', 'API-Schnittstelle', 'Direkte Uebertragung'],
|
|
sla: '30 Tage',
|
|
},
|
|
{
|
|
article: '21',
|
|
title: 'Widerspruchsrecht',
|
|
description: 'Recht auf Widerspruch gegen Verarbeitung aus berechtigtem Interesse oder Direktwerbung',
|
|
actions: ['Widerspruch erfassen', 'Verarbeitung stoppen', 'Marketing-Opt-out'],
|
|
sla: 'Unverzueglich',
|
|
},
|
|
]
|
|
|
|
export const emailCategories = [
|
|
{ key: 'onboarding', label: 'Onboarding', color: 'bg-blue-100 text-blue-700' },
|
|
{ key: 'security', label: 'Sicherheit', color: 'bg-red-100 text-red-700' },
|
|
{ key: 'consent', label: 'Zustimmung', color: 'bg-green-100 text-green-700' },
|
|
{ key: 'gdpr', label: 'DSGVO', color: 'bg-purple-100 text-purple-700' },
|
|
{ key: 'lifecycle', label: 'Lifecycle', color: 'bg-orange-100 text-orange-700' },
|
|
]
|