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.
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.
- Accounts that still have a password keep it hashed.
- Program save date
2.2 Workout Data
To generate tailored workout programs, we collect:
- Workout goal: muscle gain, toning, weight loss, or strength
- Location and equipment: at the gym or at home, with or without equipment and, at home, the equipment you own, for your entire program or, with Max, for one workout
- “My Workouts,” with Max: the content of the workouts you record or customize (exercises, format, muscles, equipment, blocks), up to 30, deleted with your account
- Experience level: never done strength training, beginner, intermediate, or advanced
- Training days: the days you choose, which determine the number of workouts per week
- Workout history: completed workouts, sets, reps, weights, durations, personal records, estimated 1RM, volume per muscle group, and logged body measurements (weight and waist circumference)
2.3 Payment Data
On our website and in the Windows app, payments are processed by Lemon Squeezy, a service operated by Sold through Link, LLC, as Merchant of Record. Lemon Squeezy handles payment, taxes, refunds and chargebacks, as well as PCI compliance. In-app purchases in the iPhone and Android apps are described in section 2.6. 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.
To display the price for your country on our website, we use the country of your connection, which Cloudflare infers from your IP address. The billing country and applied pricing tier are stored with your web subscription.
2.4 Technical Data
Depending on your device and the features used, the following technical data may be processed:
- Device type: web browser, installed PWA, native iOS app installed from the App Store, or native Android app installed from Google Play
- 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 program you request, including the profile-based adjustment described in section 3.5. Any optional use to improve the AI requires a separate choice, which you can refuse without limiting your program.
2.6 iOS and Android in-app purchases
If you subscribe through the iOS or Android app, RevenueCat and your device's store, Apple's App Store or Google Play, 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
- The status and history of your App Store or Google Play subscription, active, expired, renewed, paused, or canceled
In-app purchases are processed exclusively by Apple, through the App Store, on iOS and by Google, through Google Play, on Android, via RevenueCat. We never receive, store, or see your payment information: the store 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 measurement identifier: it does not track any user journey or feed PostHog or Cloudflare Web Analytics.
The Android app uses a random technical identifier, created on first launch, exclusively to deliver app updates. It is not a measurement identifier: it does not track any user journey or feed PostHog or Cloudflare Web Analytics.
On iOS and Android, login code requests sent from the app are protected against abuse by Apple App Attest or Google Play Integrity, which confirm that they come from the authentic app. These checks are not linked to any account and are not used for measurement.
Account and profile data are necessary to create your program; without them, it cannot be generated.
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 (login codes, account confirmation, and account security)
- Send the workout reminders you enable by push notification. They use your device’s notification token, training days, time zone, and language, retained until you disable them or delete your account.
- Send you a reminder to install the app one day after you sign up on the website, which you can disable in Settings > Privacy
- Notify of subscription status (renewal reminders, payment failure)
- Provide customer support
Legal basis: Performance of the contract and legitimate interest.
The optional suggestion and bug-reporting form sends support your request category, message, app version and platform, app language, and up to three screenshots if you choose to attach them. Each screenshot is re-encoded on your device without metadata such as the date or location, and arrives as an attachment to the message: avoid showing anything you do not want to share. Your account's verified email address is always attached so support can reply to you. No program, workout log, body data, or account identifier is attached automatically. Cloudflare Email Sending routes the message to our Google Workspace inbox. The text, email address, and screenshots are not stored in our application databases or sent to PostHog; the exchange follows the support retention period specified in Section 7. The draft and its screenshots remain only in memory while the form is open, then are deleted. Technical per-account counters, without text, email, or images, limit abuse and expire after no more than one hour.
3.3 Payment Processing
- Process subscription payments through Lemon Squeezy on the website and Windows app, through Apple and RevenueCat in the iOS app, or through Google Play and RevenueCat in the Android app
- Generate invoices
- Manage refunds. When you ask Apple for a refund for an App Store purchase, we respond to its request for information through RevenueCat: account age, time using the service, service delivery status, purchase and refund history, and our preference under our refund policy. This disclosure is based on the consent given in the Terms of Use, which you can withdraw at any time by writing to contact@workoutgen.app.
Legal basis: Performance of the contract and legal obligation (tax records: 10 years). For disclosure to Apple when requesting an App Store refund: your consent, which you can withdraw.
3.4 Service Improvement
- Measure app traffic and usage anonymously and without cookies: pages viewed, visit sources, interface actions, ineffective clicks, loading performance, and technical errors
- This measurement does not place or read any cookies or identifiers on your device, is not linked to any account, and cannot identify you or track you from one day to the next or across other sites, see section 10.
- The same rules apply on web, iOS, and Android: no session recording, no heat maps, and no entries, profile answers, or workout data are sent to measure usage.
- Improve service reliability and fix bugs
- Develop new features based on user needs
Legal basis: our legitimate interest in measuring usage and improving WorkoutGen. This measurement relies on the CNIL consent exemption for audience measurement: you can opt out at any time, with no effect on WorkoutGen features, see section 10.
3.5 Profile-Based Adjustment
To generate the requested program, WorkoutGen uses your height and weight ranges and your build for limited adjustments to your first workouts: it may choose a more accessible variation of an accessory exercise and, if you have never done strength training, slightly reduce the intensity of your familiarization workouts. It does not modify the main movements, the muscle groups worked, or the cycle. 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: performance of the contract, because this adjustment is part of the program you request. It does not concern AI learning.
3.6 Muscle focus and auto distribution
When you choose a muscle focus, WorkoutGen records the selected muscle group or groups (Legs, Glutes, Back, Chest, Abs, Shoulders, Arms), the date, and the source of the choice (account creation, your choice, or auto distribution) to build your workouts. The focus reorganizes your program, it does not describe your body or health.
Auto distribution, included with WorkoutGen Max, adapts your program to work your whole body: it compares the sets you logged with those planned by your program. When a muscle group is worked significantly less than planned, a clear and deterministic rule based on published studies and validated by a state-certified coach gives it priority for a limited period, and the app tells you. With Max, it works as soon as your program is balanced: choosing “Balanced” starts it, and the app tells you at that moment. Choosing one or more muscle groups stops it. It does not evaluate you or infer a health condition or risk.
These choices and the decisions made by auto distribution are stored with your program, included in your data export, and deleted with your account.
Legal basis: performance of the contract. The focus is part of the program you request, and auto distribution is part of WorkoutGen Max, which you subscribe to.
4. Third-Party Service Providers
We share your data with these trusted partners who help us provide the service:
4.1 Infrastructure
- Cloudflare: WorkoutGen hosting, databases, media, security, global delivery, traffic and landing page performance measurement with Cloudflare Web Analytics, and delivery of emails required for the service, such as login codes, security messages, and account notifications. Primary 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): CDN for the app’s exercise videos and images and the marketing site’s images. Requests may involve technical connection data; no WorkoutGen account data or workout history is shared with it.
- Google Workspace (Google): email service for contact@workoutgen.app, which receives your support requests and requests to exercise your rights.
We limit the data transmitted to each provider and require each one to have a data processing agreement that complies with the GDPR.
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, PostHog Inc., with data hosted in the European Union: anonymous app traffic measurement and technical error tracking as a data processor under a data processing agreement. PostHog receives no account identifiers, profile data, or workout data.
4.4 iOS and Android in-app purchases
- RevenueCat, Inc. (United States): management of in-app purchases and Apple and Google Play subscriptions, and transmission to Apple of the information requested for a refund, with transfers governed by a data processing agreement and standard contractual clauses.
- Apple Inc.: Merchant of Record for iOS in-app purchases through App Store Connect, recipient of your subscription information when you ask Apple for a refund, and provider of the Apple Push Notification service (APNs) for push notifications on iOS.
- Google (Google Play, Firebase Cloud Messaging): payment for Android in-app purchases through Google Play, Google Play Integrity verification of login code requests sent from the Android app, and Firebase Cloud Messaging for workout reminder push notifications on the web, iOS, and Android, relayed to your browser’s push service or Apple Push Notification service (APNs).
4.5 App Updates
- Capawesome GmbH (Germany, European Union): delivery of updates to the app's web layer between releases on the App Store or Google Play, using the technical device identifier described in section 2.6, IDFV on iOS and a random identifier on Android.
The App Store, Google Play, and Microsoft Store distribute our apps under their own terms and privacy policies as independent data controllers. A button on our website that opens one of their listings adds only the name of that button, never any data about you.
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. You can request a copy of these safeguards at contact@workoutgen.app.
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
- Friend invitation: if you sign up using a friend’s invitation link, they see a masked version of your email address in the app and whether you have validated your first workout
- 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 separate consent before collecting pseudonymized workout results and the program information needed to put them in context, in order to improve future programs. This initial collection excludes gender, age, body shape, height and weight answers, body measurements, and body scores. It is limited to adults, optional, and revocable at any time. A setting approved by a coach may then apply to the programs of all members, including those who did not contribute. Refusing 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 contribution does not directly change your current program. 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 while your account is active. An account whose email address has never been verified is deleted after 90 days. An account that has been inactive for 3 years, with no active subscription, is deleted after a warning email sent 30 days beforehand.
- When you delete your account, we delete the service data, subject to the limited retention described below.
- To prevent repeated deletions and recreations intended to circumvent the service limits, we retain protected fingerprints derived using a key from your verified email address and previously linked login identities, as well as the dates needed for the recreation waiting period. These are pseudonymized, not anonymous, data. They contain neither your former email address in plain text, nor the deleted account's identifier, profile, or program. They expire 30 days after deletion or the last successful recreation, then are purged during the next hourly cleanup. A denied attempt does not extend this period. They remain with Cloudflare and are not transmitted to analytics tools. This processing is based on our legitimate interest in preventing abuse. You may exercise your right to object by contacting contact@workoutgen.app. Account deletion remains available.
- Billing documents are retained for the period required by law.
- Support communications are retained for 3 years after the last message, then deleted.
- Our email provider retains email delivery logs for approximately 30 days.
- 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.
- Analytics data is retained for a maximum of 25 months. Older PostHog data linked to an account, from measurement practices that have since been discontinued, is deleted by the provider when you delete your account. This process is asynchronous and not instantaneous. Cloudflare Web Analytics applies its own documented retention periods to landing page measurement.
Content prepared for offline mode can be used for ten days after it is prepared. It is deleted after the workout syncs or, when the period expires, the next time you use the app. Unsynced entries, their dates, and the information needed to recover them remain stored on the device so they can be exported, even after the sync period expires. Actual workout dates, verified by the server, are kept in your history. The date the data was received is also kept to verify syncing.
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 the legally required time frame. If the breach is likely to result in a high risk to your rights and freedoms, we will inform you without undue delay.
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 from Settings after canceling a subscription purchased on our website or in the Windows app. We delete service data unless the law requires us to retain certain information.
Right to Object
You can object to app audience measurement at any time, with no effect on the service: in the app, go to Settings > Privacy, or on my.workoutgen.app, use the opt-out link in section 10. You can contact us to object to other processing.
Right to portability
Download your data in a structured, machine-readable format to transfer it elsewhere.
Right to restriction
Request a temporary freeze on data processing during a dispute.
Right to withdraw consent
At any time, in Settings > Privacy, you can withdraw your consent to AI learning. This withdrawal does not limit any WorkoutGen feature.
Additional Rights Depending on Your Place of Residence
WorkoutGen does not sell your personal data.
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)
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 respects Global Privacy Control (GPC) and “Do Not Track” (DNT) signals: when your browser sends one, the app does not perform any analytics and does not retain campaign attribution parameters. Storage required for security, authentication, and service operation 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