Legal

Privacy Policy

Last updated: 9 October 2026

Overview

Fitnessage ("we", "our", "us") provides separate member, trainer, and gym-owner applications for fitness assessments, workout and nutrition planning, coaching, gym operations, and community challenges. The member app also includes an optional voice workout coach, optional heart-rate features (Bluetooth heart-rate straps, Apple Health, Health Connect) and optional companion apps for Apple Watch and Wear OS watches such as Samsung Galaxy Watch. This policy explains what each app collects, why it is used, who can access it, and how to exercise your privacy rights.

Data we collect

  • Account and profile data: name, email address, hashed password, authentication tokens, age, sex, height, weight, goals, the reason you give for a goal, preferences, selected gym, trainer or owner role, and push-notification token.
  • Sign in with Apple or Google: if you use one of these options, we receive a verified identifier for your Apple or Google account, the email address the provider shares (with Apple this can be a private relay address), and your name if the provider supplies it. We use them only to sign you in and link that sign-in to your Fitnessage account. We never receive your Apple or Google password.
  • Health and fitness data: injuries, health conditions, allergies, body measurements, body-fat estimates, fitness assessments, biological-age-style wellness estimates, strength calibration, workouts, cardio sessions, meals, hydration, progress history, and the heart-rate summaries described below.
  • Content and interactions: challenge and head-to-head entries, display names, comments and messages, trainer notes, plans, recommendations, bookings, availability, package descriptions and rates, gym suggestions, product descriptions, branding, and facility, equipment, or floor-plan information.
  • Photos and camera: gym owners may upload branding, product, equipment, or floor-plan images. Trainers may upload an image or a short video clip (up to 50 MB) that they choose from their photo library for a custom exercise they create for a client; we store it with that exercise and show it to that client in their workout guide. Member body-scan and camera-assessment images are processed on the device and are not uploaded; only derived measurements or test results are sent when you save them. The member app from the App Store and Google Play does not upload photos. On the website, when you ask to identify gym equipment from a photo, that photo is sent to Google for analysis as described in "AI features" below. We do not store it.
  • Voice-logged workout records: when you confirm a set by voice, we save the set like a manual entry, plus how it was logged (voice or manual), a confidence level, whether you confirmed or corrected it, your language setting and phone platform. We do not save audio or the words you said.
  • Purchases: for Premium subscriptions bought through Apple or Google Play, we receive and store the product, status, renewal and expiry dates, and the store transaction identifiers needed to confirm access. When an enabled physical-goods or real-world-service flow is used, we process order contents, fulfilment status, delivery/contact information, purchase history, and a payment-provider identifier. We never receive or store a full payment-card number.
  • Usage and technical data: app interactions, app version, operating system, randomly generated analytics identifier, request/error information, security logs, and the screen-analytics and session-replay data described under "Screen analytics and session replay" below. We do not use advertising SDKs or sell behavioural profiles.
  • Country and location: when you create an account, in the member or trainer app or on our website, we record the country of your internet connection, which is worked out from its IP address, and we can check the country of your current connection when a feature's price or access depends on your region. We use it for regional pricing and access and for aggregate analytics. If you enter a postcode to check whether ready-meal delivery reaches you, we use it for that check and, where we do not deliver yet, keep it with your account to measure demand. We do not track your location. The one exception is gym check-in: if a trainer you work with turns it on for remote coaching, the member app asks your permission to read your phone's location while you log a set. Your phone compares it with your gym's location, and we save only whether you were at your gym and roughly how far away, never where you were. If you tap "Set my gym here", we save that spot as your gym's location. You can say no: your sets still save and are shown as not checked.
  • Reports: when you report content, a person or an AI reply, we store the report with your account ID, the reason you chose, what you reported and any details included with it, so our team can review it. See "Voice coach" for reported Coach replies.

