Privacy
Your phone, your catches.
Last updated: June 30, 2026
SnapPetz is a privacy-first hobby app for snapping real animals and collecting them as 3D figurines. This page explains what data the app touches and what it does not.
Short version: your photos never leave your phone. Everything that looks like ML magic (species detection, silhouette segmentation, NSFW filtering, 3D figurine rendering) runs locally on your device. The optional cloud sync only stores gameplay metadata; image bytes stay in encrypted local storage.
What runs on-device only
- The camera frame + every captured JPEG.
- The silhouette cutout PNG generated by Skia.
- EfficientNet-Lite0 species classification, DeepLabV3 segmentation, and the GantMan NSFW gate.
- Trait detection, rarity rolls, and XP math.
- The encrypted SQLite database that stores your journal, catches, traits, treats, and achievements.
None of the above is transmitted, telemetered, or backed up to any third party.
What the optional cloud sync stores
If you sign in (Settings → Account), SnapPetz mirrors the following to a self-hosted Supabase project owned by us so you can restore your collection on a new device:
- Your email address (for sign-in only).
- Total XP, total catches, current streak, last catch date.
- Which species, rarities, and traits you've seen.
- The treat counts in your inventory.
- Per-catch metadata: species (cat / dog / bird / etc.), rarity tier, XP earned, traits detected, and the timestamp.
- Which achievements you've unlocked.
What we do not upload: the raw photo, the silhouette cutout PNG, any image bytes, any GPS coordinates, your device identifier, your IP address, or any third-party advertising / analytics identifiers.
Map-sharing is opt-in, per catch
The World Map shows public catches from people who explicitly chose to share that specific catch's location. Sharing to the map is off by defaultfor every catch. You have to consciously toggle it on at the share step, per catch.
We do this because most catches happen at home, at school, or at work, and we do not want SnapPetz to be a tool for accidentally broadcasting where you live. If a catch is not shared to the map, no location data is recorded or transmitted, ever.
Launch list email
If you signed up on snappetz.app to be notified at launch, we store your email address in the same Supabase project. We send exactly one email when the app goes live. No newsletters, no marketing blasts, no analytics pixels. You can reply to any email from us to be removed.
What we deliberately don't use
- No third-party analytics SDKs (no Firebase Analytics, no Mixpanel, no Amplitude, no Segment).
- No ad networks. The app does not contain advertising.
- No crash-reporting SDKs that ship payloads off-device.
- No session-recording / heatmap tools.
- No social-auth providers that share your data back to a social graph.
Children
SnapPetz is intended for ages 13 and up. We don't knowingly collect personal information from anyone under 13. If you believe a child has signed up, email us and we'll delete the account.
Your rights
You can wipe your local data at any time from Settings → Reset Profile. To delete your cloud account + all server-side rows, email us at the address below and we'll process it within 30 days.
Contact
Questions, requests, or "please delete my data" notes: [email protected].
Changes
If we materially change this policy we'll bump the "Last updated" date at the top and, for users with a cloud account, send a one-time email. Continued use of the app after that date counts as acceptance of the updated policy.