Audit: Portaldaten-Opt-out als eigenes CRITICAL-Event loggen
Auf Wunsch des Pentesters (R117-Nachtrag). Das Umschalten des portalCredentialsNotRequired-Flags emittiert jetzt zusätzlich zum generischen Contract-Update-Diff ein dediziertes UPDATE-Event unter resourceType 'ContractPassword' – landet damit in derselben CRITICAL-Sensitivity-Reihe wie Klartext-Password-Reads. Motivation: das Setzen des Flags räumt server-seitig portalUsername, portalPasswordEncrypted und stressfreiEmailId auf NULL. Diese Löschung soll unabhängig vom generischen Diff sofort sichtbar sein. Rücknahme wird ebenfalls geloggt. Details enthält alte + neue Flag-Werte plus Bool-Marker, welche Anmeldedaten vor dem Opt-out belegt waren – keine Klartext- Leckage im Log. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,19 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **📝 DSGVO-Audit: Portaldaten-Opt-out als eigenes CRITICAL-Event**
|
||||
- Auf Wunsch des Pentesters (R117-Nachtrag): das Umschalten des
|
||||
`portalCredentialsNotRequired`-Flags emittiert jetzt zusätzlich zum
|
||||
generischen Contract-Update-Diff ein dediziertes `UPDATE`-Event
|
||||
unter `resourceType: 'ContractPassword'` — landet damit in derselben
|
||||
CRITICAL-Sensitivity-Reihe wie Klartext-Password-Reads.
|
||||
- Motivation: das Setzen des Flags räumt server-seitig
|
||||
`portalUsername`/`portalPasswordEncrypted`/`stressfreiEmailId` auf
|
||||
`NULL`. Diese Löschung sensitiver Daten ist jetzt unabhängig vom
|
||||
generischen Diff nachweisbar. Rücknahme wird ebenfalls geloggt.
|
||||
- `details` enthält alte + neue Flag-Werte plus Bool-Marker, welche
|
||||
Anmeldedaten vor dem Opt-out belegt waren (keine Klartext-Leckage).
|
||||
|
||||
- [x] **🔕 Vertrag: „Portaldaten nicht möglich / nicht benötigt"-Opt-out**
|
||||
- Dritter Radio-Button in der `Zugangsdaten`-Card des Vertragsformulars:
|
||||
„Nicht möglich zu bekommen / nicht benötigt". Wenn gesetzt, unterdrückt
|
||||
|
||||
Reference in New Issue
Block a user