Privacy
What stays local. What doesn't.
Last updated: 2026-05-19
TL;DR
Your encrypted Crypt15 backup, the 64-digit key, decrypted databases, media, contact mappings, and .tarc archives all stay on your Mac. We never see any of it. The only data we store is what you give us at purchase + activation: your email, your license row, and the device IDs you bind to it.
What stays on your Mac
- The encrypted .crypt15 file you transferred from Android.
- Your 64-digit WhatsApp encryption key. We never see it.
- Decrypted msgstore.db, the media files referenced by it, and (optionally) a contacts.json built from any vCard/CSV address book you imported plus a manual_contacts.json with your in-app rename edits.
- .tarc archive bundles you save.
- Manual contact mappings you create.
What stays on your Android phone
- Everything Chat Hoarding for Android scans: WhatsApp folders, backup file metadata, your contacts.
- We can verify this: Chat Hoarding for Android's AndroidManifest.xml has no INTERNET permission. Android enforces this at the OS level.
- When you share a zip, you choose the destination (LocalSend, Quick Share, Drive, etc.). The companion never decides.
What we store on our servers
Three things, stored in Supabase (EU region):
- Your email address (entered at Stripe checkout). Used as your login identity.
- License row: tier, purchase date, currency, refund status. No message content. Ever.
- Device activations: a hardware fingerprint (IOPlatformUUID), device name, OS version, last-seen timestamp. We compare these to enforce the 2-Mac cap.
Subprocessors
- Stripe: payment processing.
- Supabase: Postgres + auth. Holds the license row + device activations + the 6-digit OTP during sign-in.
- Cloudflare: CDN + DNS for chathoarding.app. Sees IP at the edge; never sees chat content.
- Microsoft Clarity: anonymous session-replay on the marketing site only. Doesn't run in the Mac or Android app.
That's it. No analytics inside the apps. No error monitoring SaaS. No marketing pixels.
Network calls Chat Hoarding for Mac actually makes
- POST /api/licenses/validate: binds this Mac's IOPlatformUUID to your license key on first activation, refreshes last_seen_at on subsequent launches.
- GET chathoarding.app/appcast.xml: EdDSA-signed update feed.
- GET dl.chathoarding.app/<version>.dmg: only when you choose to update.
Your rights (GDPR)
- Access: email [email protected] and we send the license row + activation list.
- Deletion: same email, we revoke the license and delete the row + all activations.
- Portability: same email, JSON-dump of everything we have on you (which is the row + activations).
- Rectification: change device names from /account; change email by emailing [email protected].
Children
Chat Hoarding is not directed at people under 16.
Changes
We'll update this page when the data we collect changes. Material changes get an email to license holders.
Contact
Questions: [email protected].