ANIMAHYBRID

Privacy policy

Last updated 22 September 2026. Controller: Anima Labs Ltd (England and Wales), contact support@animahybrid.app.

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
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), 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 support@animahybrid.app 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.