Voice coach (Coach)

  • Starting and listening: Coach only runs after you start it during a workout. It starts in "Hey Coach" standby. While Coach is on, the microphone stays on and speech near your phone is turned into text on the device so Coach can notice "Hey Coach" or a short workout command. Tapping Coach while it is running opens a short listening window without the wake phrase. After a short quiet period Coach returns to standby. Tap Stop at any time; the microphone turns off when Coach stops or the workout ends.
  • Changes need your confirmation: Coach can accept a short workout command, such as a set entry, without "Hey Coach". It never saves or changes anything straight away. It reads the change back and waits for your confirmation: a spoken "yes" or a tap on Confirm. If you say no, or do not answer, nothing changes.
  • Speech recognition: in the Fitnessage apps from the App Store and Google Play, speech is recognised on your phone only. On iPhone, Coach uses Apple's on-device speech recognition; on Android, your phone's on-device speech recognition, which needs Android 13 or later. Talk audio from your watch is recognised the same way on your phone. Coach never sends your audio to a speech service. If your phone cannot recognise speech on the device, Coach does not start, sends nothing and tells you why; you can still log your workout on screen. If your phone cannot recognise your language on the device, Coach stops without sending your audio anywhere and tells you how to add the offline language (where the phone supports it, Coach asks it to download that language). The same applies while Coach is in standby.
  • No recordings: Fitnessage does not store or upload audio recordings of your voice. Our servers do not keep the text of your Coach requests or of Coach's replies, and none of it is added to your workout history. The one exception is a reply you report: if you tap Report under a Coach reply, we store the text of that reply (up to 900 characters) with your report, the reason you chose and your account ID, so our team can review it. A reply can include workout numbers such as your sets or heart rate. We keep the report until you delete your account; your own words and audio are never included in it. Separately, if you accepted Coach's AI notice, a command your phone could not understand is added to an anonymous list of phrases (described below) with nothing that identifies you, and each entry is deleted after 90 days.
  • Use without AI (phone only): you can choose this in Coach's AI notice or in Coach settings at any time. Commands are understood on your phone, Coach speaks with your phone's own voice, and no AI provider receives what you say. A set you confirm is saved to your workout history like any manual entry. If you ask Coach to find or swap an exercise, the search words are sent to our servers to search the exercise library, the same as a typed search.
  • Coach AI notice (AI help): the first time you use Coach, the app shows one notice that Coach uses AI to understand commands it does not recognise, naming the one AI provider it uses, TypeSafe (Jev), with two choices: Accept and start, or Use without AI. Nothing is pre-selected and Coach works either way; with Use without AI you give up AI help with commands your phone does not understand. If you accept, when Coach cannot understand a command on your phone, the app sends the text of that command (never audio) and which step of the workout Coach is at to our servers, which ask TypeSafe what you meant. What TypeSafe receives is listed under "AI features" below. Your choice is recorded with your account, with the notice version and the time, so our servers ask TypeSafe only for members who accepted the current notice. AI help has a daily limit per member; past it, Coach uses phone commands only until the next day. Coach still speaks with your phone's own voice. You can change your choice in Coach settings at any time, which stops new requests. Your phone asks for microphone and speech permission separately, after the notice.
  • Anonymous list of phrases Coach did not understand: for members who accepted the AI notice, when a command reaches our servers we keep the phrase in lower case without punctuation (at most 80 characters, numbers kept), which step of the workout Coach was at and what TypeSafe decided, without your name, email address, account ID, device ID or gym. We use the list to teach the app new phrases so they are understood on the phone, and delete each entry after 90 days. Avoid saying personal details to Coach.
  • No Google AI in Coach: in the Fitnessage apps from the App Store and Google Play, Coach sends nothing to Google Gemini, has no AI voice and cannot identify equipment from a photo.
  • Phrases learned on your phone: when you repeatedly approve the same way of logging a set that AI help worked out, the app can save a wording template on your phone so it can understand that phrase on the phone next time. Numbers are replaced by placeholders. Templates stay on the phone, are not shared with other members, expire after 90 days without renewal, and can be turned off or cleared in Coach settings. This does not remove your saved workout history.
  • Free days and Premium: Voice Coach is free for 14 days from your first Coach session, then it is part of Fitnessage Premium (see the Terms of Service). To count your free days we use the date of your first Coach session (the first time you start Coach), which we record once and keep until you delete your account. We also check whether you have an active Premium subscription.
  • Running in the background: while Coach is on it keeps working when your screen is locked or you switch apps, so it can hear "Hey Coach" and speak to you. On Android, a "Fitnessage Coach is on" notification with a Stop button stays visible the whole time. On iPhone, Coach uses background audio and the system microphone indicator shows. Coach turns itself off after a long period without activity, and on Android also when you swipe the app away.
  • How you feel, and where you train today: Coach never asks, but if you tell it ("I'm tired", "my legs are sore", "I've got a cold", "I'm better now"), we save a short note of what it understood with your account (for example tired, sore legs or a cold), not your words or audio, so today's suggested session can be lighter or shorter. A note about tiredness or soreness is used for about 24 hours; a note that you are unwell for 3 to 7 days, or until you say you are better. Expired notes are no longer used and are removed the next time a note is saved, or when you delete your account. They are not shared with your coach, your gym or any AI provider. Coach does not diagnose illness and is not medical advice. Your answers in the optional end-of-workout check-in (energy, soreness, pain) are also used to keep your next session lighter when needed. Where you say you are training today (for example at home, a hotel gym or with just dumbbells) stays on your phone for that day and is sent with your session request; it does not change your saved training place.

