ANIMAHYBRID

Privacy policy

Last updated 27 September 2026 (v2.1, automatic data). 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
City and gym code (optional)To place you on the right leaderboardConsent
Bodyweight (optional)Strength standards are published by bodyweight, so the Hybrid Score 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
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 and ghost races. The GPS track is not uploadedConsent
Purchase statusTo unlock Pro. Handled by RevenueCat and the app stores; we never see a card numberContract
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

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), Anthropic (AI photo reading, only when you switch it on; images are not retained for training), 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.

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 export or erase your data from Settings in the app at any time. 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.