Data Retention & Deletion Policy

Effective 2026-07-19 · Reviewed annually and on any architecture change touching stored data.

Principles

  1. Data minimization by architecture — the server stores only what sync and authentication require; user financial content is client-side encrypted and unreadable server-side, so most "retention" concerns an opaque blob.
  2. Deletion is a code path, not a ticket — in-app account deletion executes the erasure sweep immediately.
  3. Backups bound erasure latency — every window below feeds the single outer bound we promise: 35 days to disappearance from all copies.

Retention schedule

Data classWindowDeletion path
Account record (username, password hash, recovery-code hashes)life of accountremoved immediately at deletion
Encrypted sync blob, current + prior versionsfloor of 3 versions (rollback safety); device-held versions until the hold expiresall versions removed immediately at deletion
Device registrations (opaque device → version holds)90-day dormancy, then removedswept at deletion
Sessions≤ 30 minutes; after deletion the account is tombstoned so lingering sessions failtombstone at deletion
Household invitesuntil accepted or expiredswept at deletion
Bank connections (Plaid)life of the link; the credential lives on your deviceunlinked at account deletion
Entitlement record (plan id, paid-until, opaque payment-provider ids, bank-link count — never payment details)life of accountremoved immediately at deletion; any live subscription cancelled at the payment provider
Prepaid-code store (one-way code hashes + redemption timestamps — never linked to an account or purchase)life of the servicecontains no personal data
Access logs (metadata only — never message bodies)30 daysages out
Aggregate service countersnon-personal aggregates; reset on restart
Encrypted state backups35 days, then destroyeddeleted data absent from all backups after the window
Provider disk snapshots7 rolling daysages out

Erasure guarantee

At deletion: the account record, every blob version, device registrations, and invites are removed and the account tombstoned immediately; outstanding sessions die within 30 minutes; backup and snapshot copies age out within the 35-day outer bound. Client-side, users can additionally crypto-shred individual content sections (key destruction) without deleting the account.