ANIMAHYBRID

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

What we collect and why

DataWhyLawful basis
Random device identifierTo attach your results to your device so you can edit and delete them, and to apply rate limitsLegitimate interests (running the service securely)
Race and workout times, and your bracketTo produce your report, and — anonymised and aggregated — to improve the shared benchmarks everyone is compared againstLegitimate 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 shareConsent — 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 pointLegitimate 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 modelsContract — 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 laterContract
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 itConsent
City and gym code (optional)To place you on the right leaderboardConsent
Bodyweight (optional)Strength standards are published by bodyweight, so your HQ needs it to grade a liftConsent — 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 phoneExplicit 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 offExplicit 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 backExplicit 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 askExplicit 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 allYour 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 modelsExplicit 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 loggedConsent — 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 phoneConsent — 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 keptLegitimate 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 thatConsent — you switch it on for each run and can stop it at any time
Maps and weatherThe 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 storedLegitimate 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 screenLegitimate interests — with the switch as your way to object
Purchase statusTo unlock Pro. Handled by RevenueCat and the app stores; we never see a card numberContract
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 dataLegitimate interests — measuring whether shared cards bring people in, using counts that identify nobody
Anonymous product analyticsTo 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:

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:

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.