Privacy Policy

What we collect, why, and how to control it. No jargon, no hidden tracking.

Last updated: May 2026

In one paragraph

Stamina is built around an on-device SQLite database — almost everything stays on your phone. We do collect a small amount of data to make the app work: an anonymous user identifier so your purchase and progress stay tied to you, your purchase history (to know whether to unlock the program), and anonymous product-interaction events (which screens you see, when sessions start and end) so we can tell whether the program is working. If you opt into cloud backup we also store your email. We do not use any of this for advertising and we do not share it with data brokers.

Exactly what we collect

These four categories match the disclosures in the Apple App Store "Data the App Collects" section.

1. Identifiers — Anonymous user ID

When you open Stamina for the first time, the app creates an anonymous user identifier through Supabase Auth. You don't enter anything. This identifier is the only way we recognise that purchases, training progress, and event data all belong to the same anonymous person.

  • • Linked to you: yes (it is your identifier)
  • • Used for tracking across apps and websites: no
  • • Purpose: app functionality and analytics
  • • Processor: Supabase (EU region)

2. Purchases — Purchase history

If you start a subscription, RevenueCat receives the purchase event from Apple and tells our app that you are entitled to the program. We see which tier you bought (Annual or Monthly), when it started, and whether it is still active. We do not see your card details — Apple handles payment.

  • • Linked to you: yes (via the anonymous user ID above)
  • • Used for tracking across apps and websites: no
  • • Purpose: app functionality and analytics
  • • Processor: RevenueCat

3. Usage data — Product interaction

We log anonymous events through PostHog so we can tell whether the program is working: which onboarding screens you see, whether you reach the paywall, when sessions start, when they complete, the rating you give afterwards (easy / right / tough), and when you advance to the next day or level. These events use the anonymous user ID — they are not tied to a real-world identity.

  • • Linked to you: yes (via the anonymous user ID)
  • • Used for tracking across apps and websites: no
  • • Purpose: analytics and product personalization (deciding how the program adapts)
  • • Processor: PostHog (EU region)

4. Contact info — Email address (optional)

If — and only if — you opt into cloud backup, you give us your email address so your training history follows you when you change phones. We store it against your anonymous user ID, encrypted at rest in Supabase. We never use it for marketing. You can remove it at any time from the app's Settings screen.

  • • Linked to you: yes
  • • Used for tracking across apps and websites: no
  • • Purpose: app functionality (account recovery only)
  • • Processor: Supabase (EU region)

What stays on your device

Your full training history — every session you started, every contraction phase, every rating, your streak, your current level and day — lives in a SQLite database on your phone. If you don't opt into cloud backup, none of it is sent anywhere. Deleting the app removes it all.

Where data is stored

When data does leave your device, it lives with one of these processors, each with their own GDPR-compliant infrastructure:

  • Supabase (EU region) — anonymous user identity and optional cloud-backup data. Privacy policy.
  • RevenueCat — subscription state, purchase history. Privacy policy.
  • PostHog (EU region) — anonymous product-interaction events. Privacy policy.
  • Apple App Store — payment, subscription billing. Privacy policy.

We do not work with advertising networks, social media SDKs, or data brokers. There is no Sentry, Firebase, or any other third party beyond the four above.

Your rights (GDPR / CCPA)

You have the right to access, correct, export, or delete the data we hold about you. Because most data is anonymous and tied to a device-generated identifier, the simplest exercise of these rights is:

  • Access / export: email us at contact@trystamina.app with the anonymous user ID found in Settings → About.
  • Delete: tap Settings → Reset all data (removes everything on device). If you used cloud backup, email contact@trystamina.app with your email or anonymous user ID to remove the server copy too.
  • Correct: same email channel — we will update or correct any data we hold.
  • Opt out of analytics: not currently supported in-app — coming. Email us to have your PostHog events purged.

We respond to all rights requests within 30 days, as required by GDPR.

Data retention

We keep anonymous user identifiers and associated data for as long as your subscription is active or your cloud backup exists, whichever is longer. When you delete your data through the channels above, we purge it within 30 days. PostHog event data older than 12 months is automatically rolled up into aggregate stats and the individual events deleted.

Subscription billing

Subscriptions are billed by Apple under your Apple ID. We do not see your payment method or full billing address. Stamina receives only the receipt that confirms entitlement, mediated by RevenueCat. To change or cancel a subscription, go to iOS Settings → your Apple ID → Subscriptions.

Children's privacy

Stamina is rated 17+ on the App Store and is intended for adult users. We do not knowingly collect any data from anyone under 17. If you believe a minor has provided us data, email contact@trystamina.app and we will delete it.

Changes to this policy

If our data practices change in a meaningful way, we will update this page with a new "Last updated" date and — for material changes — surface a notice inside the app the next time you open it.

Contact

Privacy questions, data-rights requests, or anything else:

contact@trystamina.app