Deleting data
Soft and immediate deletes, per-photo removal, restore windows, the deletion status endpoint, and how to satisfy an erasure request.
SightRadar stores faceprints, never your photos. Deleting a collection or a photo's faceprints is the whole retention story on our side; the images stay wherever you keep them.
Two modes
| Mode | How | Restorable? | Use when |
|---|---|---|---|
| Soft (default) | DELETE /v1/collections/{id} | Yes, until the grace window elapses | Normal lifecycle: an event is over, a tenant churned. |
| Immediate | DELETE /v1/collections/{id}?immediate=true | No | You need the vectors gone now. |
| Compliance | DELETE /v1/collections/{id}?compliance=true | No | An erasure request under GDPR, BIPA or similar. Same as immediate, plus recorded as a compliance-class erasure for your audit trail. |
A soft-deleted collection stops accepting index and search immediately; nothing is erased until purge_after. POST /v1/collections/{id}/restore undoes it any time before the purge starts. Once status is deleting, restore returns 409.
Per-photo deletes
DELETE /v1/collections/{id}/photos/{photoId} removes the faceprints indexed from one photo, by the photoId you supplied at index time. It is synchronous, free and idempotent, and supports the same immediate and compliance flags. Soft-deleted faces drop out of search at once and can be restored with POST /v1/collections/{id}/photos/{photoId}/restore while the grace window lasts.
There is no per-face delete. The finest granularity is the photo.
Confirming an erasure
Deletes return 202: the erasure runs as a workflow afterwards. Do not close a ticket on the 202. Poll GET /v1/collections/{id}/deletion until:
{ "phase": "completed", "verified_zero": true, "deletion_class": "compliance", "completed_at": "…" }verified_zero: true means the engine has re-checked the collection's vector store and found nothing. If you have a webhook registered, the same moment arrives as a signed collection.deletion.completed event (schema).
An erasure request, end to end
photoIds.?compliance=true.phase is completed and verified_zero is true, or wait for the webhook.workflow_id and completed_at in your own log. Delete the source images from your storage.Detect and compare never persist anything, so there is nothing to erase from those operations. Retention commitments and the data processing agreement are at /trust and /dpa.
Choosing a similarity threshold
Turn a 0 to 1 cosine similarity into accept, review and reject decisions using your own data, not a number copied from another vendor.
Migrate from AWS Rekognition
What is drop-in, what changes, the one step nobody can skip, and a six-step runbook for cutting over without a big-bang switch.