Privacy policy
Last updated 10 November 2026 (v3.5: Garmin Connect, AI transparency, coaching bookings and payments, like round-up emails). Controller: Anima Labs Ltd (England and Wales), contact [email protected].
The short version
- You can use ANIMA HYBRID without an account. It identifies your device with a random string it generates on first launch. It is not your advertising ID, not your phone number and not derived from anything about you. If you sign in to book a coach, join the community or use the web app, we also hold the email address you sign in with.
- We collect your race and workout times, the bracket you chose (division, gender band, age band), and — only if you type them — a display name, a city and a gym code.
- We do not collect your address, date of birth or contacts, and we only hold your name and email if you give them to book or coach (see "Coaching bookings and payments"). Photos and videos you choose to scan are read on your phone; see below for the one exception you can switch on.
- Workouts from your watch (free). If you connect Apple Health or Health Connect, the app reads your workouts (type, time, duration, distance, heart rate, calories) and logs them for you. They stay on your phone unless you switch on Cloud sync.
- Direct connections (optional). If you connect Garmin, COROS, Polar, WHOOP, Suunto or Oura, that company sends your workouts to our server, which passes them to your phone. Disconnecting deletes the connection and every workout it sent.
- Health data (ANIMA HYBRID Pro). If you connect Apple Health or Health Connect, the app reads your heart rate variability, resting heart rate, breathing rate and sleep. By default this stays on your phone and is never sent to us. It only reaches our servers if you switch on Cloud sync and agree on the consent screen; switching it off deletes it from our servers. We never write to your health apps, never store health data in iCloud, and never use it for advertising.
- Location. Only while you plan a route or record a run you started, to plan from where you are, navigate, and measure distance, pace and splits. Your GPS tracks stay on your phone unless you switch on live sharing for a run.
- We do not use advertising identifiers and we do not track you across apps or websites. There are no ads in ANIMA HYBRID.
- You can export everything we hold and delete everything we hold, from inside the app, without asking us.
What we collect and why
| Data | Why | Lawful basis |
|---|---|---|
| Random device identifier | To attach your results to your device so you can edit and delete them, and to apply rate limits | Legitimate interests (running the service securely) |
| Race and workout times, and your bracket | To produce your report, and — anonymised and aggregated — to improve the shared benchmarks everyone is compared against | Legitimate interests; you can switch off the sharing part in Settings at any time |
| Display name (optional) | To label you on a gym or city leaderboard and on a card you share | Consent — you choose whether to type one |
| Segment times (optional) | To put your best time on a segment's leaderboard. We receive the segment's id and your time — never your route or any GPS point | Legitimate interests; switched off with the same Settings switch as shared benchmarks |
| Messages to the coach (optional) | When you ask the coach something your phone can't answer on its own, your message, a short training summary (readiness, fatigue by muscle group, your plan, monthly totals, goals) and the notes you asked it to remember are sent to our AI provider (Anthropic) to write the reply. We don't keep them, and they are not used to train AI models | Contract — it is the feature you asked for |
| Sim night progress (optional) | Your display name, gym, how far through the simulation you are and your time, shown on that night's live board. Deleted three days later | Contract |
| Coach link (optional) | Only if you create a link for your own coach: a summary of your sessions from the last six weeks, readiness by muscle group, fight stats and goals (you choose which), your coach's notes, and a short "live now" status while you train. Never GPS lines, health readings or camera. Revoking the link deletes all of it | Consent |
| City and gym code (optional) | To place you on the right leaderboard | Consent |
| Bodyweight (optional) | Strength standards are published by bodyweight, so your HQ needs it to grade a lift | Consent — it stays on your device and is never sent to our server |
| Health data you connect: HRV, resting heart rate, breathing rate, sleep (optional) | To work out readiness against your own normal and adjust today's session. Processed on your phone | Explicit consent — given when you connect, withdrawn by disconnecting |
| The same health data and your training log, on our servers (Cloud sync only) | So the 04:00 job can prepare your morning and two devices agree. Kept 400 days at most; deleted when you switch Cloud sync off | Explicit consent (UK GDPR Art. 9(2)(a)) on the Cloud sync consent screen |
| Workouts from Apple Health or Health Connect (optional) | So your sessions log themselves. Read on your phone; nothing is written back | Explicit consent — the Apple or Android permission prompt, withdrawable there at any time |
| Workouts from a direct connection: Garmin, COROS, Polar, WHOOP, Suunto, Oura (optional) | So your sessions log themselves. The company sends them to our server, which passes them to your phone. We keep the sign-in token (encrypted) and the workout summaries until you disconnect, which deletes both. For Garmin, also to send your planned sessions to your watch when you ask | Explicit consent — you sign in to that company and approve |
| Camera and videos for form checks (optional) | To find your joints and count and check your reps, in Form check and Live coach. Done entirely on your phone by the phone's own pose software (Apple Vision on iPhone, Google MediaPipe on Android). The video and camera frames are never uploaded, never stored by us, and live camera frames are not recorded at all | Your choice each time you use it; camera permission from your phone |
| Photos and videos you scan (optional) | To read the numbers on an erg screen, treadmill, whiteboard or results page. Read on your phone. Only if you say yes to cloud reading, a downsized copy of that photo (or a few frames of that video) is sent to our AI model provider, Anthropic, for that one read. It is not stored by us, and it is not used to train models | Explicit consent, asked the first time and changeable in Settings |
| Bluetooth machines and straps (optional) | To record a rower, bike, treadmill or heart-rate strap during a session. Read on your phone; only the session summary is logged | Consent — the Bluetooth permission prompt |
| Location during a run you record (optional) | Distance, pace, splits, turn-by-turn navigation and ghost races. The GPS track stays on your phone | Consent — the location permission prompt |
| Route planning (optional) | When you ask for a route, your start point (rounded to about 10 m), any points you dropped and your preferences are sent through our server to our routing provider, GraphHopper GmbH (Germany), to plan it. The route comes back to your phone; neither we nor GraphHopper keep it. If the phone can’t understand a typed request (“8k flat loop…”) on its own, it asks first; only if you agree is the text — never your location — read by Anthropic to understand it, and it is not kept | Legitimate interests — the service you asked for; consent for the AI reading of typed requests |
| Live location link and crew map (optional, per run) | Only when you switch it on for a run: your latest position, distance and pace (and a short trail) go to our server so the people you send the link to — or your crew — can follow you. Never inside your privacy zones (they see “location hidden”). The link stops when you finish or after 3 hours at most, and everything is deleted 24 hours after that | Consent — you switch it on for each run and can stop it at any time |
| Maps and weather | The map pictures are loaded from OpenFreeMap (OpenStreetMap data), which sees your IP address and which part of the map you're viewing, like any website. For the heat and wind advice and What to wear, your position (or the venue of a booking) rounded to about 1 km is sent to Open-Meteo. Neither receives your identity or your tracks. Coach radar uses your position once, on that screen, to find coaches near you through our server; it is not stored | Legitimate interests |
| Squad “training now” (optional) | While a live session runs, the people in your squad see your display name and the session label from your lock screen (for example “Run · 5 km tempo”). No location and no heart rate. It ends when you finish, or after 3 hours at most, and is then deleted. Switch it off on the Squad screen | Legitimate interests — with the switch as your way to object |
| Purchase status | To unlock Pro. Handled by RevenueCat and the app stores; we never see a card number | Contract |
| Invite links (animahybrid.app/i/…) | Your milestone cards carry an invite code made one way from your random device identifier, so it says nothing about you. When someone opens the link in a browser we add one to a count for that code and that day; when a new install uses the code (the link opening the app, the code typed in, or Google Play passing it on at install) we add one to another count. That is all we keep: the code, the date, and the counts — no device identifier, IP address or time of day for the person who opened it, and no clipboard or fingerprint matching. You can see your own counts in Settings → Invite code. Counts are deleted after 400 days, or when you delete your data | Legitimate interests — measuring whether shared cards bring people in, using counts that identify nobody |
| Anonymous product analytics | To see which screens are used, how many race cards are made and shared, and whether an install arrived from a shared card or a gym code — so we can tell which parts of the app are worth building on. Sent to PostHog (EU region) tagged only with the random device identifier; no person profile is built and nothing is used for advertising or cross-app tracking. You can switch it off in Settings → Anonymous analytics, and anything not yet sent is discarded at that moment. | Legitimate interests — with the switch as your way to object |
Garmin Connect
If you connect Garmin, you sign in at Garmin and choose what to share. With your permission Garmin sends us:
- Activities (Activity API): type, start time, duration, distance, heart rate, pace, power, cadence and laps. Used to log your sessions automatically and show your training history, load and progress.
- Daily health summaries (Health API), only if you allow them in Garmin: resting heart rate, heart rate variability, sleep and stress. Used to work out readiness against your own normal and adjust that day's plan.
- Workouts to your watch (Training API): when you ask, we send a planned session to Garmin so it appears on your watch. We do not read anything back through it.
Who else receives Garmin data. Cloudflare (our hosting and database, which stores the encrypted connection token and the activity summaries). Your own coach, only if you create a coach link or book a coach, and only the training summary described in the table above. Anthropic, only as set out in the AI statement below. Nobody else. We do not sell Garmin data, share it for advertising, or give it to any other third party.
Your control. You can see your Garmin sessions in the app, correct or delete any of them, and export everything we hold from Settings. Disconnecting Garmin in the app, or removing ANIMA HYBRID in Garmin Connect, deletes the connection token and every Garmin record we hold.
AI transparency statement
ANIMA HYBRID uses one AI provider, Anthropic, and only for features you choose to use:
- Ask your coach: when the phone can't answer on its own, your message and a short training summary are sent to write the reply. That summary can include totals and readiness worked out from your connected watch, including Garmin.
- Photo reading and typed route requests: only after you say yes, as described in the table above.
- Help assistant: the question you type in Help, to suggest an answer before a person picks up your ticket. It uses the same consent as Ask your coach.
Garmin data is never sent to AI unless you use Ask your coach, and the first time you do, the app asks for your consent. You can withdraw it at any time with the Full coach (AI provider) switch in Settings → Squads and health; after that nothing is sent and the coach answers only from what your phone can work out. Anthropic does not keep what we send and does not use it to train models, and neither we nor anyone else use Garmin data, or anything derived from it, to train, evaluate or improve AI models.
Coaching bookings and payments
If you book or coach a session through ANIMA HYBRID we hold your name, sign-in email, the bookings, messages with your coach, ratings and receipts. Payments are taken by Stripe; we never see your card number. Receipts and sign-in codes are emailed through Resend. If you have a Community account we also send, at most once a day, an email round-up when people like your posts; switch it off in You → Notifications or with the link in the email. Coaches who are paid out also give their payout details to Stripe directly. Receipts are kept for as long as UK tax law requires us to keep them; everything else is deleted when you delete your account.
Gender and age bands
ANIMA HYBRID asks for a gender band and an age band because published race benchmarks only exist in those bands, and a percentile against the wrong bracket is worse than no percentile. You can change or leave the default at any time, we store the band and not a date of birth, and nothing about you is inferred from either.
How the shared benchmarks work
When you add a race with sharing on, your times are added to a counter for your bracket — a histogram of how many results fell in each fifteen-second band. That counter holds no identifier at all. It is what lets ANIMA HYBRID say "based on 4,800 results" instead of guessing. If you delete your data, your contribution is subtracted from those counters.
Sharing with others
We use Cloudflare (hosting and database, EU/global edge), RevenueCat (subscription status), Stripe (bookings and coach payouts), Resend (receipts and sign-in emails), Anthropic (the AI features in the AI transparency statement above, only when you use them; nothing is retained or used for training), GraphHopper (route planning), Open-Meteo (weather) and OpenFreeMap (map tiles), the watch companies you choose to connect (each under its own privacy policy), and — only when they are configured — PostHog (anonymous product analytics, EU region) and Sentry (crash reports). We do not sell data and we do not share it for advertising. A card you choose to share is a public page at animahybrid.app/r/<code> showing the numbers on the card and nothing else. An invite link (animahybrid.app/i/<code>) shows only the code and how to get the app.
Retention
Raw result rows are kept for 800 days and then deleted automatically. Aggregate counters are kept indefinitely because they contain no identifier. Data on your phone stays until you delete it or remove the app.
Your rights
You can see, correct, export or erase your data from Settings in the app at any time, and withdraw any consent there (AI features, Cloud sync, health data and each watch connection). You also have the right to access, rectify, restrict and object, and to complain to the Information Commissioner's Office (ico.org.uk). Email [email protected] and we will respond within 30 days.
Children
ANIMA HYBRID is rated for ages 12 and over and is not directed at children under 13. We do not knowingly collect data from them.
International transfers
Our infrastructure runs on Cloudflare's global edge network, which may process data outside the UK/EEA under the UK International Data Transfer Addendum and standard contractual clauses.
Changes
If this policy changes materially we will say so in the app before the change takes effect.