72-Hour Auto-Delete, Not 'Retention Policy'
Every emergency location snapshot has an expiration baked in. A daily scheduled job wipes the encrypted columns 72 hours after the incident resolves — the row shell survives for analytics, the content does not.
Average lifetime of a location snapshot in our database: 72 hours. Maximum lifetime: 72 hours from incident resolution. There is no 'archive after 90 days' tier, no 'export on request' clause, no tape backups that outlive the retention.
The Challenge
Most apps' privacy pages claim 'we may retain data as needed for legitimate business purposes' — open-ended language that usually means forever
Unbounded retention is the single biggest factor in breach severity: the leaked database of a service you stopped using five years ago is still a live threat
Short-TTL claims are cheap to make and hard to verify; most users have no way to prove retention policies are actually enforced
How I'm Alive Helps
Enforced TTL at the database layer, not the application layer: purge_expired_location_snapshots() runs daily and rewrites ciphertext columns to NULL in a single transaction
Verifiable via SQL: the decrypted view shows NULL for expired rows, and the raw table shows NULL in the ciphertext columns — not 'looks encrypted still'
Short enough that even a data request during the 72-hour window contains only one active incident's worth of coordinates
Documented in our public product spec (19-location.md §5.8) — we describe it here the same way we describe it to ourselves
The exact mechanism, stage by stage
Why overwrite-to-NULL instead of DELETE
Backups, restore, and the 30-day shadow window
Get safety tips delivered to your inbox
Frequently Asked Questions
How do I verify the 72-hour delete actually ran on my data?
You can request a data export at any time (privacy@imalive.co). The export enumerates every row that currently has content for you — if you had an incident 73 hours ago, its location fields will be NULL in the export. If you had an incident 71 hours ago, it will still be there.
Does 'resolved' mean when I check in, or when my contact presses a button?
Either, whichever comes first. If you check in on the app, the incident resolves immediately. If your contact uses the link from their email or SMS to confirm you're safe, the incident also resolves. The 72-hour clock starts from that moment, not from when the incident started.
What if the daily purge job itself fails?
The job is idempotent — running it twice in the same day is fine. If one run fails, the next one covers the same rows (the WHERE clause uses `purged_at IS NULL` as the filter). We monitor job success in our observability dashboard; a missed run in PROD is alertable.
Does this retention policy apply to my account data or just location?
This policy is specifically about emergency location snapshots. Your account record, check-in schedule, contacts, and notifications follow their own retention (described in our privacy policy at imalive.co/privacy-policy). Account deletion removes all of it including the purged shells.
Get Started in 2 Minutes
Download I'm Alive today and give yourself and your loved ones peace of mind. It's completely free.
Free forever • No credit card required • iOS & Android