AMRAP20 — Privacy Policy
Last updated: September 27, 2026 · Version française ci-dessous · Terms of use
The short version: your camera feed never leaves your phone — rep counting
happens entirely on your device. The only data stored on our servers is your workout scores
(rounds, reps, date), an anonymous account ID, the nickname you choose and a random friend
code, so that leaderboards between friends can work. No ads, no third-party trackers.
Who we are
AMRAP20 is published by Sylvain Mestre (sole trader — SIREN 109 340 877,
RCS Montpellier, France), who is the data controller for the processing described here.
Contact for anything privacy-related:
contact@amrap20.app.
AMRAP20 is not aimed at children: the online features (anonymous account, rankings) are
for people aged 15 or over.
Camera and video
The app uses your camera to count pull-ups, push-ups and squats. All processing runs
on your device (MediaPipe Pose, bundled with the app). No video, no
image and no body-tracking data is ever uploaded anywhere. If you enable the optional
workout timelapse, the clip is encoded and saved on your device only, and is shared only if
and where you decide to share it.
Data stored on your device
- Your workout history, streaks, settings and language choice (browser local storage).
- If you connect Strava: the access tokens needed to publish your workouts. They stay on
your device and can be removed by disconnecting Strava.
This local storage is strictly necessary for the app to work, which is why no
consent banner is shown — and there are no cookies or trackers from anyone else. One
exception, only on the website and only while you pay: the payment form is Stripe's, and
Stripe sets its own cookies to process the payment and detect fraud. They are strictly
necessary to that payment and are never used for advertising.
Data stored on our servers
When the online leaderboard is available, an anonymous account is created —
no e-mail, no password, no name. It consists of:
- a random account identifier (UUID);
- the nickname you choose (visible to people who follow your friend code);
- a random friend code you can give to friends;
- your workout results: date, rounds, total reps, chosen duration, actual elapsed time,
whether the workout was counted manually, and whether it was a 1-minute test;
- the list of people you follow (their account identifiers), so that the friend
leaderboard can work;
- if you subscribe to AMRAP20 PRO: which plan you have, when it expires, and where it came
from (App Store, Google Play, the website, or granted by us).
- if you volunteer to test the Android app (Profile → Test the Android app): the
e-mail address you enter, kept only to send you the Google Play test invitation. It is
used for nothing else; you can remove it from the app at any time, and it is deleted
with your account.
- if you choose to link an e-mail to your account (Profile → My account): that
address, used only to send you one-time sign-in codes so you can find your account —
purchases, history, friends — again on another device or in the Android app. Never for
newsletters. Deleted with your account.
This data is hosted by Supabase, our database provider,
in the European Union (eu-west-1, Ireland). Access rules are enforced
server-side: your scores are visible only to you and to people you have chosen to follow, and
profile data is not publicly listable.
If you report a nickname, the report e-mail contains the reported nickname and your own
account identifier — without it, a report cannot be acted on. Reports are used only for
moderation.
What we do not do
- No advertising, no ad identifiers.
- No third-party analytics or tracking scripts.
- No sale or sharing of personal data with third parties.
Legal bases
- Performance of a contract (GDPR art. 6.1.b) — the anonymous account,
your scores, the rankings, the free-workout counter, your subscription status, and the
e-mail you may link to recover your account: all of it exists to provide the service you
are using.
- Consent (art. 6.1.a) — the Strava connection, and the e-mail address you
may leave to test the Android app. You give it by connecting your account or by signing
up; you withdraw it at any time by disconnecting or by removing your address.
- Legitimate interest (art. 6.1.f) — handling nickname reports and
removing impossible scores, to keep the rankings safe and honest.
- Legal obligation (art. 6.1.c) — keeping the proof of your purchase
consent and the invoices for the periods the law sets, even after your account is
deleted.
No decision producing legal effects about you is ever made automatically (art. 22).
Where the data lives — transfers outside the EU
Our processors are Supabase (database and account sign-in, including the
e-mail delivery service through which sign-in codes are sent), Cloudflare
(hosting of the website and app, and routing of our contact e-mail), Apple
(iCloud, the mailbox behind our contact address), and, for purchases made on the website,
RevenueCat (subscriptions, receipts and invoices) and Stripe
(card payments). None of them uses your data for its own purposes.
- The database runs in the EU (Ireland). Supabase, Inc., Cloudflare, Inc.
and RevenueCat, Inc. are US companies: where support or operations involve access from
outside the EU, it is governed by the European Commission's standard contractual
clauses included in their data-processing agreements. Card payments are processed by
Stripe Payments Europe, Ltd. (Ireland).
- If you connect Strava, the workouts you choose to publish are sent to
Strava, Inc. (United States) at your request.
- E-mail you send to our contact address is routed by Cloudflare and delivered to a
mailbox hosted by Apple (iCloud); both may process it outside the EU.
Purchases
We never see your card number. Two channels exist:
- On the website (amrap20.app, or the web app installed from your browser):
payment is processed by Stripe and billing by RevenueCat,
our subscription provider. At checkout you give an e-mail address, used to
send you receipts, invoices and subscription notices, and kept by RevenueCat with your
purchase history under your anonymous account identifier. Stripe receives your card
details and your country; we receive only which plan is active and until when. Before
paying, you tick a box asking for immediate delivery: we log that consent (your account
identifier, the plan, the version of the text, the date) and keep it for five
years as proof of the contract — it outlives the deletion of your account.
Invoices and payment records are kept by RevenueCat and Stripe for the legal accounting
period (ten years). Deleting your account does not cancel a running
subscription: cancel it first (the app reminds you).
- In the iOS and Android apps: purchases go through the App Store or Google
Play, which tell us only which plan is active and until when.
In both cases the active plan is stored against your anonymous account so the app knows what
to unlock. There is no advertising and no advertising identifier anywhere in the app. See the
terms of use for renewal, cancellation and withdrawal.
Strava (optional)
If you connect your Strava account, the app publishes a workout to your Strava profile
only when you tap the button. The exchange of authorization codes goes through
our server-side function so that no application secret is exposed; we do not read your Strava
data and we store no Strava data on our servers.
Retention
- Server data: kept as long as your account exists — you decide when it
goes, and deletion (below) is immediate and permanent. We may also delete anonymous
accounts left inactive for more than 24 months.
- Nickname reports received by e-mail: kept while they are handled, at
most 12 months.
- Local data: on your device until you delete it or uninstall the app;
Strava tokens until you disconnect Strava.
Deleting your account and data
🇫🇷 En français : supprimer ton compte et tes données
In the app: Profile → Delete my account. This permanently deletes your
anonymous account and everything attached to it on our servers — profile, nickname, friend
code, follows and all workout results — and clears the app's local data. If Strava is
connected, the app also asks Strava to revoke its authorization. This cannot be
undone.
One thing stays on your phone, and only there: in the iOS and Android apps, the number
of free camera workouts already used is kept in the device's secure storage (Keychain),
so that deleting the account or reinstalling does not restart the free trial. It is a
plain counter, linked to no account and never sent to us; erasing the phone removes
it.
You can also request deletion by e-mail at
contact@amrap20.app (mention your nickname and
friend code so we can find the account, since it is anonymous).
Your rights (GDPR)
You can access, correct (the nickname is editable in the app), export or delete your data,
object to or ask to restrict processing, and withdraw consent at any time (for Strava:
disconnect it), by using the app or writing to the address above. Under French law, you may
also leave instructions on what should happen to your data after your death. You may lodge a
complaint with your supervisory authority (in France, the CNIL).
Changes
If this policy changes materially, the date at the top is updated. The app always links to
this page: the published version is the one in force.
AMRAP20 — Politique de confidentialité
Dernière mise à jour : 27 septembre 2026 · English version above · Conditions d'utilisation
En bref : l'image de ta caméra ne quitte jamais ton téléphone — le
comptage se fait entièrement sur l'appareil. Les seules données sur nos serveurs sont tes
scores (tours, répétitions, date), un identifiant de compte anonyme, le pseudo que tu
choisis et un code ami aléatoire, pour faire vivre le classement entre amis. Pas de pub,
pas de traceurs tiers.
Qui sommes-nous
AMRAP20 est édité par Sylvain Mestre (entrepreneur individuel — SIREN 109 340 877,
RCS Montpellier, France), responsable de traitement pour les traitements décrits ici.
Contact pour toute question liée aux données :
contact@amrap20.app.
AMRAP20 ne s'adresse pas aux enfants : les fonctions en ligne (compte anonyme,
classements) sont réservées aux personnes d'au moins 15 ans.
Caméra et vidéo
L'app utilise la caméra pour compter tractions, pompes et squats. Tout le traitement
s'exécute sur ton appareil (MediaPipe Pose, embarqué dans l'app).
Aucune vidéo, aucune image, aucune donnée de posture n'est envoyée où que ce
soit. Si tu actives le timelapse de séance, le clip est encodé et enregistré sur ton
appareil uniquement, et n'est partagé que si tu décides de le partager.
Données stockées sur ton appareil
- Ton historique de séances, tes streaks, tes réglages et ta langue (stockage local du
navigateur).
- Si tu connectes Strava : les jetons d'accès nécessaires à la publication. Ils restent
sur l'appareil et disparaissent en déconnectant Strava.
Ce stockage local est strictement nécessaire au fonctionnement de l'app —
c'est pourquoi aucun bandeau de consentement ne s'affiche — et il n'y a aucun cookie ni
traceur de qui que ce soit d'autre. Une exception, sur le site seulement et seulement
pendant que tu paies : le formulaire de paiement est celui de Stripe, qui pose ses propres
cookies pour traiter le paiement et détecter la fraude. Ils sont strictement nécessaires à
ce paiement et ne servent jamais à la publicité.
Données stockées sur nos serveurs
Quand le classement en ligne est disponible, un compte anonyme est créé —
sans e-mail, sans mot de passe, sans nom. Il contient :
- un identifiant de compte aléatoire (UUID) ;
- le pseudo que tu choisis (visible des personnes qui suivent ton code ami) ;
- un code ami aléatoire à donner à tes amis ;
- tes résultats de séance : date, tours, répétitions totales, durée choisie, durée
réellement écoulée, si la séance a été comptée à la main, et s'il s'agissait d'une
séance test d'une minute ;
- la liste des personnes que tu suis (leur identifiant de compte), pour faire
fonctionner le classement entre amis ;
- si tu t'abonnes à AMRAP20 PRO : la formule dont tu disposes, sa date d'échéance et sa
provenance (App Store, Google Play, le site, ou offerte par nous).
- si tu te portes volontaire pour tester l'app Android (Profil → Tester l'app
Android) : l'adresse e-mail que tu saisis, conservée uniquement pour t'envoyer
l'invitation au test Google Play. Elle ne sert à rien d'autre ; tu peux la retirer
depuis l'app à tout moment, et elle disparaît avec ton compte.
- si tu choisis d'associer un e-mail à ton compte (Profil → Mon compte) : cette
adresse, utilisée uniquement pour t'envoyer des codes de connexion à usage unique, afin
de retrouver ton compte — achats, historique, amis — sur un autre appareil ou dans l'app
Android. Jamais pour une lettre d'information. Supprimée avec ton compte.
Ces données sont hébergées chez Supabase, notre
prestataire de base de données, dans l'Union européenne (eu-west-1,
Irlande). Les règles d'accès sont appliquées côté serveur : tes scores ne sont visibles que
de toi et des personnes que tu as choisi de suivre, et les profils ne sont pas listables
publiquement.
Si tu signales un pseudo, l'e-mail de signalement contient le pseudo signalé et
l'identifiant de ton propre compte — sans lui, un signalement ne peut pas être traité. Les
signalements ne servent qu'à la modération.
Ce que nous ne faisons pas
- Pas de publicité, pas d'identifiants publicitaires.
- Pas d'outils d'analyse ni de scripts de suivi tiers.
- Pas de vente ni de partage de données personnelles avec des tiers.
Bases légales
- Exécution du contrat (RGPD art. 6.1.b) — le compte anonyme, tes
scores, les classements, le compteur de séances offertes, l'état de ton abonnement et
l'e-mail que tu peux associer pour retrouver ton compte : tout cela existe pour fournir
le service que tu utilises.
- Consentement (art. 6.1.a) — la connexion Strava, et l'adresse e-mail
que tu peux laisser pour tester l'app Android. Tu le donnes en connectant ton compte ou
en t'inscrivant ; tu le retires à tout moment en te déconnectant ou en retirant ton
adresse.
- Intérêt légitime (art. 6.1.f) — traiter les signalements de pseudo et
retirer les scores impossibles, pour garder des classements sûrs et honnêtes.
- Obligation légale (art. 6.1.c) — conserver la preuve de ton consentement
d'achat et les factures pendant les durées fixées par la loi, même après la suppression
de ton compte.
Aucune décision produisant des effets juridiques à ton égard n'est prise de façon
automatisée (art. 22).
Où vivent les données — transferts hors UE
Nos sous-traitants sont Supabase (base de données et connexion au compte,
y compris le service d'envoi d'e-mails par lequel partent les codes de connexion),
Cloudflare (hébergement du site et de l'app, et acheminement de l'e-mail
de contact), Apple (iCloud, la boîte derrière notre adresse de contact) et,
pour les achats faits sur le site, RevenueCat (abonnements, reçus et factures)
et Stripe (paiement par carte). Aucun n'utilise tes données pour son propre
compte.
- La base de données tourne dans l'UE (Irlande). Supabase, Inc.,
Cloudflare, Inc. et RevenueCat, Inc. sont des sociétés américaines : lorsqu'un accès
depuis l'extérieur de l'UE a lieu (support, opérations), il est encadré par les clauses
contractuelles types de la Commission européenne intégrées à leurs accords de traitement
des données. Le paiement par carte est traité par Stripe Payments Europe, Ltd.
(Irlande).
- Si tu connectes Strava, les séances que tu choisis de publier sont
envoyées à Strava, Inc. (États-Unis), à ta demande.
- Un e-mail envoyé à notre adresse de contact est acheminé par Cloudflare et livré dans
une boîte hébergée par Apple (iCloud) — l'un comme l'autre peuvent le traiter hors
UE.
Achats
Nous ne voyons jamais ton numéro de carte. Deux canaux existent :
- Sur le site (amrap20.app, ou l'app web installée depuis ton navigateur) :
le paiement est traité par Stripe et la facturation par
RevenueCat, notre prestataire d'abonnements. Au paiement, tu donnes une
adresse e-mail, qui sert à t'envoyer reçus, factures et avis relatifs à
l'abonnement, et que RevenueCat conserve avec ton historique d'achat sous ton identifiant
de compte anonyme. Stripe reçoit tes données de carte et ton pays ; nous ne recevons que
la formule active et son échéance. Avant de payer, tu coches une case demandant la
fourniture immédiate : nous journalisons ce consentement (identifiant de compte, formule,
version du texte, date) et le conservons cinq ans comme preuve du
contrat — il survit à la suppression de ton compte. Les factures et les enregistrements de
paiement sont conservés par RevenueCat et Stripe pendant la durée légale comptable
(dix ans). Supprimer ton compte ne résilie pas un abonnement en cours :
résilie-le d'abord (l'app te le rappelle).
- Dans les apps iOS et Android : les achats passent par l'App Store ou
Google Play, qui nous indiquent seulement quelle formule est active et jusqu'à quand.
Dans les deux cas, la formule active est enregistrée en face de ton compte anonyme pour que
l'app sache quoi débloquer. Il n'y a aucune publicité ni aucun identifiant publicitaire dans
l'app. Voir les conditions d'utilisation pour la reconduction, la
résiliation et la rétractation.
Strava (optionnel)
Si tu connectes ton compte Strava, l'app publie une séance sur ton profil Strava
uniquement quand tu appuies sur le bouton. L'échange des codes d'autorisation
passe par notre fonction côté serveur pour ne pas exposer de secret d'application ; nous ne
lisons pas tes données Strava et n'en stockons aucune.
Durée de conservation
- Données serveur : conservées tant que ton compte existe — c'est toi
qui décides quand il disparaît, et la suppression (ci-dessous) est immédiate et
définitive. Nous pouvons aussi supprimer les comptes anonymes restés inactifs plus de
24 mois.
- Signalements de pseudo reçus par e-mail : conservés le temps de leur
traitement, au plus 12 mois.
- Données locales : sur ton appareil jusqu'à leur effacement ou la
désinstallation de l'app ; jetons Strava jusqu'à la déconnexion de Strava.
Supprimer ton compte et tes données
Dans l'app : Profil → Supprimer mon compte. Cette action supprime
définitivement ton compte anonyme et tout ce qui s'y rattache sur nos serveurs — profil,
pseudo, code ami, suivis et tous les résultats de séance — et efface les données locales de
l'app. Si Strava est connecté, l'app demande aussi à Strava de révoquer son autorisation.
C'est irréversible.
Une seule chose reste sur ton téléphone, et seulement là : dans les apps iOS et
Android, le nombre de séances caméra offertes déjà utilisées est gardé dans le stockage
sécurisé de l'appareil (trousseau), pour que supprimer le compte ou réinstaller ne relance
pas l'essai gratuit. C'est un simple compteur, rattaché à aucun compte et jamais envoyé chez
nous ; effacer le téléphone le supprime.
Tu peux aussi demander la suppression par e-mail à
contact@amrap20.app (indique ton pseudo et ton
code ami pour qu'on retrouve le compte, puisqu'il est anonyme).
Tes droits (RGPD)
Tu peux accéder à tes données, les corriger (le pseudo se modifie dans l'app), les exporter
ou les supprimer, t'opposer à leur traitement ou en demander la limitation, et retirer ton
consentement à tout moment (pour Strava : en le déconnectant), via l'app ou en écrivant à
l'adresse ci-dessus. Tu peux aussi définir des directives sur le sort de tes données après
ton décès (loi Informatique et Libertés), et saisir la CNIL.
Évolutions
Si cette politique change de façon substantielle, la date en tête de page est mise à jour.
L'app pointe en permanence vers cette page : la version publiée fait foi.