Skip to content

Retention & Erasure Runbook (Draft)

StoreWhatRetentionErase procedure
Client IndexedDBEncrypted evidence blobsUser-controlledApp “delete evidence” / clear site data
Client memoryRaw OCR/PDF textRequest lifetimeGC; never egress
Redis / memoryjti, rate-limit, SSE tickets~1h / TTLKey TTL; DEL by prefix on incident
Postgres alerts (B3+)Encrypted indicators + signed blob90 days defaultDelete row (DEK dies) + purge mule_key from corroboration
Postgres triage_quarantineAnonymous / WhatsApp public-triage indicators (source_tier: public_triage)30 days defaultDelete row (DEK dies) + purge quarantine indexes; never written to corroboration / outbox (ADV-005)
Postgres processed_eventsIdempotency ledgerAlign to stream retentionPurge where retention_expires_at < now()
Application logsStructured events90 days (ops target)Log rotate / object-store lifecycle

Backup bound: PITR/WAL retention must be ≤ product retention or erasure SLAs are violated.

Pilot note: B6 implements the daily purge job; B0 only ships columns + design.

Waspada AI: Enterprise infrastructure powering public defense.