DSR — Betroffenenrechte (Art. 15–21 DSGVO)
Das DSR-Modul verwaltet Data Subject Requests (Betroffenenanfragen) gemaess DSGVO Art. 15–21.
Es ersetzt den bisherigen Proxy zum consent-service durch eine native Python/FastAPI-Implementierung
mit eigenem Datenmodell, Status-Workflow, Fristen-Management und Kommunikations-Tracking.
Uebersicht
| Eigenschaft |
Wert |
| SDK-Route |
/sdk/dsr |
| Backend |
backend-compliance:8002 |
| Router-Prefix |
/api/compliance/dsr |
| Rechtsgrundlage |
Art. 15–21, Art. 12 Abs. 3 DSGVO |
| DB-Migration |
026_dsr.sql |
| Tests |
50 Tests (test_dsr_routes.py) |
| Status |
100% — native Implementierung |
Anfragetypen
| Typ |
DSGVO-Artikel |
Beschreibung |
access |
Art. 15 |
Auskunftsrecht |
rectification |
Art. 16 |
Berichtigungsrecht |
erasure |
Art. 17 |
Recht auf Loeschung |
restriction |
Art. 18 |
Recht auf Einschraenkung |
portability |
Art. 20 |
Recht auf Datenuebertragbarkeit |
objection |
Art. 21 |
Widerspruchsrecht |
Status-Workflow
- Frist: 30 Tage ab Eingang (Art. 12 Abs. 3)
- Verlaengerung: Einmalig um weitere 60 Tage moeglich (mit Begruendung)
- Identitaetspruefung: Pflicht vor Bearbeitung (Art. 12 Abs. 6)
API-Endpoints
DSR-Verwaltung
| Methode |
Pfad |
Beschreibung |
POST |
/dsr |
DSR erstellen (auto request_number, 30-Tage Deadline) |
GET |
/dsr |
DSRs auflisten (Filter: status, type, assigned_to, priority, overdue, search, date-range) |
GET |
/dsr/stats |
Dashboard-Statistiken (offen, ueberfaellig, avg. Bearbeitungszeit) |
GET |
/dsr/{id} |
DSR-Detail |
PUT |
/dsr/{id} |
DSR aktualisieren |
DELETE |
/dsr/{id} |
DSR loeschen |
Status-Aktionen
| Methode |
Pfad |
Beschreibung |
POST |
/dsr/{id}/status |
Status aendern (mit Kommentar) |
POST |
/dsr/{id}/verify-identity |
Identitaet verifizieren (method + verified_by) |
POST |
/dsr/{id}/assign |
Bearbeiter zuweisen |
POST |
/dsr/{id}/extend |
Frist verlaengern (+60 Tage, mit Begruendung) |
POST |
/dsr/{id}/complete |
Abschliessen (mit Zusammenfassung) |
POST |
/dsr/{id}/reject |
Ablehnen (mit Begruendung) |
Kommunikation & History
| Methode |
Pfad |
Beschreibung |
GET |
/dsr/{id}/history |
Status-Audit-Trail |
GET |
/dsr/{id}/communications |
Kommunikations-Log |
POST |
/dsr/{id}/communicate |
Nachricht senden (email/portal/phone) |
Art. 17(3) Ausnahmen-Pruefung
| Methode |
Pfad |
Beschreibung |
GET |
/dsr/{id}/exception-checks |
Ausnahmen-Checks abrufen |
POST |
/dsr/{id}/exception-checks/init |
6 Standard-Checks initialisieren |
PUT |
/dsr/{id}/exception-checks/{checkId} |
Einzelnen Check aktualisieren |
Die 6 Standard-Ausnahmen (Art. 17 Abs. 3 DSGVO):
- Ausuebung der Meinungs- und Informationsfreiheit
- Erfuellung rechtlicher Verpflichtungen
- Gruende des oeffentlichen Interesses (Gesundheit)
- Archivzwecke im oeffentlichen Interesse
- Geltendmachung/Ausuebung/Verteidigung von Rechtsanspruechen
- Statistische Zwecke (§ 27 BDSG)
Template-Verwaltung
| Methode |
Pfad |
Beschreibung |
GET |
/dsr/templates |
Alle Kommunikationsvorlagen |
GET |
/dsr/templates/published |
Publizierte Vorlagen (Filter: request_type, language) |
GET |
/dsr/templates/{id}/versions |
Versionen einer Vorlage |
POST |
/dsr/templates/{id}/versions |
Neue Version erstellen |
PUT |
/dsr/template-versions/{id}/publish |
Version publizieren |
Fristen-Verarbeitung
| Methode |
Pfad |
Beschreibung |
POST |
/dsr/deadlines/process |
Ueberfaellige DSRs markieren (Batch-Job) |
DB-Tabellen (Migration 026)
| Tabelle |
Beschreibung |
compliance_dsr_requests |
Haupttabelle (26+ Spalten, inkl. request_number Sequence) |
compliance_dsr_status_history |
Immutabler Status-Audit-Trail |
compliance_dsr_communications |
E-Mail/Portal-Kommunikation |
compliance_dsr_templates |
Kommunikationsvorlagen |
compliance_dsr_template_versions |
Versionierte Template-Inhalte |
compliance_dsr_exception_checks |
Art. 17(3) Ausnahmen-Pruefungen |
Sequence: compliance_dsr_request_number_seq — Generiert fortlaufende Antragsnummern (DSR-2026-000001).
Datenmodell (DSR-Anfrage)
Frontend-Proxy
Das DSR-Frontend nutzt den bestehenden Compliance-Catch-All-Proxy:
| Frontend-Route |
Ziel |
/api/sdk/v1/compliance/dsr/* |
backend:8002/api/compliance/dsr/* |
!!! info "Migration vom consent-service"
Vor der Migration wurden DSR-Anfragen ueber dsr_api.py und dsr_admin_api.py als Proxy
an den Go consent-service weitergeleitet. Diese Proxy-Dateien wurden entfernt.
Alle DSR-Daten liegen jetzt nativ in der Compliance-Datenbank.