Start a trial
Color

Erase a person's data and use legal holds

Erase or anonymise a person's personal fields everywhere, keep the records the business must retain, and place a hold while a dispute is open.

For
OwnerAdministrator
Hosting
Any hosting
Devices
Web browserServer
Business
All businesses

Checked against Pop Dispatch 0.1.0

Erasure removes a person's personal details from every table that holds them. Records your business has to keep, such as invoices, tax records, lien files and police records, stay in place with the person's details taken out. The person gets a confirmation that lists what was erased and what was kept, with the reason for each.

Before you start #

  • You need the owner or manager role.
  • Export the person's data first if they asked for a copy. Erasure cannot be undone.
  • Decide which records the law requires you to keep. Pop Dispatch keeps invoices, payments, tax lines, yard and lien records, private property impound records and payroll records for you to retain. If your rules ask for a different set, ask your adviser before you erase.

Steps #

  1. Open Privacy, choose Person data, search and choose Open on the person.
  2. Choose See what would be erased. The table lists each kind of record with what happens to it: Erased, Kept without their details or Kept. The Why column gives the reason for every record that stays. Warnings appear for an unpaid invoice or a vehicle still in the yard.
  3. If a dispute or claim is open, place a hold first (see below). Erasure is refused while a hold is on.
  4. Choose Erase now and confirm. The screen shows the same table with the real counts, tells you the audit log still checks out and offers the confirmation for the person as a PDF.
  5. Send the confirmation PDF to the person.

What happens to each kind of record #

  • Erased: messages, enquiries, notifications, taxi verification codes, GPS trails, account contacts and photos or files tied to the person's jobs.
  • Kept without their details: the customer, driver or staff record becomes "Erased" with no contact details; jobs lose notes, contacts and addresses; taxi trips keep fare and times and lose rider name, contact and addresses; yard records keep plate and VIN and lose owner name and phone; signed records keep their hash and lose signer name, network address and device; a staff login is closed and its email replaced.
  • Kept as they are: invoices, invoice lines, tax lines, payments, statements and payment batches, linked to the blank customer record. Driver advances stay as written, notes included, because that ledger accepts no edits.
  • Marketing: an opt-out is recorded for the person's email and phone so they are never messaged again. These consent rows stay as proof.

The audit log #

The audit log is a hash chain, so its past entries cannot change. The erasure adds one entry: it says an erasure happened, the kind of person and the counts, and holds no name, email or number. The chain is checked after the erasure and the result shows on the screen. Older entries hold record numbers; where an older entry carried free text you typed yourself, it stays in the log.

Holds #

A hold stops erasure of one person while you need their records, for example during a dispute or an insurance claim.

  1. Open the person, type the reason under Hold and choose Place a hold.
  2. The hold shows under Holds in place on the Person data tab. Choose Release when the matter closes.
  3. A hold has no end date; releasing it is your step.
Technical details

POST /privacy/erasure/preview and POST /privacy/erasure (with "confirm": true) take the same body as the export. A hold answers 409. Stored files are removed from disk after the database change commits. POST /privacy/holds, GET /privacy/holds and POST /privacy/holds/:id/release manage holds. The data map lives in server/src/privacy.rs; a test fails when a table that names a person is missing from it.

If something goes wrong #

  • "This person is on hold" (409): release the hold, then erase.
  • The audit log check reports a problem: run the server health check and keep the backup you hold.