Heart rate, wearables and watch apps

  • Sources you choose: with your permission, the member app can read heart rate from (1) a Bluetooth heart-rate strap or watch that broadcasts heart rate, (2) Apple Health on iPhone, (3) Health Connect on Android, and (4) the Fitnessage watch apps. Each source is optional and manual workout logging always works without it.
  • Bluetooth: the app only reads the standard heart-rate data from the device you pick. It remembers that device on your phone so it can reconnect. On Android, Bluetooth scanning is declared as not used for location, and heart-rate pairing never reads your location.
  • Apple Health: the iPhone app only reads. It reads heart-rate samples and, if you connect your watch or health app, sleep analysis, resting heart rate and heart rate variability (SDNN). It does not write to Apple Health. The Apple Watch app asks for permission to read heart rate and to save workouts, because Apple Watch only runs a workout session, which keeps the heart-rate sensor on, for an app allowed to save workouts. When you stop, the watch app discards that workout, so Fitnessage does not save a workout to Apple Health. As with any workout on Apple Watch, Apple Health may keep the heart-rate readings the watch measured during the session as its own records.
  • Health Connect: the Android app only reads, and only while the app is open: heart-rate records from around your workouts and, if you connect your watch or health app, sleep sessions, resting heart rate and heart rate variability. It does not write or delete Health Connect data, and it does not ask for background or older-history access. Readings from Health Connect may arrive late, so they are never treated as live heart rate.
  • Watch apps: the Fitnessage apps for Apple Watch and for Wear OS watches (such as Samsung Galaxy Watch) show your current workout, which your phone sends to the watch: the exercise, set and target, your last set, what comes next, the rest timer, heart-rate zones based on the maximum heart rate you entered, and Coach's status, what Coach heard and Coach's replies. During a workout you start, the watch reads your heart rate and sends it to your phone. Watch buttons such as Set done, +30 s, Skip rest and End send that press to your phone, which acts on it like the same button in the phone app.
  • Talk on the watch: the watch microphone records only after you tap Talk, for up to 12 seconds. The watch sends that audio to your phone, where it is recognised the same way as speech from the phone microphone, and keeps no copy. Fitnessage does not store the audio. Instead of Talk, you can use the watch's own dictation or text input at any time while Coach is on: the Dictate to Coach button on Apple Watch, or pressing and holding Talk on a Wear OS watch. The watch also switches to it, or offers it, when audio cannot be recorded or sent. Watch dictation uses Apple, Samsung or Google speech services under their own terms; the watch then sends only the resulting text to your phone.
  • Watch connection: the watch and phone exchange this information over the watch platform's own connection (Apple's WatchConnectivity or Google's Wear OS Data Layer). The watch apps do not send data to Fitnessage's servers directly.
  • How heart rate is used on your phone: to show live heart rate and zones during a workout. Zones are based on the maximum heart rate you enter. Your entered maximum, the highest reading seen, and past cardio sessions with their average heart rate are kept on your phone only. Cardio sets saved to your account contain time, distance, speed and effort, not heart rate.
  • Live heart rate and Coach: the Fitnessage apps from the App Store and Google Play send no heart-rate data to AI providers. If you accepted Coach's AI notice, during a coached cardio session, a request Coach sends to our servers can also carry your current heart rate from a strap or watch app, whether it is below, in or above your target zone, the sensor type and how old the reading is; our servers do not store it and do not send it to TypeSafe. Heart-rate data read from Apple Health or Health Connect is never sent to AI providers.
  • Daily recovery summary: when you connect your watch or health app (one tap, once), your phone compares last night's sleep, your resting heart rate and your heart rate variability with your own usual values from the previous four weeks and works out a recovery level: good, normal or low. This is done on your phone; the individual readings are never uploaded. Only the summary is saved to your account: the level, hours slept, how many beats per minute your resting heart rate is above or below your usual, how many percent your heart rate variability is above or below your usual, the source (Apple Health or Health Connect) and when it was worked out. The phone sends it at most a few times a day, while the app is open. Each summary expires after 36 hours and is used only to suggest how hard today's workout should be and to show you your recovery. It is not a medical assessment and is not used to change your Fitness Age. Disconnecting in Devices & health deletes the saved summary straight away.
  • Workout heart-rate summaries: only if you turn on wearable-data consent in the app, and the feature is available for your account, the phone uploads a summary after a workout of at least five minutes: the source (Apple Health or Health Connect), start and end time, lowest, average and highest heart rate, the number of readings and how much of the workout they cover. Individual readings are not uploaded. Summaries are used in your progress views and are not used to change your Fitness Age. They are kept until you delete your account or ask us to delete them. Turning consent off stops new uploads.
  • Health Connect: Fitnessage's use of information received from Health Connect will adhere to the Health Connect Permissions policy, including the Limited Use requirements. We use it only to provide the heart-rate and recovery features you can see in the app. We do not sell it, use it for advertising, or transfer it to data brokers or information resellers, and people at Fitnessage do not read it except with your permission, for security, or to comply with the law.
  • Apple Health and other health data: we do not use data from Apple Health, Health Connect, Bluetooth devices or the watch apps for advertising or marketing, do not sell it, and do not share it with third parties except the service providers described in this policy, with your permission.
  • Your controls: you can disconnect your watch or health app in Devices & health (this stops reading and deletes the saved recovery summary; on Android it also removes Fitnessage's Health Connect access when the app next closes), remove Apple Health or Health Connect access in your phone's settings, disconnect a Bluetooth device in the app, remove a watch app from your watch, and turn off wearable-data consent in the app.

AI features

  • Google Gemini powers AI plan generation, food descriptions, injury research and, on the website and in the gym-owner app, identifying gym equipment from photos and video frames. It receives only what a request needs. We do not intentionally send passwords, payment-card data, audio recordings, your name, email address or account ID in these requests.
  • The voice coach in the Fitnessage apps from the App Store and Google Play does not use Google Gemini: nothing Coach hears or says is sent to Google, Coach speaks only with your phone's own voice, and the member app cannot identify equipment from a photo. The only AI provider Coach can use is TypeSafe (Jev), and only after you accept Coach's AI notice.
  • TypeSafe (Jev) in Coach: if you accepted Coach's AI notice, TypeSafe's Jev service helps decide what you meant. It receives the text Coach heard (never a recording), only for a command your phone could not understand, in lower case without punctuation, with which step of the workout Coach is at (for example, waiting for your yes) and the short list of commands possible at that step. For spoken exercise searches it receives your search words, the exercise you are on and a short list of matching exercises from our library, with short descriptions. Jev returns choices, such as which command you meant. It does not write replies and does not receive audio, your workout details, your heart rate, your name, email address or account ID. So that the same phrase is not sent again, our servers keep Jev's answer for an identical phrase at the same step for up to 30 days, without anything that identifies you.
  • TypeSafe (Jev) in other features: Jev is also used for the features below, whether or not you use the voice coach. Jev is asked to choose between options that we supply, such as matching injuries, foods or exercises from our own library; our code checks its answer, and if Jev is unsure or unavailable the feature works without it. Each feature sends Jev only the text it needs. Injury matching: the injury wording you type, the body area you picked and up to eight similar injuries from our library. Adapting your plan for an injury: the injury name, body area, side and severity, your training experience and the names of the exercises in your plan and of possible replacements. Plan routing (workout and meal plans): your goal, instructions you add to the request, your health conditions and active injuries and, for meal plans, your dietary preference, allergies and disliked foods. Goal type: your goal text, health conditions, active injuries and training experience. Food matching: the foods and portions you describe and matching foods from our catalogue. Gym equipment: a note you type about a piece of equipment, your gym's equipment names, the equipment name identified from your photo with your goal, training experience, active injuries and exercise names from our library, and equipment names from a gym equipment photo, video or typed list that our catalogue could not match. Jev never receives photos, videos, audio, injury notes, your name, email address or account ID.
  • Equipment photos: on the website, when you ask to identify gym equipment, you choose a photo and it is sent to Google Gemini together with your gym's equipment list and the training context used for AI plans (for example your goal, experience, and relevant injuries or conditions). We do not store the photo. We keep a record of the equipment identified and how confident the match was. Equipment photos a gym owner adds to the gym's map, and frames from a gym owner's equipment walkthrough video, are also sent to Google Gemini to name the equipment.
  • Test versions: pre-release test versions of the member app, used only by our team and invited testers and not available in the App Store or Google Play, also offer an AI-assisted Coach mode that uses Google Gemini. It asks the tester for permission first and names Google and TypeSafe. It can then send Google the text Coach heard, up to the last 12 turns of the Coach conversation, workout details and recent sets, the saved goal and the reason given for it, training experience, whether the tester is an adult, a yes/no flag for a recorded health condition or injury and, during coached cardio, live heart rate, and it can identify equipment from a photo. As an option there, if you choose AI voice, the text Coach will say is sent to Google to create the spoken audio; Phone voice uses your device's built-in speech instead. When a test phone cannot recognise speech on the device, a test version can use the phone's own speech service (such as Apple's or Google's) instead of stopping.
  • Retention by AI providers: Google processes requests as our service provider under its API terms, which allow it to keep requests for a limited period to detect abuse. TypeSafe processes requests to return a decision to us, under its agreement with us. AI output can be wrong; Coach always reads back changes and needs your confirmation before saving them.

Screen analytics and session replay

  • Fitnessage apps: the member, trainer and gym-owner apps record how the app is used so we can find and fix problems and improve the apps. This includes the names of the screens you open, where you tap, when the app opens and closes, error messages with technical details, your device type, operating system, app version and screen size, a random identifier for the app installation and, once you sign in, your Fitnessage account ID.
  • Screen images: on some screens the app also takes small, low-resolution images of the screen so a replay shows what was on it. These images can show what that screen displayed at the time. They are never taken on workout, health, heart-rate or voice (Coach) screens, on sign-in, password or payment screens, or while the app is in the background.
  • Website: fitnessage.ai records similar session replays, heatmaps and form analytics in your browser. A replay can show what the page displayed; text you type into form fields is masked. The admin console is not recorded.
  • This data is sent to Vantage, the session-replay service our team runs on Cloudflare. It is used only to understand and improve how the apps and website work, and is not used for advertising or sold.

How we use your data

  • Provide requested features, personalise plans, calculate wellness estimates, track progress, run the voice coach and heart-rate features you turn on, connect members with authorised trainers or gyms, provide Premium access, fulfil enabled orders, and operate support and moderation.
  • Send account, booking, coaching, challenge, order, security, and other transactional communications. Marketing communications require a separate opt-in where required.
  • Measure product performance using first-party analytics, diagnose errors, secure accounts, prevent fraud and abuse, and enforce our Terms.
  • Apply regional pricing and access, such as which Premium offers and free features apply in your country, using the country recorded when you created your account or, where none was recorded, the country of your current connection; and count accounts by country in aggregate analytics.
  • Comply with legal obligations and respond to valid rights requests. Optional research or filming use requires an explicit consent record and does not default to granted.
  • We do not use health, heart-rate or voice data for advertising.

Sharing with third parties

  • Cloudflare and Neon provide hosting, security, edge compute, and database infrastructure. Cloudflare also hosts our Vantage session-replay service. Amazon Web Services stores the exercise images and clips that trainers upload and the gym equipment photos that gym owners upload.
  • Google (Gemini) and TypeSafe (Jev) process AI requests as described under "AI features", including the other features that use Jev.
  • Speech services: Coach recognises speech on your phone and does not send audio to a speech service. Watch dictation, whenever you choose it on the watch, uses Apple, Samsung or Google speech services. These services are chosen by your device and operate under their own privacy terms.
  • Apple and Google handle Sign in with Apple, Google sign-in, Apple Health, Health Connect and store purchases under their own terms. They send us only the results described in this policy.
  • Expo and platform notification services (Apple or Google) process device tokens and notification delivery data when notifications are enabled.
  • Authorised trainers can access the member data needed to coach assigned clients, including relevant profile, assessment, plan, workout, nutrition, comment, and booking data. Gym owners access gym operations and aggregated or gym-scoped member information exposed by their role.
  • Trainer check-in alerts (optional): if you turn this on, your assigned trainer can receive a notification with your first name when no completed workout has been logged for 14 days after earlier activity. No health details or diagnosis are sent.
  • Gym leaderboards: if you enter a gym challenge, your first name and last initial, age group, sex category and score can appear on that gym's leaderboard, including screens shown inside the gym. If you opt in to the improvement leaderboard, your first name and your change in Fitness Age between two assessments can be shown to other opted-in members of your gym. It stays hidden until at least three members have opted in.
  • Stripe and fulfilment partners receive the minimum payment, contact, address, and order information needed only when an enabled physical-goods or real-world-service transaction is used.
  • We do not sell personal data or share it for cross-context behavioural advertising.

Your rights

  • Access and portability — request a copy of the personal data associated with your account by emailing support@fitnessage.ai. We will respond within the period required by applicable law.
  • Correction — update inaccurate data via the in-app Profile screen at any time.
  • Deletion — start and confirm deletion through the in-app account settings or at fitnessage.ai/delete-account. Confirmation immediately revokes account access and begins backend erasure; it does not mean every backup and legally retained record disappears at that instant.
  • Consent — switch Coach's AI help off (Use without AI, in Coach settings; or AI-assisted mode in a test version), wearable-data consent, trainer check-in alerts, the improvement leaderboard, or optional marketing, research, or filming consent at any time. Withdrawal does not affect processing that lawfully occurred before it.
  • EU residents (GDPR) and California residents (CCPA) have the additional rights granted by those laws and can exercise them through the same channels.

Data retention

We retain account data while the account is active. This includes workout history (with how each set was logged), the country recorded when you created your account, heart-rate summaries and the date your free Voice Coach days started; these are deleted with your account, and you can ask us to delete heart-rate summaries sooner. A daily recovery summary from a connected watch or health app is kept for 36 hours only, is then ignored and replaced, and is deleted as soon as you disconnect. Coach audio is never stored by us, and our servers do not keep the text of Coach requests or replies, except the text of a Coach reply you report, which is kept with your report until you delete your account, and the anonymous list of phrases Coach did not understand, whose entries are deleted after 90 days. Other reports are also kept until the reporting account is deleted. Session-replay data is kept only as long as we need it to investigate problems and improve the apps; you can ask support@fitnessage.ai to delete replay data linked to your account. Data kept only on your phone (learned phrases, cardio history, your maximum heart rate, remembered Bluetooth devices) is removed when you clear it in the app or remove the app. After confirmed deletion, access is revoked immediately and active-system erasure is normally completed within 30 days. Limited transaction, tax, dispute, fraud-prevention, security, or legal records may be retained for the period required by law or legitimate legal need and then deleted or de-identified. Encrypted disaster-recovery backups expire on their normal rotation, which may take up to 90 days, and are not restored for ordinary product use. Aggregated data that can no longer reasonably identify a person may be retained.

Security

We use encryption in transit, password hashing, role-based access controls, secret management, and monitoring designed to protect personal data. No system is perfectly secure; we investigate suspected incidents and provide legally required notices.

Age eligibility

Fitnessage accounts are for adults aged 18 or older. We do not knowingly allow a person under 18 to create an account. If you believe a minor has provided personal data, contact support@fitnessage.ai so we can investigate and delete it where appropriate.

Changes to this policy

We may update this Privacy Policy from time to time. Material changes will be communicated via email or an in-app notice at least 14 days before they take effect. The "Last updated" date below reflects the most recent revision.

Contact

Privacy questions, requests, or complaints: support@fitnessage.ai. Include the account email and the app or role involved, but never send a password or payment-card number.