Instance data lifecycle

Copy Markdown View Source

Spectre owns the lifecycle of canonical Instance state, but a deployment may copy related data across several host adapters. A deletion request is complete only when the operator has inventoried every configured and host-owned copy. Spectre.erase_instance/3 coordinates the core-visible subset; it is not a whole-person compliance certificate.

Data map

DataTypical identityOwnerCore erasure coverage
Canonical Instance checkpointstable and legacy Instance.Ref keysCheckpointStoreyes; durable anti-resurrection markers
Journal recordsexact Instance RefJournal.Storeyes when erase_instance/2 is configured
Pending required-receipt payloadscontent-addressed payload refs in the checkpoint outboxReceipt.Sinkyes when delete_payload/2 is configured
Delivered receipt recordsreceipt id and Instance ref inside the envelopehost receipt ledgerno; apply the ledger's retention/erasure policy
Application State and Memoryapplication-defined Subject identityhost adaptersno
Definition artifactsDefinition ref, shared by many InstancesDefinition.Storeno; never delete by Subject alone
Telemetry, logs, traces, exportsdeployment-defined correlationobservability systemsno
Replicas and backupsstore/deployment-definedinfrastructureno; retain tombstones through the stale-writer window
Provider-side prompts and responsesprovider request identityprovider/hostno

Journal and receipt adapters must bind their private indexes to the exact Instance Ref. Subject values are intentionally not passed to erasure callbacks. Definition artifacts are shared and therefore stay outside subject erasure.

Retention responsibilities

The host must define retention for every row in the map, including delivered receipt envelopes after their temporary outbox payload has been deleted. Deleting a checkpoint does not discover data copied to an application store, analytics system, provider, export, replica, or backup. Keep the checkpoint erasure marker longer than every stale writer and backup that could otherwise reintroduce the Instance.

Use Spectre.Privacy.erasure_plan/3 during deployment validation. It performs no adapter I/O and reports whether maintenance ownership and the configured journal, receipt-payload, and checkpoint callbacks are present. Spectre.Doctor exposes the same callback posture as read-only operational checks.

See Offline Instance erasure for the execution and reconciliation runbook.