Data rights flow
DSGVO Articles 15 (access), 17 (erasure), 20 (portability), and 30 (record of processing) are exercised through the user-facing flows described below. The binding implementation contract lives in spec 12 §6; this page is the operator-readable summary.
What a user can do
Section titled “What a user can do”| Right | DSGVO Art. | User-facing surface | SLA |
|---|---|---|---|
| Access — “what do you have on me?” | Art. 15 | Self-service export in account settings (nowyourlink.com/account/data) | Self-serve · instant download for 95th-percentile; manual reply ≤ 30 days for anything that needs assembly |
| Erasure — “delete my account” | Art. 17 | Self-service in account settings, with confirmation step | ≤ 30 days, subject to §147 AO retention on invoices (see below) |
| Portability — “give me my data in a portable format” | Art. 20 | Same as Art. 15 export, JSON + CSV bundle | Same as Art. 15 |
| Record of processing — “what processors handle my data?” | Art. 30 | Sub-processors and nowyourlink.com/legal/datenschutz | Static |
The user can also email privacy@nowyourlink.com directly — this routes to the same operator queue.
What survives an Art. 17 erasure
Section titled “What survives an Art. 17 erasure”§147 AO requires 10-year retention of invoices and Geschäftsbriefe. Erasure therefore:
- Removes the account row in D1, OAuth bindings, KV session, R2-stored creative.
- Retains invoices (R2
nyl-invoices-prodwith Object Lock, plushosted_invoice_urlpinned in D1invoices), saga audit trail (saga_runs), and the immutablebidsrows for any auction the user participated in. Personally-identifying fields in the retained rows are tokenised —user_idreplaced by an opaque tag,name/email/addresscleared.
The retention matrix is canonical in spec 12 §4; the per-store TTL plus the daily q-retention worker (packages/legal/retention/) enforce it.
Operator side — what a request triggers
Section titled “Operator side — what a request triggers”- User submits via self-serve or email → request lands in
apps/adminqueue (sub-system 10). - Admin acknowledges within 72 hours (DSGVO Art. 12(3)).
- For Art. 15/20 —
packages/legal/data-rights/export.tsassembles the bundle; admin reviews then releases the download link via email. - For Art. 17 — admin confirms account ownership, triggers
packages/legal/data-rights/erase.ts, then notifies the user that erasure completed and what was retained per §147 AO. - Audit row written to
data_rights_log(D1) — what was requested, what was returned, who actioned it, when.
All Art. 17 erasures must be logged even when they fail or are partial — the log is what evidences compliance during a Datenschutzbehörde audit.
See also
Section titled “See also”- Spec — 12 — Legal & Compliance §4 (retention) and §6 (data rights)
- Spec — 10 — Admin Console for the operator queue UI
- Sub-processors — what processors must also honour the right (forwarded via the Art. 28 DPA chain)