Files
breakpilot-compliance/docs-src/services/sdk-modules/dsr.md
Benjamin Admin 451616b10e
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 48s
CI / test-python-backend-compliance (push) Successful in 42s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 21s
docs: MkDocs-Dokumentation fuer DSR, E-Mail-Templates, Banner Consent
- Neue Seiten: dsr.md, email-templates.md, banner-consent.md
- rechtliche-texte.md: User-Consents & Cookie-Kategorien (Migration 028) ergaenzt
- mkdocs.yml: 3 neue Nav-Eintraege unter SDK Module

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 08:22:38 +01:00

5.7 KiB
Raw Blame History

DSR — Betroffenenrechte (Art. 1521 DSGVO)

Das DSR-Modul verwaltet Data Subject Requests (Betroffenenanfragen) gemaess DSGVO Art. 1521. 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. 1521, 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

graph LR
    A[new] --> B[in_review]
    B --> C[identity_verification]
    C --> D[processing]
    D --> E[completed]
    D --> F[rejected]
    B --> F
    A --> G[cancelled]
    D --> H[extended]
    H --> D
  • 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):

  1. Ausuebung der Meinungs- und Informationsfreiheit
  2. Erfuellung rechtlicher Verpflichtungen
  3. Gruende des oeffentlichen Interesses (Gesundheit)
  4. Archivzwecke im oeffentlichen Interesse
  5. Geltendmachung/Ausuebung/Verteidigung von Rechtsanspruechen
  6. 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)

{
  "id": "uuid",
  "tenant_id": "uuid",
  "request_number": "DSR-2026-000001",
  "request_type": "erasure",
  "status": "processing",
  "priority": "high",
  "subject_name": "Max Mustermann",
  "subject_email": "max@beispiel.de",
  "description": "Bitte alle personenbezogenen Daten loeschen",
  "assigned_to": "dsb@firma.de",
  "deadline": "2026-04-04T00:00:00Z",
  "identity_verified": true,
  "identity_verification_method": "id_card",
  "created_at": "2026-03-05T10:00:00Z"
}

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.