# Vollständige Consent-Änderungs-Historie **Aktueller Stand**: Basis-Tracking existiert bereits - ✅ `group_social_media_consents`: Aktueller Status + Timestamps (`consent_timestamp`, `revoked_timestamp`) - ✅ `management_audit_log`: Allgemeine Aktionen ohne detaillierte Old/New Values - ✅ Ausreichend für grundlegende DSGVO-Compliance **Was fehlt**: Dedizierte Änderungs-Historie mit Old→New Values **Geplante Implementierung**: \Project-Image-Uploader\backend\src\database\migrations ```sql -- Migration 008: Consent Change History CREATE TABLE consent_change_history ( id INTEGER PRIMARY KEY AUTOINCREMENT, group_id TEXT NOT NULL, consent_type TEXT NOT NULL, -- 'workshop' | 'social_media' platform_id INTEGER, -- NULL für workshop -- Old/New Values als JSON old_value TEXT, -- {"consented": true, "revoked": false} new_value TEXT NOT NULL, -- {"consented": true, "revoked": true} -- Metadaten changed_by TEXT NOT NULL, -- 'user_management' | 'admin_moderation' change_reason TEXT, ip_address TEXT, management_token TEXT, -- Maskiert created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` **Vorteile**: - ✅ Vollständige rechtliche Compliance mit Änderungs-Historie - ✅ Debugging: "Wer hat wann was geändert?" - ✅ User-Transparenz im Management-Portal - ✅ Admin-Audit-Trail für Nachvollziehbarkeit **Implementierungs-Aufwand**: ~1-2 Tage 1. Migration 008 erstellen 2. `ConsentHistoryRepository` implementieren 3. Hooks in Consent-Change-Routes (management.js, admin.js) 4. Frontend `ConsentHistoryViewer` Komponente (Timeline-View) 1. diese soll dann im Management-Portal unter "Consent-Verlauf" angezeigt werden 5. Admin-API: `GET /api/admin/consent-history?groupId=xxx` --- # 📚 Referenzen - [DSGVO Art. 7 - Bedingungen für die Einwilligung](https://dsgvo-gesetz.de/art-7-dsgvo/) - [Material-UI Checkbox Documentation](https://mui.com/material-ui/react-checkbox/) - [SQLite Foreign Key Support](https://www.sqlite.org/foreignkeys.html) - [UUID v4 Best Practices](https://www.rfc-editor.org/rfc/rfc4122) --- **Erstellt am**: 9. November 2025 **Letzte Aktualisierung**: 15. November 2025, 18:20 Uhr **Status**: ✅ Phase 1: 100% komplett | ✅ Phase 2 Backend: 100% komplett | ✅ Phase 2 Frontend: 100% komplett **Production-Ready**: Ja (alle Features implementiert und getestet)