All Policies

Data Retention & Deletion Policy

Effective Date: April 23, 2026

1. Purpose

This policy defines how VaultKeeper retains, archives, and deletes user data across its entire service surface: manually-entered financial records, bank connection data (Plaid / Teller), subscription state (RevenueCat / Apple), AI chat data (Anthropic), crash reports (Firebase Crashlytics), and operational logs (Cloudflare).

2. Retention Periods

Data TypeRetention PeriodNotes
User account and financial dataDuration of accountDeleted immediately upon in-app account deletion (Settings → Delete Account)
Transactions, wallets, categoriesDuration of accountUser can delete individual records at any time via the app
Scheduled transactionsDuration of accountUser can delete or deactivate
Bank access tokens (Plaid / Teller)Until disconnectedDeleted from Cloudflare KV on disconnection + on account deletion. Plaid items are also revoked at Plaid on deletion.
Bank transaction data (imported)Duration of accountStored as regular transactions after import; subject to user deletion
Cached bank balances1 hour TTL, refreshed on foregroundNever persisted long-term; overwritten on each fetch
Subscription state (RevenueCat / Apple)Duration of accountWritten by RC webhook and Apple Server Notifications; deleted on account deletion
AI chat messagesSession onlyNot persisted by VaultKeeper. Anthropic retains API payloads for up to 30 days for trust & safety, then deletes.
AI rate-limit counters45 daysCloudflare KV TTL; covers current + following billing cycle
Wallet share tokensUntil revokedDeleted on account deletion or manual revoke in-app
Authentication recordsUntil account deletionManaged by Firebase Auth; deleted by user.delete() during account deletion flow
Household and invite dataDuration of membershipRemoved when member leaves, is removed, or on account deletion
Crash reports90 daysFirebase Crashlytics default retention
Worker request logs30 daysCloudflare operational logs for abuse prevention + debugging
Firebase Realtime Database backups3 yearsDaily exports to our private GCS bucket. Account deletion is propagated to backups within 30 days of the next scheduled backup cycle.

3. User-Initiated Deletion

Users can delete data through several mechanisms, all self-serve:

4. Automated Deletion

5. Data Deletion Procedures

When a user requests account deletion:

  1. Client disables Firebase listeners to prevent race conditions.
  2. Client calls POST /api/account/cleanup which the Worker uses to revoke Plaid items (so Plaid stops billing) and wipe all KV tokens under plaid:{uid}:*, teller:{uid}:*, ai_rate:{uid}:*, and ai_burst:{uid}:*.
  3. Client performs an atomic Firebase RTDB multi-path update setting every one of the user's data paths to null.
  4. Client calls Auth.auth().currentUser?.delete() to remove the Firebase Auth record.
  5. Client signs out locally and returns to the auth screen.

Deletion propagates to Firebase's managed backups within 30 days. Anthropic's trust-and-safety retention continues for up to 30 days from the last API call regardless of our deletion. Cloudflare request logs age out independently at 30 days.

6. Data Export

Before deletion, users can export all their transaction data via Settings → Export to CSV. The export is byte-compatible with the web version and includes: date, type, category, amount, currency, wallet, destination wallet (for transfers), exchange rate, converted amount, and note. Subscription state and app preferences are not included in the CSV; email info@vaultkeepermoney.com for a full data package.

7. Regulatory Compliance

Data retention and deletion practices are designed to comply with GDPR, CCPA, and Apple App Store requirements. Data subjects may exercise their rights by contacting us through the channels listed in the Privacy Policy. We respond within 30 days.

8. Backup Restore Requests

Backups are retained for operational recovery (e.g. ransomware, accidental data loss). A user whose account was deleted and who later requests restoration must contact us at info@vaultkeepermoney.com within 30 days of deletion. After 30 days we cannot guarantee the data is still in an accessible backup.

9. Policy Review

This policy is reviewed at least annually or when changes are made to data processing practices. The last substantive review was April 23, 2026.