This policy explains how the GymFactor team (“we,” “us,” or “our”) handles personal data in GymFactor. It is written for a consumer fitness app, not as medical or legal advice. Health data (Apple Health on iOS, Health Connect on Android) is never used for marketing or advertising and is never sold.
Este documento solo está disponible en inglés.
Who is responsible
The data controller (and, where Apple processes data solely on your device or in your iCloud account, the party offering the app) is the GymFactor team.
Email: info@gymfactor.app
GymFactor does not require you to create an account with us. You can use the app as a guest. We do not operate a social network.
Data we process
2.1 Information you enter
Depending on how you use the app, this may include name or display name, training goal, experience, days per week, split, units, bar weight, gender, body weight, height, and the workouts and sets you log (exercises, weight, reps, rest, notes associated with a session).
This data is stored on your device (on iOS, in Apple's on-device database, SwiftData). If you are signed into iCloud and CloudKit sync is available, Apple may mirror that store to your iCloud account so it can appear on your other Apple devices. We do not operate a separate cloud copy of your workouts.
2.2 Apple Health (HealthKit) and Health Connect
If you choose to connect Health, the iPhone app may read (with your permission):
- Body mass (weight)
- Height
- Date of birth
- Biological sex
The Apple Watch app may, during an in-progress workout and with your permission:
- Read heart rate and active energy
- Write a strength-training workout to Apple Health when the Watch session ends
Health access is optional. You can deny or later revoke it in iOS Settings → Privacy & Security → Health, or in the Health app. HealthKit data is used only to set up your profile, show live Watch metrics, and save the Watch workout to Health — not for advertising, not sold, and not used for other apps' marketing.
On Android, if you choose to connect Health Connect, the app uses only the data types you allow, for the same purposes as above. You can review or revoke that access at any time in the Health Connect settings.
2.3 Camera and photos (plate scan)
If you use scan, you may capture a photo or pick one from your library. The image is sent to estimate weight. Scan photos are not saved in your workout database. The scan service holds the image in memory for the request and does not keep a photo archive. The image is processed by OpenAI to return a weight estimate. OpenAI's processing is subject to OpenAI's privacy policy.
You should not scan photos of other people or anything you do not have the right to process.
2.4 Purchases
If you subscribe to GymFactor Pro, Apple (iOS) or Google Play (Android) processes the payment. We receive subscription status (for example, whether Pro is active and an expiration date) through RevenueCat, using the store's purchase receipts — not your card number.
2.5 Diagnostics, analytics, configuration, and notifications
We use Google Firebase for:
- Analytics — app-usage events (for example screens viewed, onboarding steps, workouts started and completed, sets logged with weight and reps, scans, and paywall and purchase events), a random identifier generated by the app, and basic device and app information, so we can understand how the app is used and improve it.
- Crashlytics — crash and non-fatal error reports, device/app metadata, and optional breadcrumbs so we can fix bugs. We may attach a technical identifier; we do not ask Crashlytics to store your name or workout history.
- Remote Config — feature flags such as whether scan is enabled and minimum app version.
- Cloud Messaging — a push token so we can deliver remote notifications if you allow them. Local notifications (for example a rest timer) stay on device.
We also use PostHog (hosted in the EU) for product analytics and error tracking. It receives the same app-usage events and random identifier, automatically captured app errors, and technical details of scan requests (model, timing, token counts, and the weight estimate returned — never the photo). We do not send your name to Firebase or PostHog. Neither is used for advertising.
2.6 Device permissions
The app may request camera, photo library, Health (Apple Health or Health Connect), notifications, and (in development) local network access for a scan server. The system asks you before granting each one. You can change permissions in iOS Settings or in Android Settings → Apps → GymFactor.
Advertising (Android)
- The free version of GymFactor for Android shows ads served by Google AdMob, a Google LLC service. GymFactor Pro subscribers see no ads. The iOS app does not show ads.
- GymFactor does not send any of your personal data to Google or any ad network. Your profile, workouts, and health data never leave the app for advertising.
- The Google Mobile Ads SDK, which displays the ads, automatically collects limited device information on its own to serve and measure ads and prevent fraud: the device's advertising ID, approximate location derived from the IP address, basic device and app information, and interactions with ads.
- In the EEA, the UK and Switzerland, ads are only personalized after you consent through the consent message shown in the app. You can change or withdraw that choice at any time from Profile → “Ad privacy choices”.
- You can reset or delete your advertising ID, or opt out of personalized ads, in Android Settings → Privacy → Ads.
- Health data (Health Connect on Android, Apple Health on iOS) is never used for advertising, never shared with ad networks, and never sold.
- How Google uses this data: policies.google.com/technologies/partner-sites
Why we use data
- Provide logging, last-session memory, routines, progress charts, and Watch companion features
- Import profile fields from Health when you ask
- Estimate weight from a scan you start
- Unlock GymFactor Pro and restore purchases
- Send rest-timer or other notifications you enable
- Keep the app working (crash reports, remote flags, force-update thresholds)
- Show ads in the free Android app (Google AdMob)
- Respond to privacy or support emails you send us
We do not sell your personal information and we do not use HealthKit data for advertising.
Legal bases (EEA/UK and similar)
Where GDPR or UK GDPR applies, we rely on:
- Contract — to provide the Service you request (logging, subscriptions you buy)
- Consent — Health, camera/photos, notifications, and personalized ads in the free Android app (you can withdraw in your device settings, or for ads from Profile → “Ad privacy choices”)
- Legitimate interests — security, crash diagnostics, product analytics, and keeping the Service reliable, balanced against your rights
- Legal obligation — if we must retain or disclose information
Health and scan images can be special-category or sensitive data. We process them only with your permission and for the fitness features you invoke.
Who we share with
We share data only as needed to run the Service:
- Apple — App Store, iCloud/CloudKit (your account), HealthKit (your Health database), Push
- OpenAI — scan images and related prompts, for weight estimation only
- Google (Firebase) — Analytics, Crashlytics, Remote Config, Cloud Messaging
- Google (AdMob) — serves ads in the free Android app; the Google Mobile Ads SDK collects device data directly (see Advertising (Android)). Google's privacy policy: policies.google.com/privacy
- Google Play — app distribution and payments on Android
- RevenueCat — subscription entitlement status
- PostHog — product analytics and error tracking (EU hosting)
We may disclose information if required by law or to protect rights, safety, or the Service. If the product is transferred, data practices will remain subject to this policy or a successor notice.
Processors may be located in the United States or other countries. Where required, we rely on appropriate transfer tools offered by those vendors, such as Standard Contractual Clauses.
Retention
- On device — until you delete the data in-app (where available) or uninstall the app
- iCloud — until you delete the app's iCloud data via Apple's iCloud settings, or your Apple ID no longer syncs it
- Apple Health / Health Connect — remains there until you delete that data in the Health app or in Health Connect
- Scan images — not stored by us after the request; OpenAI retains data per its policy
- Crash, analytics, and config — kept by Firebase and PostHog for their standard retention periods
- Ad data — collected and kept by Google (AdMob) under its own policy
- Purchases — Apple or Google Play, and RevenueCat, keep records needed to provide and restore subscriptions
- Emails you send us — as long as needed to handle your request
The app does not currently offer a CSV export or in-app “delete all cloud data” button. Uninstalling removes local data on that device. To request access, correction, or deletion of information we hold (for example email correspondence or analytics tied to your app identifier), contact us. We cannot delete data that exists only in your Apple ID, iCloud, Apple Health, or Health Connect without you using those tools.
Security
We rely on the device encryption built into iOS and Android, encrypted connections, and vendor security for cloud processors. No method of transmission or storage is 100% secure. Do not photograph sensitive documents when scanning plates.
Your rights
EEA/UK/Switzerland: you may request access, rectification, erasure, restriction, portability, and to object to processing based on legitimate interests. You may withdraw consent at any time without affecting prior processing. You may complain to your local supervisory authority.
California and similar US state laws: GymFactor itself does not sell or share your personal information. In the free Android app, the Google Mobile Ads SDK may use the device's advertising ID for personalized ads, which some US state laws treat as “sharing” for cross-context behavioral advertising. You can opt out in Android Settings → Privacy → Ads, by deleting your advertising ID or opting out of ads personalization. The iOS app is not affected. We never sell personal information for money. You may request access, deletion, and correction of personal information we hold, and we will not discriminate against you for exercising rights. Health and precise location are not used for ads. We do not have actual knowledge of selling the personal information of consumers under 16.
To exercise rights, email info@gymfactor.app. We may need to verify your request. We will respond within the time required by applicable law.
Children
The Service is not directed to children under 13. We do not knowingly collect personal information from children under 13. If you believe we have, contact us and we will delete it. Users 13–15 should use the app with a parent or guardian where local law requires.
Automated decisions
Scan uses an AI model to estimate weight. That estimate is not used to legally or similarly significantly affect you; you confirm or override it before logging. Training plans are rule-based templates from the profile you enter, not credit or employment decisions.
Changes
We may update this policy. The effective date will change. Material changes will be posted here and, where required, noted in the app. Continued use after the effective date means you accept the updated policy where the law allows.
Contact
Privacy questions and requests: info@gymfactor.app
Email info@gymfactor.app — see also the Terms & Conditions.