
patrickandClaude Opus 4.8
c122ab6fd7
feat(dsgvo): Art. 17 Anonymisierung von Mitarbeiterkonten
Statt Hard-Delete (kollidiert mit Lohn-/Steuer-Aufbewahrung) werden bei
DSGVO-Löschanfrage die personenbezogenen Felder der bestehenden User-Zeile
überschrieben; referenzierte Daten (Zeit/Abwesenheit/Auszahlung/AuditLog)
bleiben entkoppelt erhalten.
- users.anonymized_at (Migration 0040); UserOut.anonymized_at.
- user_service.anonymize_user: überschreibt Name/E-Mail (eindeutig anon-<id>@deleted.local),
entfernt Auth-Material (Passwort/PIN/QR/NFC/TOTP/LDAP-DN), is_active=False, löscht Sessions,
AuditLog 'user_anonymized'. Personalnummer bleibt reserviert (kein Personenbezug mehr).
Selbst-Anonymisierung (400), Doppelanonymisierung/Reaktivierung anonymisierter Konten (409).
- POST /users/{id}/anonymize (COMPANY_ADMIN/SUPER_ADMIN, mandantengeprüft).
- UsersPage: "Anonymisieren"-Button mit Sicherheitsabfrage + "Anonymisiert"-Badge.
193/193 Tests grün. Deployed 137 + 164.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 14:31:14 +02:00
..
2026-05-23 20:03:27 +02:00
2026-06-23 13:17:32 +02:00
2026-05-23 20:03:27 +02:00
2026-06-23 01:34:23 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-06-23 13:17:32 +02:00
2026-05-25 22:17:52 +02:00
2026-05-24 12:49:09 +02:00
2026-05-24 12:13:46 +02:00
2026-05-23 20:03:27 +02:00
2026-05-23 20:03:27 +02:00
2026-06-02 15:58:38 +02:00
2026-05-23 20:03:27 +02:00
2026-06-23 01:34:23 +02:00
2026-05-23 20:03:27 +02:00
2026-05-25 00:55:47 +02:00
2026-05-23 20:03:27 +02:00
2026-06-23 14:31:14 +02:00