Traccia is a private life journal that quietly records the places you go, so you can look back on your life without handing it to anyone. Here's the honest summary:
The full policy below explains all of this in detail, including your legal rights under EU, UK, UAE, and California law.
Traccia ("Traccia," "we," "us," "our") is operated by A Good Husband, a sole-proprietor software studio based in Abu Dhabi, United Arab Emirates, founded and run by David. We are the "data controller" responsible for your personal data.
This policy applies to the Traccia iOS app (listed on the App Store as "Traccia – Journal"), the traccia.life website, and related services. An Android version is planned after launch; this policy will be updated to cover it.
Traccia is built on a zero-knowledge design. Your content is encrypted on your device using AES-256-GCM before it is synced. Your encryption keys are derived from a User Master Key (UMK), which is itself wrapped by keys derived from your password and your recovery key. Because those keys never reach us in usable form, we cannot decrypt your journal, and a breach of our servers would expose only unreadable ciphertext.
We think it's important to be equally clear about the limits of that promise. Encryption protects your content, not the fact that you have an account. So here is the honest split.
We will never inflate our privacy claims. If our architecture changes, this section changes with it.
Under GDPR we must tell you the purpose and the "legal basis" for each type of processing (GDPR Articles 6 and 13). Here it is.
| Data | Purpose | GDPR legal basis |
|---|---|---|
| Email address, password/auth credentials | Create and secure your account; sign you in; send essential service messages | Contract (Art. 6(1)(b)) |
| Encrypted location history, journal entries, photos, documents (content we can't read) | Provide the core journaling service; sync and back up your encrypted data | Contract (Art. 6(1)(b)) |
| Encrypted blob size + sync timestamps | Operate sync, verify data integrity, and manage storage quotas | Contract (Art. 6(1)(b)) — necessary to perform the core service. (A Legitimate Interests Assessment is documented as fallback, but Contract is the primary basis.) |
| Contacts (People feature) | Let you associate people with places/memories — optional, on-device | Consent (Art. 6(1)(a)), via iOS permission |
| Camera (document scanning) | Optional flight-document scanning | Consent (Art. 6(1)(a)), via iOS permission |
| Photos | Optional attachment of images to entries; with your permission, Traccia reads when and where your photos were taken (on-device) to place them in your timeline and story | Consent (Art. 6(1)(a)), via iOS permission |
| Crash diagnostics (Sentry) | Detect and fix crashes | Consent (Art. 6(1)(a)) — opt-in |
| Notification preferences | Deliver local notifications you turn on | Consent (Art. 6(1)(a)) |
A note on location. Location is the heart of Traccia. With your permission, the app records your location in the background — including when the app is closed — to build your timeline. iOS asks you for "When In Use" access first and later asks whether to allow "Always"; Traccia needs "Always" access to keep your timeline complete. iOS will periodically remind you that Traccia is using your location in the background and let you change your mind at any time. You choose Precise or Approximate location, and we honestly reflect your choice. You can revoke location access at any time in iOS Settings; the app will keep working with whatever you've already recorded. Location data is collected on-device and synced only in encrypted form.
A note on crash reporting. Crash reporting (Sentry) is off by default and only runs if you opt in, because diagnostics generally require your consent. You can turn it off again at any time in the app. Our Sentry sample rate is set low (0.05) to minimize collection, Sentry is configured to store data in the EU (Frankfurt), and we never attach your identity to crash reports. Traccia does not use product-analytics tracking; if we ever add it, it will be opt-in and this policy will be updated first.
We keep our vendor list short and privacy-conscious. Each is bound by a data processing agreement. None of them can read your encrypted content.
| Subprocessor | Role | Data location |
|---|---|---|
| Supabase | Database, authentication, encrypted storage mirror | EU (Frankfurt) |
| Resend | Transactional email (via custom SMTP send.traccia.life) | EU region |
| Sentry | Crash reporting (opt-in; sample rate 0.05) | EU (Frankfurt) |
| Cloudflare | Website hosting (Cloudflare Pages, traccia.life) | Global CDN |
| Apple | App distribution; Sign in with Apple; local notifications | Per Apple's terms |
| Google Sign-In (OAuth/PKCE) if you choose it | Per Google's terms |
We use local notifications only at launch — there are no push tokens and no remote push service, so we do not transmit notification data to a push server.
We do not sell your personal data, and we do not share it with advertisers, data brokers, or brand partners.
You can export all your data and delete your account at any time from within the app.
Depending on where you live, you have some or all of the following rights. We will not discriminate against you for exercising them, and we will respond within the timeframes the law requires. To exercise any right, email privacy@traccia.life (or use the in-app export/delete tools).
We aim to respond to GDPR requests within one calendar month.
We do not knowingly sell or share personal information, and we have not done so in the preceding 12 months. Because we hold everyone to the same strong privacy posture, most Californians will find their data already handled at the level CCPA reserves for its strongest protections.
Traccia's controller is in the UAE, and your data is stored in the EU (Frankfurt). That means data may move between the UAE, the EU, and (depending on where you are) your own country.
Traccia is not directed to children. The app is rated 17+ on the App Store and is intended for adults. We do not knowingly collect personal data from children under 16 (or the applicable age of digital consent in your country; under 13 for purposes of the U.S. COPPA). If you believe a child has provided us data, contact privacy@traccia.life and we will delete it.
Beyond zero-knowledge encryption, we use TLS in transit, encryption at rest, a low-privilege server design, and reputable EU-based infrastructure. No system is perfectly secure, but our architecture is designed so that the most sensitive thing — your journal — never exists in readable form on our servers.
If we make material changes, we'll update the "Last updated" date and notify you in-app or by email before the changes take effect. If the UAE Data Office publishes Executive Regulations that mandate specific registration or additional procedures for high-risk processing, we will update this policy and our internal procedures accordingly. This policy supersedes the earlier short privacy page at traccia.life/privacy (which covered on-device encryption, the iOS privacy manifest, and account deletion).
Questions, requests, or concerns: privacy@traccia.life. Details of our EU/UK Article 27 representative will be published here at launch. You always have the right to complain to your local data-protection authority (EU), the UK ICO, or the UAE Data Office.