Politique de confidentialité
En vigueur depuis le 28 octobre 2026
UltraTrain est une app d'entraînement pour les coureurs d'ultra trail et d'ultra marathon, sur iPhone et Apple Watch. Cette politique t'explique quelles données l'app et notre serveur traitent, pourquoi, qui d'autre les reçoit, combien de temps on les garde et ce que tu peux faire. Elle couvre UltraTrain 2.0 et les versions 1.x précédentes (voir la section 15).
1. Qui sommes-nous
UltraTrain est développée et gérée par Mohamed-Amine Idir, responsable du traitement des données décrites ici. Pour toute question ou demande sur tes données, écris à support@ultratrain.app.
2. En bref
- On ne vend pas tes données, on n'affiche pas de publicité et on ne te suit pas dans les apps ou sites web d'autres entreprises. L'app ne contient aucun SDK de publicité ou de suivi et n'affiche jamais la demande de suivi (App Tracking Transparency).
- Ton compte, ton profil d'athlète, tes courses, tes plans d'entraînement et tes sorties (y compris les traces GPS et la fréquence cardiaque) sont enregistrés sur notre serveur pour que tu puisses te reconnecter sur un autre appareil.
- La fréquence cardiaque, le poids, le sommeil, la VFC et les check-ins matinaux ne vont jamais sur iCloud. Ils restent sur ton appareil, même quand la synchronisation iCloud est activée.
- Les captures d'écran que tu envoies comme preuve d'ultra sont vérifiées par OpenAI et ne sont jamais conservées par nous.
- Tu peux supprimer ton compte et toutes ses données serveur depuis l'app, à tout moment.
3. Les données que tu nous donnes
- Compte : ton adresse e-mail et ton mot de passe (on ne garde qu'un hachage bcrypt du mot de passe), ton prénom et ton nom. Avec Se connecter avec Apple, on reçoit un identifiant Apple, ton nom si tu le partages et ton e-mail ou une adresse relais privée d'Apple. Avec Google Sign-In, on reçoit un identifiant Google, ton nom et ton e-mail.
- Profil d'athlète : date de naissance, sexe, taille, poids, fréquence cardiaque au repos et maximale, niveau d'expérience, volume hebdomadaire, plus longue sortie, préférences d'entraînement (jours, terrain, renforcement, blessures et fréquence des douleurs) et, si tu les ajoutes, tes index ITRA et UTMB.
- Tes réponses à Ultra, le coach : pendant l'onboarding, tu réponds à des questions comme ta mission, comment tu as connu UltraTrain, ton expérience de l'ultra, tes envies, tes peurs et ta course de rêve. Elles te placent sur l'échelle de rang et façonnent ton plan.
- Courses et résultats : noms, dates, distances, dénivelé, points de passage et barrières horaires des courses, tes objectifs, les résultats que tu déclares pour ton rang et tes bilans de course (temps final, classement, abandon).
- Sorties et entraînement : notes, ressenti et effort perçu, matériel, parcours enregistrés et séances réalisées.
- Contacts d'urgence : les noms et numéros que tu ajoutes pour ta sécurité pendant les sorties. Ils restent sur ton appareil (et dans ton iCloud si tu actives la synchronisation iCloud) et ne sont jamais envoyés à notre serveur.
- Preuve d'ultra (facultatif) : une capture d'écran ou une photo, ou un lien vers une page de résultats officielle avec le nom à y chercher. Voir la section 8.
4. Les données qui viennent de tes appareils
- Apple Santé : avec ton autorisation, l'app lit la fréquence cardiaque, la fréquence cardiaque au repos, la variabilité de la fréquence cardiaque (VFC), le sommeil, le poids, les entraînements, les distances de course, de vélo et de natation et l'énergie active. Elle enregistre tes sorties dans Apple Santé comme entraînements si tu l'actives. Voir la section 7.
- Localisation : ta position GPS précise pendant que tu enregistres une sortie, y compris en arrière-plan jusqu'à ce que tu l'arrêtes. Elle sert au tracé, à l'allure, aux splits et au dénivelé de la sortie. Sur l'écran de course, l'app demande aussi une position ponctuelle pour te montrer si le GPS est prêt ; cette position reste sur ton appareil. Si tu cherches des sentiers autour de toi, ta position est envoyée à OpenStreetMap (voir la section 9).
- Mouvement : cadence et dynamique de course pendant une sortie, calculées sur ton appareil.
- Appareil photo et photos : seulement quand tu prends ou choisis une photo, par exemple un fond de carte de partage ou une preuve d'ultra. Les images que tu crées sont enregistrées dans ta photothèque seulement quand tu touches Enregistrer.
- Apple Watch : les sorties enregistrées sur la montre, avec la fréquence cardiaque, sont envoyées à ton iPhone par la connexion montre d'Apple.
- Rapports de plantage : si l'app plante, elle envoie un rapport au lancement suivant : le type et le message d'erreur, une trace de pile, le modèle d'appareil, la version d'iOS, la version et le build de l'app, et un identifiant de rapport aléatoire. Les rapports ne contiennent aucun identifiant de compte.
- Événements d'usage anonymes : quelques événements sur les overlays de partage (sélecteur ouvert, modèle ou fond choisi, image exportée), avec la version et le build de l'app, la plateforme et la langue. Ils ne contiennent aucun identifiant de compte ou d'appareil, donc ils ne peuvent pas être reliés à toi.
- Notifications : si tu autorises les notifications, le jeton push qu'Apple donne à ton appareil est enregistré avec ton compte pour qu'on puisse te les envoyer.
5. Comment on utilise tes données, et sur quelle base légale
- Pour te fournir l'app (contrat) : ton plan d'entraînement, les prédictions de temps, ton rang, tes XP et ta série, l'écran course et le plan de ravitaillement, les messages d'Ultra, la connexion sur tes autres appareils, ton abonnement et les e-mails qu'on doit t'envoyer (code de vérification et réinitialisation du mot de passe).
- Avec ton consentement, que tu peux retirer à tout moment dans l'app ou dans les Réglages d'iOS : Apple Santé, la localisation, les notifications (résumé de la semaine, rappels d'entraînement et de course), Strava et Google Sign-In.
- Sur notre intérêt légitime : les rapports de plantage et les événements d'usage anonymes pour corriger les bugs et améliorer l'app, les empreintes d'image qui empêchent de réutiliser la même preuve sur un autre compte, et les attributs d'onboarding envoyés à RevenueCat pour comprendre quels coureurs s'abonnent. Tu peux t'y opposer en nous écrivant.
La vérification des preuves d'ultra et le rang sont automatisés, mais ils n'ont d'effet que sur ton rang dans l'app. Si tu n'es pas d'accord avec un verdict, écris-nous et une personne le regardera.
6. Où sont stockées tes données
Sur ton appareil
Toutes tes données vivent dans l'app sur ton iPhone, protégées par la protection des données d'iOS. Les jetons de connexion sont gardés dans le trousseau d'iOS.
Sur notre serveur
Notre serveur est hébergé par Railway aux États-Unis. Quand tu es connecté, il enregistre :
- ton compte : e-mail, hachage du mot de passe, nom et prénom, identifiant de connexion Apple ou Google, langue, code de parrainage, jeton push, et l'état de ton abonnement web avec son identifiant client Stripe si tu t'es abonné sur notre site ;
- ton profil d'athlète : date de naissance, poids, taille, fréquence cardiaque au repos et maximale, expérience, volume hebdomadaire, plus longue sortie, index ITRA et UTMB ;
- tes sorties : date, distance, durée, dénivelé, allure, splits, notes, la trace GPS complète et la fréquence cardiaque enregistrée à chaque point, plus la fréquence cardiaque moyenne et maximale ;
- tes courses, tes plans d'entraînement, tes états de forme, tes estimations de temps et ton plan de ravitaillement ;
- l'historique de tes vérifications de preuve d'ultra et les empreintes d'image (voir la section 8) ;
- les rapports de plantage et les événements d'usage anonymes, qui ne sont pas reliés à ton compte.
Dans ton iCloud (facultatif)
La synchronisation iCloud est désactivée par défaut. Si tu l'actives dans les Réglages, tes données d'entraînement se synchronisent entre tes appareils via ta base iCloud privée, à laquelle toi seul as accès ; on ne peut pas la lire. Ces valeurs de santé n'y vont jamais : la fréquence cardiaque (y compris celle de tes sorties), la fréquence cardiaque au repos et maximale, le poids, le sommeil, la VFC et les check-ins matinaux restent toujours sur ton appareil.
7. Apple Santé
- Les données d'Apple Santé servent uniquement aux fonctions d'entraînement de l'app. Elles ne sont jamais utilisées pour la publicité ou le marketing et jamais vendues.
- La fréquence cardiaque et le poids sont enregistrés sur notre serveur avec tes sorties et ton profil, pour les retrouver quand tu te connectes sur un autre appareil. La fréquence cardiaque, le poids, le sommeil et la VFC ne sont jamais enregistrés dans iCloud. Les entraînements que tu importes d'Apple Santé deviennent des sorties dans UltraTrain et, si la synchronisation iCloud est activée, se synchronisent comme tes autres sorties, sans leur fréquence cardiaque.
- Les données d'Apple Santé ne sont jamais partagées avec des tiers, sauf quand tu demandes à l'app d'envoyer une sortie sur Strava : le fichier envoyé contient alors la fréquence cardiaque de cette sortie.
- Tu peux modifier ou retirer l'accès à tout moment dans l'app Santé ou dans Réglages > Santé > Accès aux données et appareils.
8. Preuve d'ultra : captures, photos et liens de résultats
La preuve est facultative. Un ultra déclaré qui passe le contrôle de cohérence avec tes autres résultats débloque les rangs les plus hauts sans aucun envoi. Chaque vérification envoie ton prénom et ton nom à notre serveur, avec le nom à chercher et le résultat que tu as déclaré, pour vérifier que le résultat est bien le tien.
Capture d'écran ou photo
- L'image est traitée uniquement dans la mémoire de notre serveur. Elle n'est jamais écrite sur disque ni dans notre base de données, et elle est libérée dès la fin de la vérification.
- Notre serveur envoie l'image à OpenAI, notre prestataire d'IA, qui y lit la distance, le temps et le nom affichés. OpenAI peut garder les données reçues par son API jusqu'à 30 jours pour détecter les abus, puis les supprime, et n'utilise pas les données envoyées par son API pour entraîner ses modèles.
- On ne garde que deux empreintes de l'image : un hachage perceptuel (un code court qui ne permet pas de reconstituer l'image) et un hachage SHA-256. Elles empêchent d'utiliser la même image sur un autre compte. On garde aussi le type de vérification, le verdict et ses codes de motif.
Lien de résultats
- Notre serveur charge la page publique que tu colles et vérifie que ton nom et ton temps y figurent. Le site de résultats voit une requête de notre serveur, pas de ton appareil.
- On ne garde que le type de vérification, le verdict et ses codes de motif. On ne garde ni le lien, ni le nom que tu nous as demandé de chercher, ni une copie de la page.
9. Prestataires et autres services
- Railway (États-Unis) : héberge notre serveur et notre base de données.
- Resend : envoie nos e-mails (code de vérification et réinitialisation du mot de passe) depuis sa région européenne. Il reçoit ton adresse e-mail et le message.
- Apple : Se connecter avec Apple, les notifications push (APNs), iCloud, les achats intégrés, Apple Santé et les cartes. Pour nommer le lieu affiché sur certaines cartes de partage, l'app envoie le point le plus haut du tracé visible au service de géocodage d'Apple ; elle n'utilise jamais de point à moins de 300 m de ton départ ou de ton arrivée.
- Google : seulement si tu choisis Google Sign-In. Google confirme ton identité et nous donne ton nom, ton e-mail et ton identifiant Google.
- RevenueCat (États-Unis) : gère ton abonnement App Store. Il reçoit l'identifiant de ton compte UltraTrain, des informations de base sur l'appareil et l'app (comme les versions d'iOS et de l'app), ton historique d'achats et trois réponses d'onboarding liées à ta fiche d'abonné : comment tu as connu UltraTrain (source d'acquisition), ta mission et le rang où tu as été placé. Elles servent à comprendre quels coureurs s'abonnent, jamais à la publicité ou au suivi.
- OpenAI (États-Unis) : lit les captures et photos de preuve d'ultra (section 8).
- Strava (facultatif) : si tu connectes Strava, l'app demande les autorisations
read,activity:read_alletactivity:write. Elle liste tes activités, y compris privées, pour que tu choisisses les sorties à importer avec leur trace GPS et leur fréquence cardiaque, et elle envoie les sorties que tu choisis (ou toutes, si tu actives l'envoi automatique) avec leur trace GPS et leur fréquence cardiaque. Notre serveur ne fait qu'échanger et renouveler ta connexion Strava pour que notre clé secrète Strava ne soit jamais dans l'app ; tes jetons Strava restent dans le trousseau de ton appareil. La politique de confidentialité de Strava s'applique aux données sur Strava. - OpenStreetMap : la recherche de sentiers de la bibliothèque de parcours envoie le nom de sentier que tu tapes et la position de recherche (ta position, si tu cherches autour de toi) depuis ton appareil vers l'API publique Overpass (overpass-api.de).
- Stripe : uniquement pour le paiement sur le site ultratrain.app, jamais dans l'app. Notre serveur crée un client Stripe avec l'e-mail de ton compte, et Stripe recueille tes données de paiement ; on ne voit jamais ton numéro de carte. Stripe prévient notre serveur quand ton abonnement web commence ou se termine.
- Instagram : seulement quand tu touches « Partager en story ». L'image est transmise à l'app Instagram sur ton appareil ; on n'envoie rien à Meta. La politique de confidentialité d'Instagram s'applique à ce que tu publies.
10. Ce qu'on ne fait pas
- On ne vend ni ne loue tes données.
- On n'utilise pas tes données pour la publicité, et l'app ne contient aucun SDK de publicité.
- On ne te suit pas dans les apps ou sites web d'autres entreprises, et on ne partage pas tes données avec des courtiers en données.
11. Combien de temps on garde les données, et comment les supprimer
- Les données serveur sont gardées tant que ton compte existe. Supprimer le compte, dans les Réglages de l'app, supprime immédiatement ton compte et tout ce qui y est lié de notre base de données : profil, sorties, courses, plans, estimations, états de forme, plan de ravitaillement, historique et empreintes des preuves, et jeton push.
- Les images de preuve ne sont jamais conservées par nous. OpenAI peut les garder jusqu'à 30 jours (section 8).
- Les rapports de plantage et les événements d'usage ne peuvent pas être reliés à toi, donc on ne peut pas les retrouver ni les supprimer sur demande. On les garde seulement tant qu'ils nous aident à corriger et améliorer l'app.
- Les données d'abonnement sont gardées par Apple et RevenueCat comme l'exige la comptabilité. Écris-nous si tu veux que ta fiche RevenueCat soit supprimée.
- Sur ton appareil, Effacer toutes les données dans les Réglages supprime tout ce que l'app a enregistré. Supprimer l'app efface aussi ses données locales.
- Dans iCloud, tu peux supprimer les données d'UltraTrain dans Réglages > ton nom > iCloud > Gérer le stockage.
12. Sécurité
- Tous les échanges avec notre serveur passent en HTTPS avec épinglage de certificat, et les requêtes sont signées.
- La connexion utilise des jetons de courte durée gardés dans le trousseau d'iOS. Les mots de passe ne sont stockés que sous forme de hachage bcrypt.
- Les données sur ton appareil sont chiffrées par la protection des données d'iOS, et tu peux exiger Face ID ou Touch ID pour ouvrir l'app.
13. Tes droits
Avec le RGPD et les lois similaires, tu peux :
- accéder aux données qu'on a sur toi et en obtenir une copie (Exporter les données d'entraînement dans les Réglages exporte tes données d'entraînement ; écris-nous pour le reste) ;
- les corriger (la plupart se modifient dans l'app) ;
- les supprimer (Supprimer le compte dans les Réglages) ;
- limiter leur utilisation ou t'y opposer, y compris pour les usages fondés sur notre intérêt légitime ;
- retirer ton consentement à tout moment, dans les Réglages d'iOS ou dans l'app, sans effet sur ce qui a été fait avant.
Écris à support@ultratrain.app ; on te répond sous un mois. Tu peux aussi faire une réclamation auprès de ton autorité de protection des données, en France la CNIL (www.cnil.fr).
Transferts hors de l'UE : Railway, OpenAI, RevenueCat, Google, Stripe, Strava et Apple traitent des données aux États-Unis. Ces transferts reposent sur les garanties que ces prestataires proposent, comme les clauses contractuelles types de l'UE ou le cadre de protection des données UE-États-Unis (Data Privacy Framework).
14. Enfants
UltraTrain n'est pas destinée aux enfants de moins de 13 ans, ou de moins de l'âge du consentement numérique dans ton pays (15 ans en France). On ne collecte pas sciemment leurs données. Si tu penses qu'un enfant nous a donné des données, écris-nous et on les supprimera.
15. Versions précédentes (1.x)
Dans UltraTrain 1.x, les photos de repas que tu choisissais d'analyser étaient envoyées à OpenAI, la recherche d'aliments utilisait Open Food Facts, la météo utilisait ta position et, si tu activais la synchronisation iCloud, des valeurs de santé (fréquence cardiaque, poids, sommeil, VFC, check-ins) étaient stockées dans ton iCloud privé. À partir de la 2.0, ces fonctions sont supprimées et ces valeurs de santé ne vont jamais sur iCloud. Au premier lancement de la 2.0, l'app retire ces valeurs de santé d'iCloud et les garde sur ton appareil. Si tu avais déjà désactivé la synchronisation iCloud, tu peux supprimer l'ancienne copie dans Réglages > ton nom > iCloud > Gérer le stockage.
16. Modifications de cette politique
Si on modifie cette politique, on met à jour la date en haut de la page. Pour les changements importants, on te prévient aussi dans l'app.
17. Contact
Mohamed-Amine Idir, UltraTrain : support@ultratrain.app