Privacy Policy
Last updated:
1. Introduction
JCODE, publisher of the WorkoutGen application, takes the protection of your personal data very seriously. This Privacy Policy explains what data we collect, why we collect it, how we use it, and what your rights are.
This policy describes the measures in place to comply with the General Data Protection Regulation (GDPR) and, where applicable, other relevant privacy regulations.
Data controller:
JCODE
25 rue de Ponthieu, 75008 Paris, France
SIREN: 911 451 615
Email: contact@workoutgen.app
2. Collected Data
2.1 Account Information
When you save your program, we collect:
- Email address: for one-time passcode login, account security, and necessary service communications
- Optional Google, Apple, or Microsoft login: account identifier from the chosen provider, email address, name and profile picture if any, as well as OAuth tokens strictly necessary for authentication. Apple can provide a relay address if you choose to hide your email. WorkoutGen does not request any access to files, messages, contacts, or calendars from these providers.
- Passwords, when used, are stored securely.
- Program save date
2.2 Workout Data
To generate tailored workout programs, we collect:
- Workout goal: muscle gain, toning, weight loss, or strength
- Experience level: beginner, intermediate, advanced
- Desired workout frequency: number of sessions per week
- Workout history: completed sessions, sets, reps, weights, durations, personal records, estimated 1RM, volume per muscle group, and logged body weight measurements
2.3 Payment Data
Payments are exclusively processed by Lemon Squeezy, a service operated by Sold through Link, LLC, acting as Merchant of Record. Lemon Squeezy handles payment, taxes, refunds, chargebacks, and PCI compliance. We never store your banking information on our servers.
Lemon Squeezy collects and processes:
- Credit card number, expiration date, CVV
- Billing name and address
- Transaction details (amount, date, currency)
We receive billing and subscription information from Lemon Squeezy necessary for support and service operation. We do not receive or store full card details.
2.4 Technical Data
Depending on your device and the features used, the following technical data may be processed:
- Device type: web browser or installed PWA (iOS, Android, desktop)
- Application version
- Operating system version
- Language preference
- Error logs (to fix bugs)
We do not use your personal data for targeted advertising. We may process limited technical information to secure and operate the service.
2.5 Physical Condition Data
We use the profile information you provide, such as your goal, level, and availability, to create your program. Your profile and program are linked to your account.
- Weight range: profile response used for the adjustment described in section 3.5.
- Height range: profile response used for the adjustment described in section 3.5.
- Age range: account eligibility, versioned profile context, and bounded adjustment of recovery and initial volume for your program
- Gender: used by the current engine to select cycles and filter eligibility for certain exercises
- Perceived body type: self-reported visual response used with your height and weight ranges for the adjustment described in section 3.5.
- Workout goal: to select the appropriate program
We use the profile to provide the requested core service. The optional profile-based adjustment and any optional use to improve the AI each require a separate choice. Refusing the adjustment does not limit the core program.
2.6 iOS In-App Purchases
If you are subscribed via the iOS app, RevenueCat and Apple collect and process:
- A technical subscriber identifier (app_user_id), derived from your WorkoutGen account, never your email address or any other directly identifying personal data
- Your Apple subscription status and history (active, expired, renewed, canceled)
iOS in-app purchases are exclusively processed by Apple (App Store) via RevenueCat. We never receive, store, or see your banking information: Apple handles payment, taxes, and refunds for this channel.
The iOS app uses a technical device identifier (IDFV) exclusively to deliver app updates. This is not a tracking identifier: it does not track any user journey, does not feed PostHog or Cloudflare Web Analytics, and resets as soon as the last app from our publisher installed on your device is deleted.
3. How We Use Your Data
3.1 Service Provision
- Save your program and manage your access
- Create personalized workout programs based on the information you provide
- Track your progress and workout history
- Sync data across your devices
Legal basis: performance of the contract (General Terms of Use and Sale).
3.2 Communication
- Send transactional emails (account confirmation, password reset)
- Notify of subscription status (renewal reminders, payment failure)
- Provide customer support
Legal basis: Performance of the contract and legitimate interest.
3.3 Payment Processing
- Process subscription payments via Lemon Squeezy
- Generate invoices
- Manage refunds
Legal basis: Performance of the contract and legal obligation (tax records: 10 years).
3.4 Service Improvement
- Measuring page audience and performance with Cloudflare Web Analytics, and producing aggregated product statistics with PostHog on registration, installation, workout usage, referrals, and technical errors
- With your optional consent: understand usability issues through more detailed product events and masked session replays.
- On the iOS app, a two-value technical platform tag (native app or web browser) may be associated with the events above; it contains no device model, system version, or any other information that would allow you to be distinguished from other people using the app.
- Improve service reliability and fix bugs
- Develop new features based on user needs
Legal bases: performance of the requested service; consent exemption targeted for strictly anonymous audience measurement, based on a self-assessment that is neither a certification nor a validation by the CNIL; your optional consent for detailed product events and session replays; legitimate interest for security, reliability, and error reporting.
3.5 Profile-Based Adjustment
To generate the requested program, WorkoutGen uses your height and weight ranges and your silhouette for a limited adjustment of bodyweight exercises. It can only prefer a comparable and more accessible accessory. It does not modify the main movements, the cycle, the muscle groups, or the intensity of your workouts. The familiarization path for people who have never done strength training remains distinct from the beginner level. You can modify these profile responses before a future generation. This usage is distinct from the optional ML contribution.
Legal basis: your explicit and revocable consent for this distinct purpose. This choice does not affect AI training.
4. Third-Party Service Providers
We share your data with these trusted partners who help us provide the service:
4.1 Infrastructure
- Cloudflare: hosting of WorkoutGen, databases, media, security, global delivery, page audience and performance measurement with Cloudflare Web Analytics, and sending emails necessary for the service, such as login codes, security messages, and account notifications. Main storage is configured in the European Union.
- Cloudflare Turnstile: protection against bots and abuse when using sensitive features.
- Google (OAuth / OpenID Connect): optional login with standard openid, email, and profile permissions. No Gmail, Drive, Contacts, or other Google API permissions are requested Google Privacy Policy .
- Apple (Sign in with Apple / OpenID Connect): optional login with the unique identifier provided by Apple, the direct or relay email address, and the name if you choose to share them. No access to iCloud or any other Apple service is requested Apple Privacy Policy .
- Microsoft (OAuth / OpenID Connect): optional login with profile information necessary for authentication. No Outlook, OneDrive, Contacts, or Calendar permissions are requested Microsoft Privacy Statement .
- Bunny.net (BunnyWay d.o.o., Slovenia, EU): Image CDN for the marketing site. Public requests may involve technical connection data; no WorkoutGen account data or workout history is transmitted to it.
- Strapi (Strapi SAS, France, EU): Headless CMS hosting content for the marketing site blog only. No authenticated user data is processed.
We limit the data transmitted to each provider and govern these processing activities with applicable data protection contracts and guarantees.
4.2 Payment
- Lemon Squeezy, service operated by Sold through Link, LLC: Merchant of Record, payment, taxes, billing, and PCI-DSS compliance
For more details on how Lemon Squeezy processes your data, please see the Lemon Squeezy Privacy Policy.
4.3 Analytics
- PostHog Cloud (European Union), acting as a processor for WorkoutGen, processes on our behalf aggregated product statistics, technical troubleshooting, and, with your optional agreement, detailed product events and masked replays. Project settings anonymize IP addresses and disable person profiles.
4.4 iOS In-App Purchases
- RevenueCat, Inc. (United States): management of Apple in-app purchases and subscriptions, transfers governed by a data processing agreement and standard contractual clauses.
- Apple Inc.: Merchant of Record for iOS in-app purchases via App Store Connect, and Apple Push Notification service (APNs) for push notifications on iOS.
4.5 App Updates
- Capawesome GmbH (Germany, European Union): delivery of updates to the app's web layer between two publications on the App Store, using the technical device identifier (IDFV) described in section 2.6.
Some providers may process data outside of your country. Where required by law, these transfers are based on an adequacy decision, standard contractual clauses, or another recognized safeguard.
5. Data Sharing
We never sell your personal data to third parties.
We may share data only in these cases:
- With your consent: if you explicitly authorize it
- Legal obligation: court order, regulatory request
- Service providers: listed in Section 4 above
- Business transfer: in the event of a merger, acquisition, or asset sale (you will be notified)
6. Optional AI Learning
When this option is offered in the app, WorkoutGen requests a separate agreement before collecting pseudonymized workout results and the program information necessary for their context, in order to improve future programs. This initial collection excludes body shape, height and weight answers, body measurements, and body scores. It is restricted to adults, optional, and revocable at any time. A refusal does not limit the service.
With your consent, this collection is used solely for this purpose. No model is loaded in the app and your current program does not change. Data still linkable to your contribution is deleted if you withdraw your consent or delete your account; only truly anonymous summaries may be retained after documented review.
WorkoutGen does not make any decisions based solely on this processing that would produce a legal effect or a similarly significant effect on you.
7. Data Retention
- Account data is retained as long as your account is active.
- When you delete your account, we delete the service data, subject to legal retention obligations.
- Billing documents are retained for the period required by law.
- If you accept optional AI learning, data still linkable to your contribution is deleted after withdrawal of consent or account deletion, and at the latest 365 days after its collection.
- Cloudflare states that it retains unsampled beacon data for 7 days before aggregating it, and makes Web Analytics statistics accessible for 6 months. PostHog currently displays an 84-month event retention setting for these projects, the automatic application of which is not yet active. This setting depends on the subscribed plan and cannot be modified in the project configuration; its reduction or a documented global purge remains to be implemented. Anonymous from the moment they are sent, this information is not linked to any account and therefore cannot be isolated by person for a deletion request.
8. Data Security
We implement technical and organizational measures proportionate to the risks:
In the event of a personal data breach, we notify the competent supervisory authority within legal timeframes (Art. 33 GDPR). If the breach is likely to result in a high risk to your rights and freedoms, we will inform you without undue delay (Art. 34 GDPR).
9. Your privacy rights
Depending on the processing and applicable law, you have the following rights in particular:
Right of Access
Request a copy of all personal data we hold about you.
Right to Rectification
Correct your personal data directly in the app (Settings > Account) or contact us.
Right to Erasure
You can delete your account at any time from the settings. We delete service data, unless the law requires us to retain certain information.
Right to Object
You can withdraw the "Help improve WorkoutGen" consent at any time in Settings > Privacy. You can contact us to object to other processing.
Right to portability
Download your data in a structured format (JSON for the full account export, CSV for the weight tracker history) to transfer it elsewhere.
Right to restriction
Request a temporary freeze on data processing during a dispute.
Right to withdraw consent
You can withdraw your consent for profile-based adjustments or AI learning at any time in Settings > Privacy. Withdrawing profile adjustments applies to future generations and does not limit the basic program. Withdrawing AI consent stops new uses for this purpose. It does not affect processing already completed.
Additional Rights Depending on Your Place of Residence
WorkoutGen does not sell your personal data. If a local law grants you additional rights, you can exercise them at the same contact address.
To exercise your rights:
Email: contact@workoutgen.app
Response time: 30 days maximum
Identity verification may be required for security reasons
File a complaint:
EU residents: your national data protection authority or the CNIL (cnil.fr)
Outside the EU: the competent data protection authority according to your place of residence, where local law applies
10. Cookies and Trackers
WorkoutGen uses a minimum of cookies and respects your privacy choices:
Strictly Necessary Cookies (No Consent Required)
- User session: to stay logged in (session cookie linked to a server-side session record stored in our database)
- Interface preferences: dark/light theme, language
Audience measurement and aggregated product statistics
Cloudflare Web Analytics measures page audience and performance: page views, visits, referrer host, country, device type, browser, operating system, and Core Web Vitals metrics. Its beacon does not place or read any cookie, localStorage, sessionStorage, or other identifier on your device. Cloudflare states that it does not collect or use personal data of visitors and does not track individuals across its customers' websites.
PostHog separately produces aggregated product statistics on the registration flow, installation, workout usage, referrals, and technical errors. To link only the steps of a single visit, it places a random identifier in sessionStorage limited to the tab, which expires after 2 hours of inactivity and at the latest after 4 hours. This identifier contains no account or device data and is not transmitted to the WorkoutGen API or to Cloudflare. Events contain no direct or device identifiers, and IP addresses are anonymized by project settings. Based on our self-assessment, this configuration seeks to satisfy the criteria established by the CNIL for audience measurement that can be implemented without consent. This self-assessment is neither a certification nor a validation by the CNIL, and the PostHog retention setting described in Section 7 remains to be regularized. These statistics are not used for advertising, personalization, or tracking across other websites or applications.
You can activate or withdraw your agreement to "Help improve WorkoutGen" at any time in Settings > Privacy. Withdrawal stops new detailed events and replays. Technical error reports strictly necessary for service reliability remain limited and without personal identifiers (legal basis: legitimate interest). If your browser sends a GPC or "Do Not Track" signal, all PostHog collection, including errors, is disabled. Cloudflare Web Analytics remains active, as its beacon does not store or read any information on your device.
Technical providers and error reporting
- Cloudflare Web Analytics measures page audience and performance without cookies, local storage, or cross-site tracking. Cloudflare states that it does not collect or use personal data of visitors.
- PostHog Cloud, hosted in the European Union, processes the aggregated product statistics and technical error reports described above. With your optional agreement, it also processes detailed product events and session replays. Project settings anonymize IP addresses and disable person profiles. The retention period is described in Section 7.
Optional Improvement Analytics
If you check "Help improve WorkoutGen", we enable more detailed product events and session replay to understand usability issues. This option is disabled by default and is never required to use WorkoutGen.
Texts and input fields in replays are masked. After your consent, only strictly necessary and cleaned troubleshooting network headers may be recorded; network bodies, network streams, and console logs remain excluded. You can withdraw your consent at any time in Settings > Privacy: new replays stop immediately.
Cloudflare Web Analytics is active by default without storage on your device. PostHog's aggregated product statistics are also active by default according to the self-assessment framework described above. The "Help improve WorkoutGen" option remains separate, disabled by default, and can be modified at any time in Settings > Privacy.
11. Service Reserved for Adults
WorkoutGen is reserved for individuals aged 18 or older. Adulthood is confirmed by a mandatory declaration before saving the program.
We do not request a full date of birth or ID. If we learn that an account belongs to a minor, we block their access and delete their data in accordance with our erasure procedure.
A minor can view public pages, but cannot save a program, create an account, or subscribe to WorkoutGen Max.
12. "Do Not Track" Signals
WorkoutGen interprets GPC and DNT signals as a refusal of all PostHog collection: product statistics, error reports, detailed events, and replays are then disabled. Cloudflare Web Analytics remains active without storage on the device. Storage necessary for security, authentication, and the service remains active.
13. Policy Updates
We may update this Privacy Policy to reflect legal changes or new features. We will inform you of significant changes by email or in-app notification.
The last modified date is displayed at the top of this page.
14. Privacy Contact
For any questions about data protection:
Email: contact@workoutgen.app
Postal address: JCODE, 25 rue de Ponthieu, 75008 Paris, France
Privacy contact: contact@workoutgen.app
EU Supervisory Authority (CNIL):
Commission Nationale de l'Informatique et des Libertés
3 Place de Fontenoy, TSA 80715, 75334 Paris Cedex 07, France
Tel: +33 1 53 73 22 22
Website: www.cnil.fr