This policy explains what UpperMax ("the app", "we") collects, why, who processes it, and the rights you have over it. It is written to be read, not to be survived.
The data controller for the purposes of the EU General Data Protection Regulation (GDPR) is:
We are not required to appoint a Data Protection Officer. Privacy questions go to the address above and are answered by a human.
| Category | Specifically | Why | GDPR legal basis |
|---|---|---|---|
| Account | Email address, display name, authentication provider (Apple or Google), user ID | Create and secure your account, sync across reinstalls | Performance of a contract |
| Profile | Age range, height, weight, self-reported leanness, goals, training context | Calibrate your analysis and generate your plan | Performance of a contract |
| Body photographs | Front, left oblique and right oblique captures taken in the app | Measure your physique | Explicit consent (Art. 9(2)(a)) |
| Body measurements | Shoulder / waist / hip widths and derived ratios, estimated body-fat category, Frame Score and metric sub-scores | Track your progress over time | Explicit consent (Art. 9(2)(a)) |
| Health & fitness | Daily step count from Apple Health, only if you grant permission | Track movement goals in your weekly roadmap | Explicit consent — revocable in iOS Settings at any time |
| Subscription | Purchase and entitlement status, anonymous purchase identifier | Unlock paid features, restore purchases | Performance of a contract |
| Diagnostics | Crash reports, error logs, performance traces | Find and fix defects | Legitimate interest (a working app) |
| Usage | In-app events such as screens opened and scans completed | Understand which features are used | Legitimate interest (product improvement) |
We do not collect your precise location, your contacts, your device advertising identifier, or your browsing activity outside the app.
This distinction matters, so it gets its own section.
Quick Scan runs entirely on your iPhone using Apple's Vision framework. Pose landmarks and body-width measurements are computed locally. No photograph leaves your device during a Quick Scan.
When you request an Extensive Scan, the three captured photographs are uploaded to our storage on Google Cloud and submitted to Google's Gemini API for structured measurement. Under Google's paid API terms, content submitted through the Gemini API is not used to train Google's models. Google processes the request and returns measurements; we then delete or retain the images as described in section 6.
You are asked for explicit consent before your first Extensive Scan. If you decline, Quick Scan and the rest of the app continue to work.
We use a small number of processors. We do not sell your data, and we do not share it with advertisers or data brokers.
| Processor | What they handle | Where |
|---|---|---|
| Google Firebase (Auth, Firestore, Cloud Storage, Cloud Functions, Crashlytics, Analytics) | Account, profile, scans, images, diagnostics | EU and United States |
| Google Gemini API | Photographs submitted for Extensive Scan measurement | United States |
| RevenueCat | Subscription and entitlement status | United States |
| Apple | Payment processing, sign-in, Apple Health permissions | Per Apple's own policy |
Transfers outside the European Economic Area rely on the European Commission's Standard Contractual Clauses and, where applicable, the EU–US Data Privacy Framework.
Data read from Apple Health is used only to display and track your goals inside the app. In line with Apple's requirements, we never use Apple Health data for advertising, marketing, or resale, and we never disclose it to third parties without your separate consent. Revoke access at any time in iOS Settings › Privacy & Security › Health.
| Data | Retention |
|---|---|
| Account and profile | Until you delete your account |
| Scan photographs | Until you delete the scan or your account |
| Measurements and Frame Scores | Until you delete your account — history is what makes progress tracking work |
| Diagnostics | Up to 90 days |
| Records we must keep by law (e.g. tax records of a purchase) | As required by French law, typically 10 years |
Under the GDPR you have the right to:
To exercise any right, email [[CONTACT_EMAIL]]. We respond within one month. If you are unsatisfied, you may lodge a complaint with the French supervisory authority, the CNIL (www.cnil.fr), or with the authority in your own country.
Under the CCPA/CPRA you have the right to know what personal information is collected, to request deletion, to correct it, and to opt out of "sale" or "sharing". We do not sell or share personal information as those terms are defined, and we do not use it for cross-context behavioural advertising. Exercise your rights using the same contact address above. We will not discriminate against you for doing so.
Data is encrypted in transit (TLS) and at rest by our infrastructure providers. Access to production data is restricted to the controller. Access rules are enforced server-side so that a user can only ever read their own records.
UpperMax is not intended for anyone under [[MINIMUM_AGE]]. We do not knowingly collect data from children. If you believe a child has provided us data, contact us and we will delete it.
If we change this policy materially, we will notify you in the app and, where the change affects processing based on your consent, ask for that consent again. The version and date at the top of this page always reflect the current text.
[[LEGAL_NAME]] — [[CONTACT_EMAIL]]