1. Qui sommes-nous
TrailMath est un outil de planification d entrainement de trail exploite par SC EXPRESS DESIGN SRL (CUI RO19127375), Brasov, Roumanie (responsable du traitement au sens du Reglement general sur la protection des donnees de l UE, "RGPD").
Contact : support@trailmath.run
2. Champ d application
Cette Politique de confidentialite s applique aux donnees personnelles traitees via l application web TrailMath a l adresse app.trailmath.run, les applications mobiles TrailMath, et le site vitrine trailmath.run.
Vous devez avoir au moins 16 ans pour utiliser TrailMath. Nous ne collectons pas sciemment de donnees concernant des personnes de moins de 16 ans. Si nous constatons qu un utilisateur a moins de 16 ans, nous supprimerons rapidement son compte et les donnees associees.
En creant un compte, vous acceptez nos Conditions d utilisation. Lorsque vous connectez des plateformes tierces (Strava, Garmin), leurs propres politiques de confidentialite s appliquent egalement - voir la Section 6.
TrailMath prend en charge les comptes invites - vous pouvez commencer a utiliser l application sans fournir d adresse e-mail. Les comptes invites stockent les memes donnees d entrainement et de profil decrites ci-dessous, associees a un identifiant genere par l appareil. Si vous vous inscrivez ensuite avec un e-mail, vos donnees invite sont reliees au nouveau compte.
3. Donnees collectees
3.1 Donnees du compte
Adresse e-mail et mot de passe (hache avec bcrypt) lorsque vous creez un compte enregistre. Les utilisateurs invites sont identifies par un identifiant genere par l appareil et ne fournissent pas d e-mail ni de mot de passe tant qu ils ne choisissent pas de s inscrire.
3.2 Donnees de profil et d onboarding
Niveau d experience en course, volume hebdomadaire, preferences d entrainement, objectifs de course (y compris nom de la course cible, date, distance, denivele et priorite), et preferences de planification (jours d entrainement preferes, jours disponibles par semaine) - fournis lors de l onboarding ou mis a jour ensuite dans les parametres du compte.
3.3 Donnees d entrainement
Plans d entrainement, seances programmees, statut de realisation, notes de seance, mesures reelles vs prevues (distance, duree, allure, denivele), et donnees au niveau de la seance telles que la structure d echauffement/retour au calme, les objectifs d intervalles et les valeurs de RPE (perception de l effort) que vous enregistrez dans l application.
3.4 Donnees de sante et de blessure
Si vous utilisez la fonctionnalite de suivi des blessures, nous collectons : localisation de la blessure, type, gravite, niveau de douleur, date d apparition, et toute note que vous fournissez. Ces donnees peuvent inclure des informations qualifiees de donnees de sante au titre de l article 9 du RGPD. Nous traitons ces donnees sur la base de votre consentement explicite (art. 9(2)(a) RGPD), que vous donnez en saisissant volontairement des informations sur vos blessures dans l application. Vous pouvez supprimer des enregistrements de blessure individuels a tout moment.
3.5 Donnees d entrainement de force
Si votre plan inclut des seances de renforcement, nous collectons : exercices effectues, series, repetitions, charge, temps de repos et statut de realisation des exercices.
3.7 Donnees des plateformes connectees
Lorsque vous connectez Strava ou Garmin (voir Section 6), nous recevons des donnees d activite incluant : type d activite, nom, date, duree, distance, denivele positif, resumes de frequence cardiaque (moyenne, max), et type de sport.
Nous stockons aussi temporairement la reponse API brute de chaque plateforme, qui peut contenir des metadonnees supplementaires au-dela des champs listes ci-dessus (comme equipement, splits, tours, ou resumes GPS). Les enregistrements d activites importees, y compris les reponses brutes, sont automatiquement supprimes apres 7 jours. Les metriques d entrainement derivees des activites rapprochees (duree, distance, denivele) sont conservees dans votre historique d entrainement.
3.8 Donnees de notification push et d appareil
Si vous activez les notifications push sur votre appareil mobile, nous stockons un jeton d appareil (fourni par Firebase Cloud Messaging) associe a votre compte. Ce jeton est utilise uniquement pour envoyer les notifications que vous avez choisies. Vous pouvez desactiver les notifications push a tout moment dans les parametres de votre appareil, ce qui empeche effectivement tout nouvel envoi. Les jetons d appareil sont supprimes lorsque vous desactivez les notifications ou supprimez votre compte.
3.9 Donnees techniques
Adresse IP, type de navigateur, informations appareil et journaux de requetes collectes automatiquement.
4. Utilisation de vos donnees
4.1 Service principal
- Generer et gerer vos plans d entrainement selon vos objectifs, preferences et niveau de forme
- Envoyer les e-mails essentiels lies au compte (reinitialisation de mot de passe, alertes de securite)
4.2 Rapprochement des activites
Lorsque des activites arrivent depuis Strava ou Garmin, nous les rapprochons de vos seances planifiees pour suivre automatiquement leur realisation et calculer les metriques de charge d entrainement.
4.3 Estimation du volume et import historique
Au moment ou vous connectez une plateforme, nous importons jusqu a 180 jours d activites historiques. Ce retro-remplissage etablit votre volume recent de reference, utilise pour generer des plans d entrainement surs et efficaces - en evitant des pics de charge soudains pouvant conduire a des blessures.
4.4 Envoi d entrainements Garmin
Si vous connectez Garmin avec le scope training_api, TrailMath peut envoyer les
structures d entrainements a venir a votre appareil Garmin. Les details des donnees envoyees sont decrits dans
la Section 6.3.
4.5 Notifications push
Si elles sont activees, nous envoyons des notifications concernant les seances a venir, les mises a jour du plan ou les messages du coach. Vous pouvez desactiver les notifications a tout moment dans les parametres de votre appareil.
4.6 Diagnostic
- Diagnostiquer les problemes techniques et prevenir les abus
- Surveiller la disponibilite et les performances du service
Nous ne vendons pas vos donnees, ne les utilisons pas a des fins publicitaires, n envoyons pas d e-mails marketing et ne creons pas de profils publicitaires.
6. Plateformes connectees
6.1 Fonctionnement des connexions
Les connexions de plateforme utilisent le protocole d autorisation OAuth 2.0. Lorsque vous connectez Strava ou Garmin, vous etes redirige vers le site de cette plateforme ou vous accordez a TrailMath des permissions specifiques. Nous ne voyons ni ne stockons jamais votre mot de passe de plateforme.
Les jetons d acces OAuth et les jetons de rafraichissement sont stockes avec un chiffrement AES-256-CBC au niveau applicatif dans notre base de donnees. Les jetons sont utilises uniquement pour communiquer avec la plateforme connectee en votre nom.
6.2 Strava
Permissions demandees
Nous demandons les scopes read et activity:read_all. Le scope
activity:read_all donne acces a toutes les activites, y compris celles
que vous avez marquees comme privees sur Strava. Nous demandons ce scope plus large car de nombreux traileurs
marquent leurs activites d entrainement comme privees tout en souhaitant les inclure dans le suivi
du plan d entrainement. Vous pouvez revoquer cet acces a tout moment (voir section 6.5).
Direction des flux de donnees
Strava → TrailMath uniquement. Nous ne renvoyons aucune donnee vers Strava.
Donnees recues
Type d activite, nom, date, duree, distance, denivele positif, resume de frequence cardiaque, et la reponse API brute (qui peut inclure des metadonnees supplementaires comme l equipement, les splits ou les tours).
Conservation des donnees importees
Les enregistrements d activites importees, y compris les reponses API brutes, sont conserves jusqu a 7 jours, puis supprimes definitivement. Les metriques d entrainement deja ecrites dans les seances rapprochees (duree, distance, denivele) restent dans votre historique d entrainement. Voir la Section 11 pour la vue complete des durees de conservation.
Verification des webhooks
Strava transmet les mises a jour d activite via des webhooks. Nous verifions les webhooks entrants en comparant le
subscription_id avec notre abonnement enregistre.
Import historique
Au moment de la connexion, nous importons jusqu a 180 jours d activites passees. Ensuite, les nouvelles activites sont recues via le systeme d evenements webhook de Strava en quasi temps reel.
Suppression d activite
Si vous supprimez une activite sur Strava, nous recevons une notification webhook et supprimons l enregistrement importe correspondant dans TrailMath sous 48 heures. Les metriques d entrainement deja enregistrees dans vos seances (duree, distance, denivele) sont conservees dans votre historique d entrainement.
Deconnexion
Lorsque vous deconnectez Strava de TrailMath, nous appelons l endpoint de desautorisation Strava pour revoquer nos jetons d acces, puis supprimons tous les jetons et imports d activites en cache de notre base de donnees. Les metriques d entrainement deja enregistrees dans vos seances sont conservees dans votre historique d entrainement.
6.3 Garmin
Permissions demandees
Nous demandons les scopes activity_export (pour recevoir vos activites) et
training_api (pour envoyer des entrainements a votre appareil). Le flux OAuth utilise
PKCE (Proof Key for Code Exchange) pour une securite renforcee.
Direction des flux de donnees
Bidirectionnelle. Nous recevons des donnees d activite de Garmin et pouvons envoyer des structures d entrainement a votre appareil Garmin.
Donnees recues de Garmin
Type d activite, nom, date, duree, distance, denivele positif, resume de frequence cardiaque, et la reponse API brute.
Conservation des donnees importees
Les enregistrements d activites importees, y compris les reponses API brutes, sont conserves jusqu a 7 jours, puis supprimes definitivement. Les metriques d entrainement deja ecrites dans les seances rapprochees (duree, distance, denivele) restent dans votre historique d entrainement. Voir la Section 11 pour la vue complete des durees de conservation.
Donnees envoyees a Garmin
Lorsque vous choisissez d envoyer un entrainement a votre appareil Garmin, nous transmettons : nom de l entrainement, date, duree, type de sport et etapes structurees (echauffement, intervalles, retour au calme, zones d allure/frequence cardiaque, noms d exercices, series et repetitions pour les seances de renforcement). Aucune information personnelle, adresse e-mail ou donnee inter-plateforme n est incluse dans les payloads sortants.
Verification des webhooks
Garmin transmet les mises a jour d activite via des webhooks. Nous verifions les webhooks entrants Garmin via une validation de signature HMAC-SHA256.
Deconnexion
Lorsque vous deconnectez Garmin de TrailMath, nous supprimons tous les jetons OAuth de notre base de donnees. Note : l API Garmin ne fournit pas d endpoint de revocation de jeton a distance, nous ne pouvons donc pas revoquer programmatiquement l acces cote Garmin. Vous pouvez revoquer l acces de TrailMath directement depuis les your parametres de compte Garmin Connect. Les entrainements deja envoyes sur votre appareil y resteront.
6.4 Politiques de confidentialite des tiers
Strava et Garmin sont des responsables du traitement independants pour les donnees qu ils detiennent sur vous. Ils ne sont pas des sous-traitants de TrailMath - vous vous y connectez directement via OAuth, et leurs pratiques de confidentialite sont regies par leurs propres politiques :
6.5 Votre controle
- Toutes les connexions de plateformes sont optionnelles - TrailMath fonctionne sans elles.
- Vous pouvez deconnecter toute plateforme a tout moment depuis les parametres de votre compte.
- Vous pouvez aussi revoquer l acces directement depuis les parametres de votre compte Strava ou Garmin .
7. Applications mobiles et notifications push
TrailMath est disponible sous forme d application mobile. L application mobile accede au meme compte et aux memes donnees que celles decrites dans cette politique.
7.1 Notifications push
Si vous acceptez les notifications push, nous utilisons Firebase Cloud Messaging (FCM) exploite par Google pour les envoyer. Lorsque vous activez les notifications, votre appareil fournit un jeton d enregistrement que nous stockons et associons a votre compte. Ce jeton est un identifiant opaque - il ne contient pas d informations personnelles.
Les messages de notification sont composes sur nos serveurs dans l UE. Pour les delivrer, nous envoyons au service Firebase Cloud Messaging de Google uniquement le jeton d enregistrement de l appareil (un identifiant opaque) ainsi qu un court message generique (par ex. "Vous avez une seance aujourd hui"). Aucune donnee d entrainement detaillee, aucun identifiant personnel, ni contenu de message au-dela de ce bref message n est transfere a Google.
Vous pouvez desactiver les notifications push a tout moment via les reglages de notification de votre appareil. Lorsque vous desactivez les notifications ou supprimez votre compte, nous supprimons les jetons d appareil associes.
7.2 Distribution via les stores
L application mobile est distribuee via le Google Play Store et/ou l Apple App Store. Ces plateformes peuvent collecter leurs propres donnees (rapports de crash, analyses d installation), regies par leurs politiques de confidentialite respectives. TrailMath ne controle pas et ne recoit pas ces donnees.
8. Partage et destinataires
Nous ne vendons pas vos donnees. Nous ne partageons pas vos donnees avec des annonceurs.
8.1 Sous-traitants
Nous utilisons les sous-traitants suivants pour fournir le service :
| Sous-traitant | Finalite | Localisation des donnees |
|---|---|---|
| Hetzner Online GmbH | Hebergement de l infrastructure, base de donnees, sauvegardes | Germany (EU) |
| Bunny Fonts (BunnyWay d.o.o.) | Distribution de polices web | EU |
| Google LLC (Firebase Cloud Messaging) | Envoi des notifications push (lorsqu active). Seuls les jetons d enregistrement d appareil (identifiants opaques) sont partages avec Google pour le routage ; le contenu des notifications est compose dans l UE. | EU/US |
8.2 Plateformes tierces connectees
Strava et Garmin sont des responsables du traitement independants, pas des sous-traitants. Les flux de donnees vers et depuis ces plateformes sont inities par vous via les connexions OAuth. Voir la Section 6 pour plus de details.
8.3 Obligations legales
Nous pouvons divulguer des donnees personnelles si la loi, la reglementation, une procedure legale ou une demande d une autorite publique l exige.
9. Transferts internationaux
Toutes les donnees principales sont stockees sur des serveurs Hetzner en Allemagne.
Lorsque vous connectez Strava ou Garmin, des donnees sont transferees vers et depuis des services situes aux Etats-Unis. Ces transferts ont lieu sur la base de votre consentement explicite (art. 49(1)(a) RGPD) - vous initiez activement chaque connexion en sachant que des donnees seront transferees vers les Etats-Unis.
Firebase Cloud Messaging (si les notifications push sont activees) recoit des jetons d enregistrement d appareil - identifiants opaques sans donnees personnelles - afin d acheminer les notifications. Ces jetons peuvent etre traites aux Etats-Unis. Le contenu de notification lui-meme est un court message generique compose sur nos serveurs UE. Google participe au cadre UE-Etats-Unis relatif a la protection des donnees (Data Privacy Framework).
Nous vous recommandons de verifier si chaque prestataire participe au Data Privacy Framework UE-Etats-Unis ou propose des Clauses Contractuelles Types pour des garanties supplementaires.
10. Cookies, stockage local et stockage de l appareil
10.1 Cookies
TrailMath utilise les cookies suivants, tous essentiels au fonctionnement de l application. Nous n utilisons pas de cookies analytiques, de pixels de suivi ni de cookies publicitaires tiers.
| Cookie | Finalite | Duree |
|---|---|---|
trailmath_session |
Authentification de session | Session (expire a la fermeture du navigateur ou apres la duree configuree) |
XSRF-TOKEN |
Protection contre la falsification de requetes intersites | Session |
10.2 Stockage local (navigateur)
Nous utilisons le localStorage du navigateur pour enregistrer votre preference de mode sombre. Il s agit d un stockage fonctionnel sans suivi, conserve sur votre appareil et non envoye a nos serveurs.
10.3 Stockage sur appareil (mobile)
L application mobile peut stocker des jetons d authentification et preferences utilisateur dans un stockage securise de l appareil (Keychain sur iOS, Keystore sur Android). Ces donnees restent sur votre appareil et sont effacees lorsque vous vous deconnectez ou desinstallez l application.
11. Conservation
| Categorie de donnees | Duree de conservation |
|---|---|
| Donnees de compte et de profil | Jusqu a la suppression du compte |
| Donnees d entrainement (plans, seances, notes, donnees de renforcement) | Jusqu a la suppression du compte |
| Donnees de sante et de blessure | Jusqu a la suppression de l enregistrement ou du compte |
| Donnees d activite traitees (seances rapprochees) | Jusqu a la suppression du compte |
| Enregistrements d activites importees (Strava/Garmin) | Conserves jusqu a 7 jours, puis supprimes definitivement. Les metriques derivees des activites rapprochees sont conservees dans votre historique d entrainement. |
| Jetons OAuth (plateformes connectees) | Supprimes immediatement a la deconnexion |
| Historique de conversation avec le coach | Jusqu a la suppression du compte |
| Jetons d appareil de notification push | Jusqu a la desactivation des notifications ou la suppression du compte |
| Journaux techniques/securite | Conserves pour une periode limitee a des fins de debogage et de securite |
Lorsque vous supprimez votre compte, les donnees actives (profil, donnees d entrainement, conversations, jetons et donnees de plateformes connectees) sont supprimees immediatement de notre base de production. Les sauvegardes chiffrees de base de donnees sont ecrasees selon notre calendrier de rotation des sauvegardes.
12. Securite
Nous mettons en oeuvre les mesures techniques suivantes pour proteger vos donnees :
- Chiffrement en transit : TLS 1.2 ou superieur pour toutes les connexions
- Chiffrement au repos : chiffrement AES-256-CBC au niveau applicatif pour les champs sensibles (jetons OAuth, cles API) ; protections de niveau infrastructure Hetzner pour le stockage sous-jacent
- Hachage des mots de passe : bcrypt avec sel propre a chaque utilisateur
- Securite OAuth : PKCE pour Garmin, validation du parametre state pour tous les flux OAuth
- Verification des webhooks : validation de signature HMAC-SHA256 sur les webhooks entrants Garmin ; correspondance de l ID d abonnement pour les webhooks Strava
- Stockage des jetons : jetons OAuth stockes avec chiffrement AES-256-CBC au niveau applicatif
- Protection CSRF : protection contre la falsification de requetes intersites basee sur jeton pour toutes les requetes modifiant l etat
Notification de violation de donnees : En cas de violation de donnees personnelles presentant un risque pour vos droits et libertes, nous notifierons l autorite de controle competente dans un delai de 72 heures (art. 33 RGPD) et informerons les utilisateurs concernes sans retard injustifie (art. 34 RGPD) lorsque la violation est susceptible d engendrer un risque eleve.
13. Vos droits
En vertu du RGPD, vous disposez des droits suivants :
- Acces (art. 15) - demander une copie des donnees que nous detenons sur vous
- Rectification (art. 16) - corriger des donnees personnelles inexactes
- Effacement (art. 17) - demander la suppression de votre compte et des donnees associees
- Limitation (art. 18) - demander la limitation du traitement de vos donnees dans certaines circonstances
- Portabilite (art. 20) - exporter vos donnees d entrainement dans un format standard lisible par machine
- Opposition (art. 21) - vous opposer a un traitement fonde sur l interet legitime
- Retrait du consentement (art. 7(3)) - lorsque le traitement est fonde sur le consentement (par ex. connexions de plateformes, donnees de blessure, notifications push), vous pouvez retirer votre consentement a tout moment sans affecter la licite du traitement anterieur
La suppression du compte est disponible directement dans l application, dans les parametres du compte. Vous pouvez aussi demander la suppression par e-mail.
Pour exercer l un de ces droits, ecrivez a support@trailmath.run. Nous repondrons sous 30 jours. Si une prolongation est necessaire (jusqu a 60 jours supplementaires pour les demandes complexes), nous vous en informerons dans le delai initial de 30 jours.
Autorite de controle : Si vous estimez que nous n avons pas traite correctement vos preoccupations, vous avez le droit d introduire une reclamation aupres de l Autorite nationale roumaine de controle du traitement des donnees a caractere personnel (ANSPDCP).
14. Modifications et contact
Modifications de cette politique
Nous pouvons mettre a jour cette politique pour refleter l evolution de nos pratiques ou des exigences legales. Pour les modifications importantes (nouvelles categories de donnees, nouveaux sous-traitants, changements de vos droits), nous fournirons un preavis d au moins 14 jours via notification dans l application ou par e-mail avant l entree en vigueur des changements.
Des clarifications mineures ou changements de mise en forme peuvent etre effectues sans preavis. La date "Derniere mise a jour" en haut de cette page indique la revision la plus recente.
Contact
Pour toute question sur cette politique de confidentialite, vos donnees, ou pour exercer vos droits RGPD :
SC EXPRESS DESIGN SRL (CUI RO19127375)
Brasov, Roumanie
Email: support@trailmath.run