DSAR-Self-Service-Portal End-to-End
Devotel Orbit nimmt Betroffenen-Anträge über zwei Intake-Wege an: Ihre Operatoren reichen stellvertretend ein, und ein öffentliches Portal, über das die betroffene Person selbst einreicht. Eine Warteschlange speist beide. Dieser Guide begleitet den Portal-Weg von der Link-Veröffentlichung bis zur Erfüllung und zeigt, wie er sich mit der Operator-Einreichung kombiniert. Die DSAR-Referenz dokumentiert die Endpunkt-Oberfläche und die Zustandsmaschine der öffentlichen E-Mail-/Telefon-Claims; diese Seite ist das Runbook, mit dem Sie arbeiten.Jede Kontrolle hier ist Tenant-eigen: Sie veröffentlichen den Link, Sie betreiben die Warteschlange, Sie entscheiden und erfüllen. Orbit hostet das Portal, weist die Identität mit Zwei-Faktor-OTP nach und trackt die gesetzlichen Uhren — die Rechtspflicht zu antworten bleibt bei Ihnen, dem Verantwortlichen. Bestätigen Sie Ihre Pflichten mit anwaltlichem Rat.
1. Zwei Intake-Wege, eine Warteschlange
Operator-eingereicht. Ihr Team reicht einen Antrag mitPOST /compliance/dsar oder dem Create-DSAR-Dialog unter Settings → Compliance → DSAR ein. Ein so eingereichter Antrag startet als verification_status: pending — kein Export- oder Erasure-Worker fasst ihn an, bis ein Operator die Identitätsprüfung genehmigt oder ablehnt. Dieser Weg passt derzeit für: Betroffene, die Sie bereits kennen (eingeloggter Kunde, Kontakt bereits in Ihrem Workspace), und Rechte, die das öffentliche Formular nicht tragen kann (berichtigen, sensitiv-PII einschränken, Nicht-Diskriminierung).
Öffentliches Self-Service-Portal. Die betroffene Person reicht ihren eigenen Antrag über die gehostete öffentliche Seite ein — ohne Konto, ohne API-Key, ohne Session. Die Seite verifiziert ihre Identität mit Zwei-Faktor-E-Mail- + SMS-OTP, bevor irgendetwas in Ihre Warteschlange gelangt, sodass eine Portal-Einreichung vorverifiziert ankommt und der Export- oder Erasure-Worker sofort startet.
Betreiben Sie beide. Das Portal trägt das Consumer-Volumen zu null Ops-Handgriffen; die Operator-Einreichung deckt die Randfälle ab, die das Portal nicht kann. Jeder Antrag aus beiden Wegen landet in derselben Liste Settings → Compliance → DSAR und derselben GET /compliance/dsar-Antwort — eine Warteschlange, ein SLA-Banner, eine Audit-Kette.
2. Portal-Walkthrough
Den Link veröffentlichen
Hosten Sie das Portal als “Submit a privacy request”-Link in Ihrer Datenschutzerklärung, im Website-Footer oder im In-Produkt-Privacy-Center:<locale> ist dasselbe Locale-Präfix, das jede Orbit-Webseite trägt (en, fr, de, …). Die Seite rendert ein zweistufiges Identifikator-Formular hinter einem Cloudflare-Turnstile-Bot-Check: Die betroffene Person gibt E-Mail und Telefon (E.164) ein, wählt einen Antragstyp, und der Identitätsnachweis beginnt.
Die Absender-E-Mail-Voraussetzung
Entscheiden Sie, von welchen Adressen die Verifikationscodes des Portals senden, bevor der Link live geht — ein ungesetzter Absender lässt das Portal öffentlich fail-closed stehen. Zwei Plattform-Absender werden einmalig in Ihrer API-Umgebung konfiguriert:
Ohne SMS-Absender und ohne Plattform-Fallback liefert der Telefon-Schritt
503 und das Portal zeigt eine “temporarily unavailable”-Meldung; ohne E-Mail-Delivery-Key scheitert der E-Mail-Schritt genauso. In Production braucht der erste Schritt außerdem ein Turnstile-Token — setzen Sie DEVOTEL_TURNSTILE_SECRET_KEY auf der API und NEXT_PUBLIC_DEVOTEL_TURNSTILE_SITE_KEY auf dem Web-Deployment, aus dem Cloudflare-Dashboard (Turnstile → Add site).
SMS-Verifikationscodes reiten als Plattform-OTPs über den Devotel-Softswitch — kein Tenant-abrechenbarer Verkehr.
Was die betroffene Person sieht
Die betroffene Person durchläuft einen fünfstufigen Claim; nichts wird eingereiht, bis beide Nachweise vorliegen:- Begin — E-Mail, Telefon (E.164), Antragstyp. Ein E-Mail-OTP sendet sofort.
- E-Mail verifizieren — ein 6-stelliger E-Mail-Code (10 Minuten TTL, 3 Versuche, 60 Sekunden Resend-Cooldown).
- Telefon-Code senden — ein SMS-OTP an dasselbe Telefon (60 Sekunden Cooldown zwischen Sendungen).
- Telefon verifizieren — ein 6-stelliger SMS-Code.
- Submit — der Antrag gelangt nur mit beiden Nachweisen in Ihre Warteschlange. Der ganze Claim hat eine 30-Minuten-End-to-End-TTL.
Wenn die Identifikatoren keinem Kontakt in Ihrem Workspace entsprechen, antwortet der Submit-Schritt trotzdem gleich — das Portal verrät nie, ob ein Kontakt existiert — und die Audit-Zeile wird auf Plattform-Scope geschrieben, damit die forensische Spur den No-Match-Fall überlebt.
Die Zuständigkeit mappt auf die SLA-Uhr
Die betroffene Person wählt die Rechtsordnung, unter die ihr Antrag fällt, und diese Wahl bestimmt sowohl die gesetzliche Uhr, die die Zeile trägt, als auch welcherequest_type-Werte die Warteschlange halten darf:
Die Paarung richtig hinzubekommen zählt:
opt_out_sale und limit_sensitive_pi haben kein GDPR-Äquivalent, und die Operator-Standardzuständigkeit ist gdpr — setzen Sie sie für kalifornische Verbraucher ausdrücklich. Eine Portal-Einreichung von opt_out setzt die Zuständigkeit standardmäßig auf CCPA/CPRA, gerade weil die GDPR-Standardvorgabe sonst ungültig wäre. Eine Fehlwahl der betroffenen Person ist korrigierbar: klassifizieren Sie die Zuständigkeit aus der Warteschlange um, und das SLA-Badge verankert sich neu.
3. Was Operatoren nach einer Einreichung sehen
Eine Portal-Einreichung, die einem Kontakt entspricht, landet in Settings → Compliance → DSAR neben Operator-Anträgen. Weil das OTP die Identität bereits nachgewiesen hat, kommt sie alsverification_status: verified an — kein Approve/Reject-Gate blockiert sie.
- Status und Frist. Die Zeile trägt den üblichen Lifecycle-Status und ein Day X of N-SLA-Badge, verankert an der Frist der Rechtsordnung; jede Verletzung hebt das Workspace-weite SLA-Banner.
GET /compliance/dsar/slaliefert dasselbe Bild über die API. - Erasure-Class-Einreichungen. Eine betroffene Person, die “delete” gewählt hat, erscheint im Portal-Abschnitt des Tabs Erasure requests (Art. 17), SLA-Badge daneben, vor der 7-Tage-Cooling-off-Standardvorgabe.
- Erfüllung. Eine Auskunfts- oder Portabilitäts-Einreichung läuft bis Completed mit signierter
export_url; die Aktion Download decrypted baut den Klartext-Export für einen Operator. Eine Erasure bietet nach Ausführung das Proof-of-deletion-Zertifikat und Propagate an Ihre verbundenen Ziele. - Audit-Kette. Begin, beide Verifikationen und Submit schreiben Zeilen mit gehashten (nie rohen) Identifikatoren, Quell-IP und User-Agent — die Aufzeichnung, aus der Ihr Evidence Binder zieht, wenn eine Aufsichtsbehörde fragt, wie die Identität festgestellt wurde.
4. Was Orbit nicht tut
Das Portal ist Maschinerie für Intake und Identitätsnachweis; die rechtlichen Entscheidungen bleiben bei Ihnen:- Orbit entscheidet nie über die Gültigkeit. Es nimmt einen Antrag nie aus Rechtsgründen an oder ab. Pending-verifizierende Zeilen warten auf Ihr Approve/Reject; verifizierte Zeilen werden erfüllt, weil Sie es zulassen, nicht weil die Plattform den Anspruch beurteilt hat.
- Orbit erfüllt nie automatisch ein Operator-Verdikt. Für einen Operator-eingereichten Antrag wird kein Export erzeugt und nichts erased, solange
verification_status: pendinggilt. Eine Portal-Einreichung überspringt das Gate nur, weil ihr OTP die Identität bereits nachgewiesen hat. - Erasure respektiert Ihre Cooling-off-Haltung. Die 7-Tage-Standardvorgabe (pro Tenant überschreibbar) gibt Ihnen das Fenster zum Ablehnen, Halten oder Ausnehmen vor der Vernichtung.
- Ihnen zu sagen, welches Recht gilt, bleibt Aufgabe Ihres Anwalts. Orbit verankert die SLA-Uhr an der Rechtsordnung, die die betroffene Person gewählt und die Sie bestätigt haben.
- Das Portal zeigt die verbraucherfreundliche Rechte-Teilmenge — eine betroffene Person, die ein Operator-only-Recht braucht (berichtigen, sensitiv-PII einschränken, Nicht-Diskriminierung), reicht über Ihr Team ein.
Portal-Claim-Schleife — lauffähige Anfragebeispiele
Die sechs unauthentifizierten Verben des Portals leben unter/api/v1/compliance/public/dsar (volle Oberfläche: DSAR-Referenz). Dies ist dieselbe Kette, die die Portal-Seite ausführt, End-to-End skriptbar — nützlich, um ein Deployment vor der Link-Veröffentlichung smoke-zu-testen oder einer Aufsichtsbehörde den Identitätsnachweisweg zu demonstrieren. Kein API-Key: das OTP-Paar ist der Nachweis, jeder Operator-Key würde den öffentlichen Aufruf untergraben.
1. Den Claim beginnen
202
claim_id — jeder spätere Schritt referenziert sie. Falsches E-Mail-Format, Telefon außerhalb E.164 oder ein schlechtes Turnstile-Token liefert 422 VALIDATION_ERROR; die Pro-IP- und Pro-E-Mail-Gates liefern 429 mit Retry-After-Header. Der Begin-Schritt antwortet gleich, ob das Paar einem Kontakt entspricht oder nicht — Aufrufer können Ihre Kontakt-Tupel nicht enumerieren.
2. Den E-Mail-Code verifizieren
200
422
422-Meldung (“Code expired. Please request a new one.”, “Too many attempts. Please start over.”) — POST /api/v1/compliance/public/dsar/resend-email stellt nach dem 60-Sekunden-Cooldown einen frischen E-Mail-Code aus.
3. Den Telefon-Code senden und verifizieren
429 mit Retry-After. Dann:
200
4. Mit beiden Nachweisen einreichen
201
queued: true bedeutet, das Paar entsprach einem Workspace-Kontakt und der Antrag gelangte in Ihre Warteschlange; queued: false ist der No-Match-Fall — gleiche Form, sodass ein Aufrufer nicht unterscheiden kann. Submit vor beiden Nachweisen liefert 422 mit “Both verification steps must complete before submission.” Die dsar_pub_…-Referenz ist die Audit-Zeilen-Id, derselbe Identifikator, aus dem Ihr Evidence Binder zieht.
5. In der Operator-Warteschlange zurücklesen
Die Operator-Seite braucht einen Owner/Admin-API-Key oder eine Dashboard-Session desselben Niveaus:200
access → know), und verification_status: verified — kein Intake-Gate wartet auf Sie.
Die gesetzliche Frist ist Aufgabe des SLA-Payloads:
200
sla_deadline_at ist das absolute Fälligkeitsdatum, an dem das Day-X-of-30-Badge des Dashboards verankert ist; breach_count > 0 ist, was das Workspace-Banner zündet. Nichts davon erfüllt den Antrag — Warteschlange, Verdikt und Erfüllung bleiben bei Ihnen; diese Schleife beweist nur, dass die betroffene Person ist, wer sie behauptet, und ihre Einreichung auf der richtigen Uhr landen lässt.
5. Durchgearbeitetes Beispiel — eine GDPR-Auskunftsanfrage End-to-End
Eine Kundin in Berlin öffnet Ihre Datenschutzerklärung, tippt den Portal-Link und fragt nach allem, was Sie halten. Die Sequenz:- Begin. Sie gibt ihre E-Mail, ihr Telefon in E.164 (
+4915…) ein, wählt access und besteht den Turnstile-Check. Das Portal liefert eine Claim-Id; das E-Mail-OTP ist bereits unterwegs. - E-Mail verifizieren. Sie liest den 6-stelligen Code (10 Minuten TTL, bis zu 3 Versuche) und besteht den ersten Faktor.
- Telefon-Code senden, Telefon verifizieren. Der zweite Faktor wiederholt sich über SMS — 60 Sekunden Cooldown zwischen Sendungen — und beide Nachweise liegen nun vor.
- Submit. Das Portal reicht den Antrag ein. Weil E-Mail und Telefon einem Kontakt in Ihrem Workspace entsprechen, reiht sich die Zeile als
knowuntergdprein und liefert einedsar_pub_…-Referenz. - In Ihrer Warteschlange. Die Zeile zeigt Day 1 of 30 —
verification_status: verified— und der Export-Worker hat sie bereits. Niemand aus Ihrem Team fasst das Triage an. - Erfüllen. Der Worker stellt den Export zusammen und markiert die Zeile als Completed mit
export_urlundtables_exported. Ein Operator liefert den Download-Link (eine Operator-only-Klartextkopie ist einen Download-decrypted-Klick entfernt). - Über die SLA-Linie. Ist die Zeile noch offen, wenn das 30-Tage-GDPR-Fenster verstreicht, flaggt das Workspace-SLA-Banner — und hatte sie beim Intake eine Zuständigkeit fehl gewählt, korrigiert Ihre Warteschlangen-Umklassifikation die Uhr rückwirkend.
Verwandte Referenzen
- DSAR-Referenz — die vollen Operator- und öffentlichen Endpunkt-Oberflächen, Abuse-Defence-Limits und SLA-Schweregrade.
- DPO- & EU/UK-Vertreter-Benennung — die Art.37/Art.27-Benennungen, die eine Privacy Notice nennen muss.
- GDPR-Verarbeitungsverzeichnis (ROPA + DPIA) — das Art.30-Inventar, das vor Ankunft eines Antrags geführt wird.
- Compliance Evidence Binder — die Audit-Zeilen zusammenstellen, die eine Portal-Einreichung hinterlässt.
- Eine DSAR erfüllen und das Breach-Vorfallen-Register betreiben — der Operator-Walkthrough der Warteschlange, die Ihr Portal speist.
- Eine GDPR-Posture End-to-End aufbauen — wo der Portal-Intake in der vollen Sequenz sitzt.