BagTrainer ("the App") is developed and operated by an individual developer ("we," "us"). This Privacy Policy explains what information the App handles and how.
Profile information you provide. If you set up a fighter profile, your display name, country, profile photo and date of birth are stored locally on your device. Your date of birth is required so we can confirm you are at least 13; it is never sent to us or to any third party. You may also optionally choose a gender and an experience level. Your display name, an age range calculated from your date of birth (for example "18-24"), and any gender or experience level you chose are sent to our cloud database (provided by Supabase), linked to your anonymous or signed-in account identifier. We use them only to understand our audience in aggregate and to improve the App.
Workout and training data. Your workout history, round counts, streaks, and saved favorite workouts are stored locally on your device by default. If you choose to sign in with Google, this data is also securely backed up to our cloud database (provided by Supabase) so it can be restored if you reinstall the App or switch devices.
Account information, if you sign in. BagTrainer lets you optionally sign in with Google to back up your progress. If you do, we receive your Google account's email address and use it, together with a unique account identifier, to store and restore your backed-up workout data. Signing in is optional — the App is fully usable without it, and progress stays local-only until you choose to sign in.
Leaderboard data. BagTrainer has a training leaderboard that ranks players by rounds completed (weekly, monthly and lifetime). To run it, the following is stored in our cloud database (provided by Supabase), linked to your anonymous or signed-in account identifier, whether or not you sign in:
Other BagTrainer users who view the leaderboard can see your display name, your round totals and your rank. Your email address, date of birth, age range, gender, experience level, country, profile photo and account identifier are never shown to other players. You only appear on the leaderboard once you have set a display name.
You stay in control of your leaderboard presence:
Moderation. Display names are automatically checked against a list of offensive words, and names that fail this check are not shown on the leaderboard. We may also review reported names and hide, reject or remove inappropriate display names or leaderboard entries where needed to keep the leaderboard safe and appropriate.
Subscription and purchase information. If you purchase a BagTrainer Pro subscription, the transaction is processed by Google Play Billing (Android) or the Apple App Store (iPhone), and by RevenueCat, a subscription management service we use to verify purchases and manage entitlements. RevenueCat receives an anonymous device-linked identifier and your purchase/subscription status. It does not receive your name, email, or payment details — those are handled entirely by Google Play or Apple. See Google Play's Privacy Policy, Apple's Privacy Policy and RevenueCat's Privacy Policy for details on how each of them handles data.
Analytics and crash reporting. The App uses PostHog to record anonymous usage events (for example, which screens and features are used) and Sentry to record crash reports and error diagnostics, so we can find and fix bugs and understand how the App is used. Both use an anonymous, device-linked identifier — not your name, email, or account. PostHog also receives your age range and any gender or experience level you chose, as anonymous usage attributes; it never receives your date of birth. See PostHog's Privacy Policy and Sentry's Privacy Policy for details.
Device permissions. The App may request:
Age range, gender and experience level are used only for aggregate audience statistics. Locally stored information (profile, workout history, favorites) is used solely to run the App's features on your device. If you sign in, your backed-up workout data and account identifier are used only to restore your progress across devices. Your completed-workout round counts and display name are used to calculate and show leaderboard rankings, and your visibility setting, block list and any reports are used only to operate and moderate the leaderboard. Subscription status received from RevenueCat is used only to unlock Pro features within the App.
We do not sell, rent, or share your personal information with third parties for advertising or marketing purposes. Data is shared only with the service providers described in this policy — Supabase (cloud storage for backups and leaderboard), Google Play, Apple, RevenueCat, PostHog, and Sentry — solely to provide and improve the App's features.
If you never sign in, your profile, workout history, and favorites live only on your device, and uninstalling the App permanently deletes this data.
If you sign in with Google, your account and backed-up data are retained until you delete your account. This includes the age range, gender and experience level stored with your profile. You can delete your account and all associated cloud data at any time from Settings → Account → Delete Account in the App, or by visiting bagtrainerapp.com/delete-account if you no longer have the App installed. Deleting your account also removes your leaderboard entry, your visibility setting, your block list, and any reports you made or that were made about you. Deletion is permanent and cannot be undone.
To request information about or deletion of subscription-related data held by RevenueCat, contact us using the details below.
BagTrainer is not directed at children under 13. The App asks for your date of birth when you create a profile and does not let anyone under 13 create one. We do not knowingly collect information from children under 13.
We may update this Privacy Policy from time to time. Material changes will be reflected by updating the "Last updated" date above.
Questions about this Privacy Policy or your data can be sent through the Contact Support option in the App's Settings screen, or through our support page.