Skip to content
Het fundament eronderTrust and privacy

Exporteren en verwijderen op verzoek

Haal je gegevens eruit, of sluit je account, en het maakt af.

Iedereen die is ingelogd kan een export vragen van het eigen record, de lidmaatschappen, organisaties, projecten en geschreven documenten, of vragen om verwijdering van het account. Beide draaien als achtergrondtaken met herhaalpogingen, dus een herstart kan het verzoek niet opeten, en beide tonen toestanden die je kunt volgen in plaats van een draaiend wieltje en hoop.

  • 1

    transaction to accept a request

  • 5

    retries per background job

  • 24h

    before a download link expires

Het probleem dat dit oplost

Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw, en anders.

The export that dies at thirty seconds

An export built into a web request works until the data outgrows the timeout. Then the button does nothing and there is no record that anything was attempted.

The half-deleted account

Deletion touches memberships, the teammate row and the sign-in provider. A crash part-way leaves an account that is neither active nor gone, which is worse than either.

Invisible processing

When a request gives no feedback, every one of them turns into a question to someone. Visible states answer it without a conversation.

Hoe het werkt

Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.

  1. 1

    The request is accepted safely

    The server confirms who is asking from the session, then commits the request row, a visible process run and the job trigger in one idempotent transaction.

  2. 2

    A job picks it up

    The job is enqueued right after the commit, with a scheduled reconciler as a backstop, so the page never waits on the queue.

  3. 3

    The work runs with visible progress

    An export collects the account, memberships, organizations, projects and authored documents into one schema-versioned artifact in storage, updating states as it goes.

  4. 4

    Delivery closes the loop

    An email carries a download link that expires after 24 hours. Deletion removes memberships, anonymizes the teammate row and deletes the sign-in account, tolerating an account that is already gone.

Interactief voorbeeld

Bekijk het in werking

Deze rondleiding toont het geïmplementeerde backendcontract zonder account, credentials of providercalls.

Interactief voorbeeld

Follow the steps this actually runs

  1. Request acceptedHuidig
  2. Export preparedWachtend
  3. Artifact storedWachtend
  4. User notifiedWachtend

Stap 1 van 4: Request accepted

Alleen deterministische voorbeelddata. De interactie gebruikt geen account-, provider- of netwerkverbinding.

Kernpunten

Waarom dit belangrijk is

A request cannot get lost

Accepting a request commits the request, its visible progress run and its job trigger together. Clicking twice still produces one request.

Jobs retry until they settle

Export and deletion run with up to five attempts, and each retry re-locks the row and checks whether the request already finished before redoing anything.

Progress you can watch

Queued, processing and completed are real states on a process run, not a guess drawn by the page.

Technische garanties

Wat dit wel en niet belooft

Veiligheidsgrens

Dit is werkende machinerie, geen juridische goedkeuring. Welke soorten gegevens we bewaren, hoe lang we ze houden en hoe we het aan mensen uitleggen, vraagt nog een menselijke toets aan onze eigen verplichtingen.

Implementatiebewijs

De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:

  • src/features/privacy/server.ts
  • src/features/privacy/jobs.ts
  • src/registries/data-exports.ts
Vragen

Veelgestelde vragen

Waar Exporteren en verwijderen op verzoek op rust

De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.