Privacy Policy
Last updated: 27 October 2026
This policy explains which data WheelPower (“the app”) collects, why, and your rights. By using the app, you accept these practices.
The essentials
The short version, before the full detail below.
- We never sell your data, we run no advertising and no cross-app ad tracking (no advertising identifier).
- Your data is never shared with third parties for commercial or marketing purposes: it is only used to run the app, your AI coach and the integrations you connect.
- You can turn off usage statistics at any time, in Settings → Privacy → Analytics & Improvements → Share WheelPower Analytics.
- You can delete your account and your data, permanently, in one step from the app (Settings → Account → Delete my account) — only exceptions: a technical purchase identifier (refund fraud), a departure record without name or email kept for 12 months at most, the reason for deletion you may choose to give (not linked to your account, deleted after 12 months at most), and for at most 7 days an irreversible fingerprint of your email if your free week had started (details below).
- A question, a doubt? Write to us at contact.wheelpowerapp@gmail.com — we reply.
- Your data is hosted with Supabase, in the European Union. Some providers (Anthropic for the AI coach, Apple for payments) may process data in the United States, under standard contractual clauses.
- It stays for as long as your account exists (the daily check-in is permanently limited to the last 90 days); usage statistics, for their part, are automatically deleted after 180 days.
1. Data controller
The data controller is Gillian KOHLER CHATELAIN, sole trader (French micro-entreprise) trading as “WheelPower”, located at 10 Avenue des Romains, 74200 Thonon-les-Bains, France.
SIRET: 106 933 591 00013. Publication director: Gillian KOHLER CHATELAIN.
Contact: contact.wheelpowerapp@gmail.com — see also our legal notice.
2. Data we process
Account
Email address (and name if you provide it at sign-in). Used to create and secure your account.
Training data
Your activities (power, heart rate, cadence, speed, distance, elevation, duration, location if present), your planned sessions and your athlete and personal profile (FTP, weight, sex, max HR, goal), used among other things to estimate your basal metabolic rate and nutritional needs.
Third-party connections
You can connect WheelPower to third-party services — Strava, Wahoo, Hammerhead, WHOOP, Intervals.icu, Apple Health, Apple Calendar — to import your activities or health data, and to export your sessions to your calendar. Another service (COROS) is not available yet: access depends on an approval from the manufacturer that we do not currently hold. No data is exchanged with it for as long as the connection does not exist in the app. The data exchanged is strictly that which matches the permissions you grant at the time of linking: the scope of sharing is defined when you connect each service, and you can revoke it at any time (in WheelPower or directly with the service concerned).
Strava — what we import, what it is used for, and how to withdraw it
What we import. If you connect Strava, the app requests the read and activity:read_all scopes, and stores, for each imported activity: its name and type, its start date and time, its duration (elapsed and moving), its distance, its elevation gain, your average and maximum heart rate, your average, weighted and maximum power, your average cadence, your average and maximum speed, kilojoules and calories, and the relative effort score computed by Strava. These activities are retrieved through the official Strava API, after the OAuth authorisation (read, activity:read_all) that you grant, then synchronised automatically when Strava notifies us of a new activity. For rides recorded with a power meter, the app additionally retrieves the second-by-second streams of power, cadence and gradient; the heart-rate stream is read at display time and is not stored. No GPS track and no location coordinates are imported from Strava.
What it is used for. Solely to show you your own activities in your calendar and your analysis page, and to compute your personal metrics: training load (CTL / ATL / form), power and heart-rate zones, records, power curve and progression tracking. This data is never sold, never shared with other users and never used for advertising, and it is never sent to the AI coach or to any other artificial-intelligence provider (see “Conversations with the AI coach” below).
How long we keep it. An activity imported from Strava remains stored on our servers (Supabase, in the European Union) for as long as your Strava connection exists, so that your history and your load metrics stay consistent over time. It is erased as soon as any of the following happens: you delete the activity on Strava (the deletion is notified to us and mirrored), you disconnect Strava in the app, you revoke access from your Strava account, the connection is removed automatically (see “Automatic disconnection” below), or you delete your WheelPower account.
Withdrawing your consent. Two routes, either of which is sufficient. In the app: Settings → Integrations → Strava → Disconnect — the connection and every activity imported from your Strava account (through the Strava connection) are then erased from our servers. Or directly on Strava: strava.com → Settings → My Apps → Revoke Access — Strava notifies us of the revocation, we verify it with Strava, then we erase the connection, the activities imported from your Strava account (through the Strava connection) and the measurements attached to them (per-interval RPE, lactate). In both cases, activities coming from other sources (Intervals.icu, file import, manual entry) are left untouched: they rest on a separate consent.
Automatic disconnection. Because Strava limits the number of users an app may have, the Strava connection is removed automatically, to free up a slot, if you have not opened the app for 7 days, or if no activity has been imported 48 hours after you connected. Activities imported from Strava are then erased, as with a manual disconnection. A pseudonymised log of this disconnection (with a hashed Strava identifier, and no other activity data) is kept until your account is deleted. You are notified the next time you open the app, and you can reconnect Strava at any time.
Requesting erasure. Deleting your account (Settings → Account → Delete my account) erases your data, Strava included (only exceptions: those in § 6). You may also request erasure at contact.wheelpowerapp@gmail.com: we act on it within the time limits set by the GDPR. After you disconnect Strava (Settings → Integrations → Strava) as well as after you delete your account (final screen), a confirmation that your Strava data has been deleted is shown in the app.
Wahoo — what we import, and how to withdraw it
Connection. If you connect Wahoo, the app uses the OAuth protocol: you authenticate directly with Wahoo, and never share your password with us. The resulting access tokens are stored on our servers (Supabase, in the European Union), never on your phone.
What we import. The app imports your cycling activities as well as your strength-training sessions (“Workout” type) recorded with a Wahoo device, with their usual metrics (duration, power, heart rate, cadence, distance, elevation, depending on the activity). Once the connection is established, our servers periodically query the Wahoo API to automatically sync your new activities, with no action required from you.
AI coach. Unlike Strava, activities imported from Wahoo may be sent to our AI provider (Anthropic) when you use the Clémence coach, just like activities from Intervals.icu or a file import.
Withdrawing your consent. In the app: Settings → Integrations → Wahoo → Disconnect — your access tokens are then revoked and deleted from our servers, and automatic syncing stops. Deleting your account has the same effect.
Hammerhead (Karoo) — what we import, what we send, and how to withdraw it
Connection. If you connect your Karoo (Hammerhead), the app uses the OAuth protocol: you authenticate directly with Hammerhead, and never share your password with us. The resulting access tokens are stored on our servers (Supabase, in the European Union), never on your phone.
What we import. The app imports your cycling activities recorded on your Karoo, with their usual metrics (duration, distance, elevation gain, average and maximum power, average and maximum heart rate, cadence), computed from the activity file (FIT) we retrieve from Hammerhead. Import is automatic: Hammerhead notifies us as soon as a new ride is available and we retrieve it with no action from you; a catch-up also happens when you connect your account, and you can force a sync with the “Sync Activities” button.
What we send. At your request, you can send a planned session from WheelPower to your Karoo (“Send to Hammerhead” button): only the structure of the session (power targets, durations, repeats) is transmitted, as a standard .zwo file.
AI coach. Like Wahoo and Intervals.icu, and unlike Strava, activities imported from Hammerhead may be sent to our AI provider (Anthropic) when you use the Clémence coach.
Withdrawing your consent. In the app: Settings → Integrations → Hammerhead → Disconnect — access is then revoked at Hammerhead and your tokens are deleted from our servers, and automatic syncing stops. Deleting your account has the same effect and also revokes access at Hammerhead.
WHOOP — what is displayed, how long it lives, and how to remove it all
Connection. If you connect WHOOP, the app uses the OAuth protocol: you authenticate directly with WHOOP, never sharing your password with us, and you yourself accept on WHOOP’s screen the permissions requested: recovery, sleep, basic profile (to identify your account) and offline access. The resulting access tokens are stored on our servers (Supabase, in the European Union), never on your phone. This feature is a beta limited to 10 members.
What we read. Only, to display your Recovery page: your heart rate variability (HRV, RMSSD), your resting heart rate and your sleep (duration and stages), as calculated by WHOOP. No workout is imported, and WheelPower neither recalculates nor comments on any score. This is health data; it is displayed with the “Data by WHOOP” attribution.
How long. This data is not saved to your history. It is kept only for the time WHOOP indicates in its response (cache header), 24 hours at most, in a dedicated table on our servers, then automatically erased (swept every 10 minutes); if WHOOP allows no retention, it is displayed and then discarded. On your iPhone, this data is not stored indefinitely: it is kept for 28 days at most (encrypted by iOS), then erased automatically, and as soon as you disconnect WHOOP, switch accounts or delete your account. When WHOOP notifies us of an update to your night, the copy is erased immediately.
What never happens. WHOOP data is never sent to the AI coach (Anthropic), nor to any other third party; it appears neither in the widget, nor in the PDF export, nor in our backups, and is not used to train or improve any AI model. We neither sell nor share this data.
Withdrawing your consent. In the app: Settings → Integrations → WHOOP → Disconnect — access is then revoked at WHOOP, and your tokens and any WHOOP data still cached are deleted from our servers. Deleting your account has the same effect. You can also withdraw the authorization from your WHOOP account. WHOOP, Inc. (United States) remains responsible for its own data under its privacy policy; WheelPower is neither affiliated with nor endorsed by WHOOP.
Health data (Apple Health / HealthKit)
With your permission, the app reads from Apple Health your heart rate variability (HRV), sleep, resting heart rate, weight, body fat percentage, lean body mass, VO₂ max (maximal oxygen uptake) and your wrist temperature during sleep, to compute your fitness and recovery scores, your body composition and track your cardio progression. This data — including wrist temperature — is stored on our servers (Supabase, in the European Union) to track it over time; HRV, your resting heart rate, sleep, weight and body fat percentage, as well as wrist temperature may also be sent to our AI provider (Anthropic) only when you use the Clémence coach, to personalise its advice. Your lean body mass and VO₂ max, however, are never sent to it. WheelPower never uses this data for advertising. This is health data, a special category of data under Article 9 of the GDPR: it is processed solely on the basis of your explicit consent, which you can withdraw at any time (by disconnecting Apple Health in the app, or via iOS Settings → Privacy → Health).
The app also reads, from Apple Health, your respiratory rate during sleep. It is read only, never transmitted: it is used solely to display your Recovery page, on your phone. It is not stored on our servers, it is never sent to our AI provider (Anthropic) nor to any other recipient, and it is not used in the computation of any score.
If you choose intervals.icu as the source of your recovery data, the respiratory rate imported from intervals.icu is stored on our servers with your sleep (deleted along with your account). It is not sent to our AI provider.
With your permission, the app also reads from Apple Health your strength-training sessions and bike rides: activity type, date, duration, distance, elevation gain, power and heart rate (average and maximum), as well as the heart-rate trace of your recent rides, to display them in your calendar alongside those coming from your other sources, compute your training load and your heart-rate zones. These sessions are stored on our servers (Supabase, in the European Union) and linked to your account, and deleted along with it. When the same ride also arrives through another source you have connected (Intervals.icu, Wahoo, Hammerhead, Strava), WheelPower automatically deletes its copy imported from Apple Health so it is not counted twice. Sessions imported from Apple Health (bike rides and strength training: date, duration, distance, power, heart rate, exercises) are sent to our AI provider (Anthropic) for the Clémence coach only if you explicitly allow it in the app. You can withdraw this consent at any time in Settings › My data or Settings › Integrations › Apple Health. Without it, Clémence receives none of these sessions; only your total daily training load takes them into account. This data is not used for advertising or tracking, and is never sold. The detail of the exercises (sets, reps, load) is not provided by Apple Health and must be entered by you in the app if you want to track it. Sessions read from Apple Health follow Apple Health's rules, whichever app wrote them there: a ride that Strava wrote into Apple Health remains Apple Health data and is not deleted when you disconnect Strava.
Writing to Apple Health (strength-training sessions)
With your separate permission (granted in the iOS Health sheet, revocable at any time in iOS Settings → Privacy → Health), WheelPower writes to Apple Health the strength-training sessions recorded in the app: a “Strength Training” workout (date, time, duration) and, if a Bluetooth heart-rate strap or sensor is connected during the session, your heart rate measured during that session. WheelPower writes nothing else to Apple Health. This data stays in Apple Health on your phone, under Apple's rules; it is not deleted from Apple Health when you delete your WheelPower account (you can erase it in the Health app). It is not used for advertising or tracking, and is never sold.
HRV measured with a Bluetooth heart-rate strap
Your heart rate variability (HRV) does not come from Apple Health only: the app can also measure it itself. If you ask it to, WheelPower connects over Bluetooth to a heart-rate strap (or sensor) and reads, for the duration of the measurement only, your beat-to-beat intervals. The computation (RMSSD) is performed on your phone: the raw beats never leave it and are not kept. Only the result of the measurement and its timestamp (date, time and time-zone offset) are then stored on our servers (Supabase, in the European Union), to track your recovery over time, display it in your Analysis page and compute your daily fitness score. Like the HRV coming from Apple Health, this measurement may be sent to our AI provider (Anthropic) when you use the Clémence coach, to personalise its advice. This too is health data under Article 9 of the GDPR, processed on the basis of your explicit consent: the measurement is entirely optional and started by you, you can delete your measurements at any time, and the Bluetooth permission can be withdrawn in iOS Settings → Privacy → Bluetooth. If you record a strength-training session in the app with a connected strap, WheelPower also reads your heart rate during the session; it is stored on our servers with the session, like your other activities, and deleted with your account.
Daily check-in and subjective measures
The app offers a daily check-in and a post-session feedback form. Both are entirely optional: each can be skipped (“Skip for now”) or dismissed without being filled in, and the app remains fully usable if you never complete them. When you choose to answer, we process:
- your pain level (0 to 10 scale) and, if you indicate any, the body areas concerned (knee, back, neck, hands / wrists, Achilles tendon, calf, thigh, hip, foot, saddle / perineum);
- your muscle soreness, sleep, motivation and energy (1 to 5 scales);
- your rating of perceived exertion (RPE) after a session, your sensations, your enjoyment and an optional free-text comment, as well as, if you enter them, the RPE of each interval, the carbohydrates consumed during the session (g/h), what you drank during the session (ml/h), your weight before and after the session and your digestive discomfort (0 to 10 scale);
- your lactate measurements (concentration in mmol/L associated with a power output), if you record any.
This information is stored on our servers (Supabase, in the European Union) to compute your fitness score and track your recovery and progression over time; the daily check-in history is kept on a rolling basis for the last 90 days. It is also sent to our AI provider (Anthropic) only when you use the Clémence coach, in summarised form (for example “pain: 7/10 (Knee, Back)”), so that it can adapt its advice to how you feel that day. Just like the data from Apple Health, this is health data, a special category of data under Article 9 of the GDPR: it is processed solely on the basis of your explicit consent, which you give by filling in these questionnaires and can withdraw at any time by no longer completing them and deleting your data (Settings → Privacy, or account deletion).
Conversations with the AI coach (Clémence)
Your messages to the coach are sent to our AI provider (Anthropic) to generate personalized answers, together with the context needed for relevant advice: your athlete and personal profile (FTP, weight, max HR, age, city, rider type and level, weekly volume, daily activity level, unit system, goal), your recent activities and planned sessions — including, for your latest session, the detail of power, heart rate and cadence throughout the session —, your training load and fitness indicators, your race calendar, your training availability (time available per day, time slots), your recovery data (HRV, resting heart rate, sleep, weight, body fat percentage, wrist temperature), whether it comes from Apple Health, intervals.icu or your heart-rate strap, your daily nutrition totals as well as the carbohydrates you consumed during a session, expressed as a rate in grams per hour (never the detail of the products), what you drank during the session, in millilitres per hour, your weight before and after the session, and the subjective data described above (pain and body areas, soreness, sleep, motivation, energy, RPE, lactate, digestive discomfort, free-text comment), and for your strength-training sessions, the detail of the exercises (name, sets, reps, load). A memory summary is generated automatically by our server (via Anthropic) from your conversations with Clémence, then kept for coaching continuity until you delete your account.
Strength-training sessions. For the strength-training sessions recorded in the app, the coach also receives: the date and duration of the session, your average and maximum heart rate when a heart-rate strap was worn, the estimated training load, and the exercises performed (sets, reps, loads and durations). This information is stored on our servers like your other activities, and sent to Anthropic only when you use the Clémence coach. This applies to sessions recorded in WheelPower; a strength-training session coming from Apple Health is sent only with the explicit consent described above.
Web search (Pro subscribers). For Pro subscribers, on certain questions about training science or nutrition, Clémence may run a web search through our provider Anthropic in order to find published studies. The queries concern only your question (for example "protein and endurance"), without your profile, training, health or account data. The studies cited are verified on PubMed (NCBI), without any data about you being transmitted.
Weekly review written by Clémence. Only if you tap the button asking Clémence to write your review, on your “Your week” card, do our servers send Anthropic the already-computed figures for that week, as totals: its dates, its training duration and load, the number of sessions done, planned and missed, your freshness, your chronic fitness and its trend, your average HRV and sleep if known, and the number, duration and main types of the sessions planned for the following week. Nothing else: no details of any session, none of your messages, not your name, none of your Strava activities (not even how many), none of your WHOOP data. Without the explicit Apple Health consent described above, your sleep (whatever its source) and the HRV coming from Apple Health are removed from what is sent; the HRV measured with your heart-rate strap or coming from intervals.icu remains included, as in your conversations with Clémence. Without that tap, nothing is sent to Anthropic for your review. The written text is kept on our servers (Supabase, in the European Union), linked to your account, together with a fingerprint of these figures, so that it can be shown to you again without a new AI call as long as they do not change; it is automatically erased after 60 days at most, and immediately if you delete your account.
Planning your next week (Pro subscribers). When you tap the button that plans your next week from your review, our servers place the following week in your calendar, or lighten the sessions already suggested by Clémence if your review shows fatigue or missed sessions, based on that review, your profile (FTP, training hours, time available per day, age) and the sessions already planned. No AI is involved: nothing is sent to Anthropic for this. So that the same week is never adjusted twice, we keep a record (your account and the week concerned), automatically erased after 60 days, and immediately if you delete your account.
Discovery week. If you are not a Pro subscriber and you ask Clémence for a plan or a week while your calendar does not contain any session yet, she may offer you a discovery week, only once per account. To do so, our servers check that your calendar is empty, then keep a record of this offer (your account and its date) for as long as your account exists; it is erased along with it.
Clémence's charts. When Clémence shows a chart in the conversation (for example your form and fatigue, your sleep or your HRV), our servers compute it from your own data, without any Strava activity; its values are never sent to Anthropic, and your sleep and HRV only appear in it with the explicit Apple Health consent described above. The chart is kept with the message in your conversation history, and erased with it or with your account.
Technical log. To measure the cost of the service and protect you against abuse, for each call to the coach we record a truncated identifier and the number of tokens used — never the content of your messages. This log is automatically erased after 30 days.
Automatic quality check. After each reply, our servers automatically check its quality (language, cut-off reply, error, refusal, repetition or frustration). For some exchanges, a short call to Anthropic, the same provider, confirms this check. No one reads your conversations and no text is kept: we only store codes from a closed list, the language and a non-reversible conversation identifier, linked to your account, deleted when you delete your account and automatically after 90 days.
Strava exception — no Strava activity data is ever sent to the AI coach. Activities imported from Strava are excluded from everything transmitted to Anthropic: neither the activity itself, nor its name, nor its values, nor any metric derived from it (training load, records, power curve) reaches the coach, and you cannot attach a Strava activity to a message either. This exclusion is enforced twice and independently: inside the app, before the context is sent to the coach, and again on our servers when the coach queries the database — only activities coming from Intervals.icu, from Wahoo, from Hammerhead or from a file import are available to it. Consequently, this data can neither be used to generate a coach reply nor to train an artificial-intelligence model. If your only activities come from Strava, the app tells you so explicitly and the coach has nothing to analyse. This exclusion also covers the measurements you enter yourself: a rate of perceived exertion (RPE) or a lactate value attached to a step of a Strava ride is discarded along with it, and is never sent to the coach. The measurements you record outside a Strava activity do remain available to it.
Strength training
If you log strength-training sessions — imported from Intervals.icu, Wahoo, a file import, or from Apple Health — the detail of each exercise you enter yourself (exercise name, number of sets, reps, load) is stored on our servers (Supabase, in the European Union) to display it in your calendar and count it towards your training load. The Clémence coach can also suggest and save a structured strength-training session directly (exercises, sets, reps, load) at your request: this detail is stored the same way, on the same servers, and deleted along with your account. As with your other sessions, this detail may be sent to our AI provider (Anthropic) when you use the Clémence coach, which may factor it in as a fatigue factor in its advice. Sessions imported from Strava or from Apple Health are the exception: they are not sent. Strength-training sessions imported from Strava are excluded from this transmission, just like the rest of your Strava data. The detail of your exercises is deleted along with your account.
Technical data
Information strictly necessary for operation (technical identifiers, error logs), as well as your push notification token (APNs) and the app language, so we can send you notifications in your language. This token is also used, very rarely, to send a service alert to all devices (major bug, required update) — never advertising. You can turn notifications off at any time in your iPhone settings. WheelPower uses no advertising tracking and no advertising identifier (IDFA).
Inactivity reminders
If nothing is planned or imported in your calendar, the app may schedule on your iPhone one reminder after one day, then another after three days. Our servers may also send you a reminder notification if you have not opened the app for 7 days, only one per period of inactivity: to do so, they read the date you last opened the app. Some accounts (10%) deliberately receive none of these server reminders: this control group is used solely to check that they are useful. Each server reminder, whether sent or not (control account, setting turned off, delivery failure), is noted in a log linked to your account (start of the period of inactivity, date and outcome, as a code), with no text. These inactivity reminders can be turned off at any time in Settings → Notifications → Reminders (on by default): turning it off stops both the reminders scheduled on your iPhone and the reminders from our servers. This choice is stored on our servers (Supabase, in the European Union), linked to your account, so that they respect it. The log is automatically erased after 180 days; the setting and the log are erased along with your account.
Analytics & Improvements
To identify where the app is hard to use (a screen that blocks you, a recurring error), we record usage statistics: opening the app, onboarding steps, attempting to connect a third-party service, including from sign-up or the calendar (success or failure, with a generic error code), sending a message to coach Clémence, viewing a Pro offer, subscribing to Pro and which plan was chosen (monthly or annual), attempting to subscribe (tapping the purchase button, with the plan chosen), the screen the offer was opened from and the reason it was shown (for example, the free coach limit being reached) — these are values from a closed list, never the amount or the transaction identifier —, planning a workout, starting a trial (plan chosen and what triggered the offer: your first week planned, the free coach limit reached, or other), the number of Pro presentation pages viewed before closing it and the last page viewed, your answer to Clémence's welcome card (accepted or declined), a discovery week being set up and where it came from (sign-up, empty calendar, welcome card or Clémence's reply), Clémence writing your weekly review and its outcome (written, already written, usual text kept, or nothing to say), tapping the button that plans your next week (subscriber or not, and its outcome), tapping the action offered in a still-empty section of the Analysis page (and which one), showing a daily session computed from your profile alone (in the calendar or as a notification), showing the App Store rating request, a chart shown or tapped in the conversation with Clémence, with its type (for example “form and fatigue”) — again, only values from a closed list —, the time spent on each screen and the path followed within the app during a usage session. In the event of a crash or abnormal slowdown, we also record your device model together with the iOS and app versions, to identify and fix the issue. Each event is limited to a closed name and code (for example "Strava connection: network error"): never free text, never the content of a coach message, never your email address, and never health, power, or heart-rate data. These events are linked to your account identifier in our database — needed to avoid duplicates —, in pseudonymised form, but are only used for aggregate statistics, never displayed or reviewable individually, never shared with a third party, never sold, never used for advertising. They are kept for 180 days then automatically deleted, and erased immediately if you delete your account. You can turn this off at any time in Settings → Privacy → Analytics & Improvements → Share WheelPower Analytics; this setting is on by default, like the equivalent iPhone setting, and turning it off takes effect immediately.
Food search, barcode scanning and camera
To help you log a food item, the app queries Open Food Facts, a cooperative and open nutrition database (ODbL licence), in two ways: by scanning a product's barcode, or by searching for a product by name. In the first case only the barcode read is sent; in the second, only the text you type along with the app's language. The product photos shown in the results and in your log are downloaded from Open Food Facts servers. No personal data and no information linked to your account is transmitted: neither a product's barcode nor a search term is personal data. The returned values are indicative and editable.
The camera serves two purposes. For barcode scanning, no image leaves your phone: only the barcode is sent to Open Food Facts. For photo-based nutrition estimation, the photo you take (or pick from your library) is sent to our servers and then to Anthropic, which analyses it to derive indicative nutritional values; it is neither stored nor used to train a model, and is discarded after the analysis. Both features are optional: you can decline camera access and enter the food manually, and manage this permission at any time in iOS Settings → Privacy → Camera.
Location and weather
If you allow it, the app uses your approximate location to show the weather where you ride (temperature, wind) and to adapt your hydration target to the day's temperature. The coordinates — or, failing that, the city name set in your profile — are sent to the third-party service Open-Meteo, which returns the matching weather data. No identifier and no information linked to your account accompanies this request, and your location is neither stored on our servers nor kept in any history. Location is optional: you can decline it (the app then uses your profile city, or shows no weather) and manage this permission at any time in iOS Settings → Privacy → Location Services.
Nutrition and personal profile
Your goal, your activity level, your dietary preference, your height, your age, the detail of your food diary and your personal food library are stored on our servers (Supabase, in the European Union), so that you find them again on your other devices and in our other apps if you use them with the same account. The Clémence coach does not receive this detail: only your daily totals (calories, carbs, protein, fat, fibre) are sent to it and, for a session, the carbohydrates expressed as a rate in grams per hour. All of it is erased along with your account.
Instagram: messages sent when you comment a keyword
When you comment the keyword shown under a @wheelpowerapp post, WheelPower sends you a single Instagram private message, through Meta's official API, with the content promised. To do this, we process the comment ID and an irreversible (salted) fingerprint of your Instagram ID, so that only one message is sent per person and per post. Neither the text of your comment nor your username is stored. This data is kept for 30 days, then deleted automatically; it is hosted by Supabase, in the European Union. Legal basis: your request (you comment the keyword to receive the message). To object, simply do not comment the keyword; to request erasure, write to contact.wheelpowerapp@gmail.com. Meta (Instagram) also processes this data under its own privacy policy.
3. Purposes & legal basis
- Provide the service (analysis, coaching, planning) — performance of the contract.
- Read your health data from Apple Health, and write your strength-training sessions to it — your explicit consent (Art. 9(2)(a) GDPR), revocable in iOS Settings.
- Process your daily check-in and subjective measures (pain and body areas, soreness, sleep, motivation, energy, RPE, lactate, digestive discomfort) to compute your fitness score and personalise coaching — your explicit consent (Art. 9(2)(a) GDPR), given by filling in these optional questionnaires and revocable at any time.
- Send this health data to the AI coach when you use it — your explicit consent, using the coach constituting a request to process it.
- Write your weekly review with Clémence, only when you tap the dedicated button — performance of the contract; for the health data it contains (HRV, sleep), your explicit consent, that tap constituting a request to process it.
- Keeping the record of planning your next week, so that the same week is never adjusted twice — performance of the contract; keeping the record of the discovery week, so that it is offered only once per account — our legitimate interest (GDPR art. 6.1.f).
- Display your HRV, resting heart rate and sleep from WHOOP if you connect your WHOOP account — your explicit consent (Art. 9(2)(a) GDPR), given on WHOOP’s authorization screen and revocable at any time (Settings → Integrations → WHOOP → Disconnect). This data is not sent to the AI coach.
- Manage your subscription — performance of the contract.
- Preventing circumvention of the free message quota: when you delete your account mid-week, we keep for at most 7 days an irreversible SHA-256 fingerprint of your email address, with a counter and a date — legitimate interest (Art. 6.1(f)).
- Tracking AI load and the number of lost subscriptions, and detecting an Apple subscription that continues although the account no longer exists: when you delete your account, we keep for 12 months at most a departure record containing neither your name nor your email: apps used, subscribed or not, plan, auto-renewal and end of the subscription period (to the day), coach cost and number of messages over the last 30 days, month the account was created, week of last opening. The partial account identifier in it is erased after 7 days. It is read only by the publisher, is passed to no one and is used for no advertising — legitimate interest (Art. 6.1(f)). You can object by writing to contact.wheelpowerapp@gmail.com.
- Understanding why accounts are deleted, in order to improve the app, from the reason you may choose to give when deleting your account (optional, not linked to your account, deleted after 12 months at most; see § 6) — legitimate interest (Art. 6.1(f)).
- Measure app usage to identify friction points (analytics & improvements) — our legitimate interest (GDPR art. 6.1.f) in improving the service, balanced against your privacy: strict minimisation (closed codes, no free text), no advertising tracking, retention capped at 180 days, and a setting to opt out at any time (Settings → Privacy → Analytics & Improvements → Share WheelPower Analytics).
- Send you inactivity reminders, when nothing is planned or imported in your calendar or when you have not opened the app for 7 days, by reading the date you last opened it, and check their usefulness through a control group of 10% of accounts that receives no reminder from our servers — our legitimate interest (GDPR art. 6.1.f), balanced against your privacy: only one server reminder per period of inactivity, no text kept, and a setting to opt out at any time (Settings → Notifications → Reminders).
- Sending the Instagram private message promised when you comment a keyword (“Instagram messages on request”) — your request: you comment the keyword to receive it.
- Automatically check the quality of the coach's replies in order to improve it — our legitimate interest (GDPR art. 6.1.f), balanced against your privacy: no human reading, no text kept, closed codes, 90 days. You can object at any time by writing to contact.wheelpowerapp@gmail.com.
4. Recipients & processors
- Supabase — hosting and database (processor; it also hosts, for the time described in § 2, the temporary copy of WHOOP data and your WHOOP tokens).
- Anthropic — processing of AI coach conversations, of the training and recovery data submitted to it (HRV — whether it comes from Apple Health or from your Bluetooth heart-rate strap —, resting heart rate, sleep, weight, body fat percentage, wrist temperature during sleep, as well as your daily check-in and subjective measures: pain and body areas, soreness, sleep, motivation, energy, RPE, lactate, digestive discomfort, free-text comment; your respiratory rate during sleep, your lean body mass and your VO₂ max, however, are never sent to it), of food photos sent for nutritional estimation (no retention, no model training), and of your week's figures when you ask Clémence to write your weekly review (see § 2). Activities imported from Strava are excluded from everything transmitted to Anthropic.
- Connected services (Strava, Wahoo, Hammerhead, WHOOP, Intervals.icu, Apple Health, Apple Calendar) — only if you connect them, and according to the permissions granted at linking.
- Bluetooth heart-rate strap / sensor — a device you own, paired directly with your phone: it provides the measurement and receives no data from you. No third party is involved in that link.
- Apple — payments and subscription management, and delivery of push notifications (APNs). Apple also sends us App Store notifications about your subscription (renewal, expiration, refund), together with the associated Apple transaction identifiers; in the event of a refund, the transaction identifier is retained for fraud-prevention purposes, separately from your account, even after your account is deleted.
- Open Food Facts — open nutrition database (ODbL), queried when you scan a barcode or search a food by name, and which provides the product photos; no personal data is transmitted to it.
- Meta (Instagram) — delivery, through Meta's official API, of the Instagram private message you receive when you comment a keyword under a @wheelpowerapp post; Meta also processes this data under its own privacy policy.
- Open-Meteo — open weather service, queried to show the weather for your ride and adapt your hydration target; receives an approximate location or a city name, with no identifier or account data.
We never sell your data.
5. Transfers outside the EU
Some providers (e.g. Anthropic, Apple) may process data in the United States. These transfers are governed by appropriate safeguards (standard contractual clauses).
6. Retention
Your data is kept as long as your account is active. You can delete your account at any time from the app (Settings → Account → Delete my account): all your data (activities, sessions, health, daily check-in and subjective measures, conversations, profile, account) — including the AI coach's memory (coaching summary) — is then erased. Only exceptions: the fingerprint described in §3, deleted at the end of the current free week (7 days max), the technical purchase identifier, the departure record described in §3, deleted automatically after 12 months, and the reason for deletion described below, if you choose to give one. Deleting your account in the app does not cancel your Apple subscription: cancel it in iOS Settings → Subscriptions. You can object to this fingerprint by writing to us at contact.wheelpowerapp@gmail.com; it is used for nothing else. If you signed in with Apple, your Sign in with Apple authorization is also revoked with Apple at that time. In addition, the daily check-in history is permanently limited to the last 90 days: older entries are deleted automatically. For the data linked to the Instagram messages described in § 2, there is nothing to delete in the app: it is erased automatically after 30 days, or sooner on simple request to contact.wheelpowerapp@gmail.com.
Reason for deletion. When you delete your account, you can, if you wish, tell us why (a choice from a list and, optionally, a short comment). This reason is recorded without your identifier, without your email address, without the app version and without a precise date (only the month): it is not linked to your account. Email addresses, web links, @usernames and long strings of digits (such as a phone number) are automatically removed from the comment. This reason is used solely to improve the app (legitimate interest) and it is deleted after 12 months at most.
Local copy for offline use. So that your Analysis page stays readable without a network connection, the app keeps on your phone a copy of the recovery data it has already downloaded (HRV, sleep, resting heart rate) as well as training data it has already downloaded (power, records, zones), for immediate display. This copy never leaves the device, is never shared with anyone, and is erased automatically when you sign out, when you switch accounts, when you disconnect Apple Health (for the data coming from it) or when you delete the app.
WHOOP data. Data received from WHOOP (HRV, resting heart rate, sleep) is kept only for the time WHOOP indicates, 24 hours at most, then automatically erased; it is not included in our backups. Your WHOOP tokens are kept for as long as WHOOP is connected, and deleted when you disconnect or delete your account (with access revoked at WHOOP).
Resuming the coach's replies. Each reply from the AI coach is kept on our servers for 24 hours at most, so that it can be resent to you if your connection drops while it is being written, then it is erased automatically.
Usage statistics (see § 2 "Analytics & Improvements") are kept for 180 days then automatically deleted, and erased immediately when you delete your account.
The coach quality-check codes (see § 2) are kept for 90 days then deleted automatically, and erased immediately when you delete your account.
The weekly review written by Clémence and the record kept when your next week is planned (see § 2) are kept for 60 days at most then deleted automatically, and erased immediately when you delete your account. The record of the discovery week and your reminders setting (see § 2) are kept for as long as your account exists, and erased along with it. The inactivity reminders log is kept for 180 days at most then deleted automatically, and erased immediately when you delete your account.
Activities imported from Strava additionally follow the specific rules described in § 2 (“Strava — what we import, what it is used for, and how to withdraw it”): they are erased from our servers as soon as you disconnect Strava, as soon as you revoke access from your Strava account, as soon as the automatic disconnection occurs, or as soon as the activity is deleted on Strava — without waiting for your account to be deleted.
7. Your rights (GDPR)
You have the rights of access, rectification, erasure, portability, restriction and objection. You can exercise them directly in the app (export and deletion in Settings → Privacy) or by writing to contact.wheelpowerapp@gmail.com. You may also lodge a complaint with your local data protection authority (in France, the CNIL — cnil.fr).
8. Security
Communications are encrypted (HTTPS) and access to data is restricted. No system is infallible, but we implement reasonable measures to protect your information. To block fraudulent sign-in attempts, the IP address of a failed sign-in attempt is kept temporarily (24 hours at most), then deleted automatically. To limit spam, the IP address of a contact-form submission is only held in memory for a few minutes and is never stored. This processing is used solely for security purposes (legitimate interest).
9. Minors
The app is intended for people aged 16 and over: sign-up is refused below that age. If you are the parent or guardian of someone under 16 who uses the app, write to us at contact.wheelpowerapp@gmail.com: their account and data will be deleted.
10. Changes
This policy may evolve. The date at the top of the page indicates the latest update.
