Politique de confidentialité
Cette politique décrit l'app mobile BikeOtter et le site bikeotter.app. Elle a été écrite en lisant ce que le logiciel fait réellement — quels champs un point de suivi en direct transporte, quelle purge le supprime et quand, quels hôtes sont contactés — plutôt qu'à partir d'un modèle. Quand une limite est donnée sous forme de chiffre, ce chiffre est celui du code.
Version 1.1 · dernière mise à jour le 9 août 2026 · s'applique à l'app et à ce site
La version courte
- Il n'y a ni outil d'analyse ni rapport de plantage. Pas de Google Analytics, pas de Firebase, pas de Sentry, pas de SDK publicitaire ou d'attribution — ni dans l'app ni sur ce site. Rien ici ne te compte.
- L'essentiel de l'app ne demande aucun compte. La planification d'itinéraires, l'envoi d'itinéraires, la récupération des sorties, les règles et les alertes fonctionnent sans connexion. Un compte n'existe que pour le suivi en direct, les e-mails de notification de sortie et la liaison Strava.
- Tes itinéraires, tes fichiers de sortie et ta voix restent sur le téléphone. La reconnaissance vocale s'exécute sur l'appareil ; il n'y a délibérément aucune reconnaissance vocale dans le cloud.
- Le suivi en direct est la seule fonction qui publie ta position, auprès de quiconque détient le lien, pendant la durée de la sortie. La fréquence cardiaque, la puissance et la cadence sont désactivées par défaut. Tes points de position et l'enregistrement de la session sont supprimés ensemble, 7 jours après la fin ou l'expiration de la sortie.
- Une chose que l'app fait sans demander : elle vérifie au lancement si un correctif de code est disponible, via Shorebird, et cette vérification ne peut pas être désactivée. Elle ne transporte aucune identité que nous lui donnerions — mais elle contacte bien un serveur. §10.1 explique exactement ce que nous savons et ce que nous ne savons pas.
- Rien n'est vendu, loué ni partagé à des fins publicitaires. Jamais.
1. Qui est responsable
Le responsable du traitement décrit ici, au sens de l'Art. 4(7) GDPR, est :
OpenBikeControl UG (haftungsbeschränkt)Ulrichstraße 24
71636 Ludwigsburg, Germany
E-mail : support@bikeotter.app
Les coordonnées complètes de la société figurent sur la page mentions légales. Il n'y a pas de délégué à la protection des données obligatoire ; écris à l'adresse ci-dessus pour tout ce qui concerne cette page.
2. Ce qui ne quitte jamais ton téléphone
Ce qui suit est conservé dans le stockage propre de l'app sur ton appareil et n'est envoyé nulle part par BikeOtter. Cela ne sort que si tu l'exportes ou le partages toi-même.
- Ta bibliothèque d'itinéraires. Les itinéraires sont des fichiers sur le téléphone — la géométrie plus un index. Partager un itinéraire produit un lien autonome qui transporte l'itinéraire en lui-même ; aucun itinéraire n'est envoyé sur un serveur pour être partagé.
- Tes sorties. Les sorties récupérées depuis le compteur et celles enregistrées par le téléphone sont stockées sur l'appareil sous forme de fichiers FIT et GPX. Elles ne le quittent que si tu les partages ou si tu as activé l'envoi vers Strava.
- La commande vocale. La reconnaissance vocale est configurée pour s'exécuter sur l'appareil, et les commandes sont interprétées d'abord par une grammaire hors ligne puis, si nécessaire, par un modèle embarqué (Apple Foundation Models ou Gemini Nano). Il n'y a délibérément ni reconnaissance vocale ni modèle de langage dans le cloud — aucun audio et aucune transcription ne sont envoyés à un quelconque serveur.
- Tes réglages, règles, lieux enregistrés et la configuration du transfert de notifications.
- Les notifications transférées au compteur (Android uniquement). Si tu accordes l'accès aux notifications, l'app lit les notifications du téléphone pour les afficher sur l'ELEMNT ou l'Edge et les transmet directement en Bluetooth. Leur contenu n'est pas stocké par l'app et n'atteint jamais un serveur.
- Tout ce que l'app fait avec le compteur lui-même — appairage, envoi d'itinéraires, récupération des sorties, alertes à l'écran — passe par une liaison Bluetooth directe entre ton téléphone et ton appareil. Aucun cloud de fabricant ni aucun serveur BikeOtter ne se trouve sur ce chemin.
3. Ton compte
Un compte n'est requis que pour le suivi en direct, les e-mails de notification de sortie et la liaison Strava. Tout le reste fonctionne sans connexion.
Tu peux te connecter de deux façons : un lien magique envoyé à ton adresse e-mail, ou la connexion via Strava. Il n'y a ni mot de passe ni profil. Ce qui est stocké, c'est un enregistrement utilisateur tenu par notre fournisseur backend (Supabase), contenant ton adresse e-mail et les horodatages de connexion, plus — pour la connexion via Strava — l'identifiant d'athlète Strava et le nom affiché.
Ton adresse e-mail sert à t'identifier, et sa partie locale (la partie avant le
@) devient le nom de cycliste affiché aux spectateurs d'un lien en direct. Si
ton adresse est [email protected], les spectateurs voient jane.doe.
Garde-le en tête au moment de choisir l'adresse avec laquelle tu te connectes.
Pour supprimer ton compte et tout ce qui y est rattaché, écris à support@bikeotter.app depuis l'adresse avec laquelle tu te connectes. La suppression du compte est en cascade : les sessions de suivi en direct et leurs points de position, les sorties de groupe, les messages que des spectateurs t'ont envoyés, tes contacts enregistrés et leurs groupes, les enregistrements de notification et la liaison Strava partent avec lui. Il n'y a pas encore de bouton en libre-service dans l'app — la page de suppression donne les étapes, la liste complète de ce qui part, et ce qui est conservé ensuite.
4. Suivi en direct
C'est la seule fonction qui publie où tu es. Elle est inactive tant que tu ne la démarres pas, et elle se termine avec la sortie.
Ce qu'est un lien partagé
Démarrer une sortie en direct crée une session avec un jeton de partage : 20 caractères tirés d'une source aléatoire cryptographique, donnant un lien de la forme bikeotter.app/r/<token>. Quiconque possède ce lien peut regarder, sans compte et sans connexion. Le lien est l'accréditation, traite-le donc comme telle — transmets-le aux personnes que tu veux vraiment voir regarder. Les spectateurs ne voient que ce qui est listé ci-dessous ; ils ne reçoivent jamais ton adresse e-mail, ton identifiant de compte ni le jeton d'une autre session.
Le navigateur d'un spectateur reçoit un jeton d'accès de courte durée, limité à cette seule session et plafonné à six heures. La base de données l'applique colonne par colonne : le propriétaire de la session et son jeton de partage ne sont pas du tout lisibles par les spectateurs.
L'app t'affiche en direct le nombre de personnes qui regardent. Elle ne te dit pas qui elles sont — aucune identité de spectateur n'est collectée.
Ce que contient un point en direct
Des points sont envoyés pendant que tu roules, à un rythme limité par le temps et la distance. Chacun transporte :
| Champ | Envoyé | Remarques |
|---|---|---|
| Latitude, longitude | Toujours | Tout l'objet de la fonction. |
| Altitude, temps écoulé, pente, état de la sortie | Toujours | L'altitude est ta hauteur au-dessus du niveau de la mer — la troisième coordonnée
d'une position que tu partages déjà, et la mesure dont la pente affichée à côté est
déduite ; les deux ne sont donc pas envoyées séparément. L'état de la sortie est
active, paused, auto_paused ou
not_started, pour que la page puisse afficher EN PAUSE plutôt
qu'un badge EN DIRECT mensonger. Les quatre sont envoyés indépendamment
des deux interrupteurs ci-dessous, à dessein. |
| Batterie faible | Seulement si faible — aucun interrupteur | Un indicateur, pas un pourcentage — cette page n'apprend jamais combien de batterie il te reste, seulement qu'elle est faible. Il n'est envoyé que pendant que la batterie de ton téléphone est faible et qu'il n'est pas en charge, pour qu'un spectateur puisse distinguer un téléphone sur le point de s'éteindre d'un signal perdu. Tant que c'est le cas, l'app envoie aussi ta position moins souvent. |
| Vitesse, distance parcourue, dénivelé déjà grimpé, distance et dénivelé restants, heure d'arrivée estimée | Seulement si « partager la vitesse » est activé — activé par défaut | Désactive-le et aucune de ces six valeurs n'est envoyée. Le « dénivelé déjà grimpé » est le total de mètres que tu as grimpés sur cette sortie, un chiffre différent de l'altitude ci-dessus : l'un est un cumul, l'autre est là où tu te trouves à l'instant. |
| Fréquence cardiaque, puissance, cadence | Seulement si « partager fréquence cardiaque & puissance » est activé — désactivé par défaut | La fréquence cardiaque est une donnée de santé. Elle n'est envoyée que si tu actives cet interrupteur, et il démarre désactivé. La cadence — la vitesse à laquelle tu pédales, en tours par minute — est régie par ce même interrupteur même s'il ne porte pas son nom : c'est une mesure de capteur du même genre, et elle en dit autant sur ton effort que la puissance. L'interrupteur dans l'app l'indique juste en dessous. |
Ce que contient la session elle-même
En plus des points : ton nom de cycliste (voir §3), le nom de l'itinéraire, le tracé prévu de l'itinéraire, sa distance totale, les coordonnées de son point de départ, les deux interrupteurs de partage ci-dessus, l'activation ou non des messages, le statut de la session et ses horodatages, et — pour une sortie de groupe — le groupe auquel elle appartient.
Quand elle se termine, et quand elle est supprimée
Une session expire au premier de ces événements, et l'expiration est vérifiée chaque minute :
- l'heure d'expiration fixée quand tu l'as démarrée — six heures par défaut ;
- 45 minutes après le dernier point ou signal keep-alive de l'app, pour qu'une sortie oubliée ne reste pas « en direct » toute la soirée ;
- 60 minutes après sa création, si aucune position n'est jamais arrivée.
La suppression suit ensuite automatiquement :
- L'enregistrement de la session est supprimé 7 jours après sa fin ou son expiration, emportant tout ce qui y est encore rattaché.
- Tes points de position sont supprimés avec lui — les mêmes 7 jours, pas un instant de plus. Ils étaient auparavant purgés après 24 heures, avant la session ; ils sont désormais conservés pendant toute la vie de la session elle-même, pour qu'une sortie dont le compteur a perdu l'enregistrement puisse encore être reconstruite dans l'app à partir de la trace en direct. Rien d'autre n'a changé dans la purge, et la borne extérieure de la durée de conservation d'une sortie partagée reste inchangée à 7 jours.
Les sorties de groupe fonctionnent de la même façon une fois la sortie lancée : un lien de groupe est valable 12 heures à partir du lancement, accueille au plus 10 cyclistes, et l'enregistrement du groupe est supprimé 7 jours après sa fin. Une sortie planifiée à l'avance, c'est différent : le lien — et les noms de celles et ceux qui ont déjà dit oui — reste ouvert à l'inscription jusqu'à 30 jours avant que quiconque ne parte réellement ; le compte à rebours de 12 heures ne démarre que lorsque le premier cycliste se met en direct. Mettre fin à un partage depuis l'app arrête l'envoi immédiatement ; les purges effacent ensuite les données stockées selon le calendrier ci-dessus.
5. Messages des spectateurs
Si tu actives les messages, une personne arrivée sur ton lien par l'un de tes e-mails de notification peut t'envoyer de courts messages, qui s'affichent sur ton compteur. Un spectateur ordinaire qui a simplement le lien ne le peut pas — l'envoi exige un jeton propre au contact que seul le lien envoyé par e-mail transporte.
Un message stocke son texte, le contact expéditeur et un horodatage. Les expéditeurs sont limités à trois messages par heure. Les messages sont rattachés à la session et supprimés avec elle — donc dans la même fenêtre de 7 jours qu'au §4. Les messages sont stockés en clair sur le serveur ; ils ne sont pas chiffrés de bout en bout.
6. E-mails de notification de sortie
Tu peux enregistrer des contacts pour que le démarrage d'une sortie en direct leur envoie le lien par e-mail. Rien n'est envoyé sauf si tu choisis un groupe au moment de passer en direct ; choisir « personne pour cette sortie » n'envoie rien.
Ce qui est stocké par contact : l'adresse e-mail (en minuscules), un nom facultatif, un jeton de désabonnement, un jeton de message, et — le cas échéant — la date de son désabonnement ou celle d'un rejet définitif (hard bounce) du courrier qui lui était adressé. Les contacts ne sont visibles que par toi ; la base de données leur refuse entièrement l'accès anonyme.
Ce que l'e-mail contient et révèle : ton nom de cycliste, le nom et la distance de
l'itinéraire, le lien de visionnage, la date d'expiration du lien, et un lien de
désabonnement. Il est envoyé depuis [email protected] par un Worker
Cloudflare pour notre compte, et son Reply-To est réglé sur ta propre adresse
e-mail pour qu'un destinataire puisse te répondre directement — ce qui signifie que tes
destinataires peuvent voir l'adresse avec laquelle tu te connectes.
L'e-mail d'arrivée (facultatif, et désactivé tant que tu ne le demandes pas) : active « Préviens-les quand tu rentres » pour un groupe de contacts et les personnes à qui le lien de cette sortie a été envoyé — seulement celles-là, et seulement si l'e-mail du lien leur est bien parvenu — reçoivent un court message quand la sortie se termine : que tu as terminé, la distance et le temps de roulage que la sortie a publiés, l'heure de ton retour, et le même lien de visionnage. Sur une sortie avec un itinéraire chargé, tu peux aussi recevoir un avertissement facultatif environ quinze minutes avant l'arrivée estimée. La distance n'y figure que si le partage « Vitesse et distance » était actif pour cette sortie : les chiffres sont relus depuis ce que la sortie a réellement publié, jamais reconstruits depuis l'itinéraire prévu. Une session qui expire simplement n'envoie rien — une expiration n'est pas une arrivée. Aucun des deux messages ne porte le jeton de message, car la sortie est finie.
Limites : au plus un e-mail de chaque type par contact et par sortie — le lien, l'avertissement facultatif et le message d'arrivée (un contact ne peut pas recevoir deux fois le même type pour la même session), au plus 50 membres par groupe, et au plus 200 e-mails de notification par cycliste par tranche glissante de 24 heures.
Se désabonner : chaque e-mail porte un lien de désabonnement en pied de page et les en-têtes standard de désabonnement en un clic, si bien que le bouton « se désabonner » du client mail lui-même fonctionne. Un désabonnement ne demande aucun compte et arrête toute nouvelle notification de sortie vers cette adresse.
Ta responsabilité : quand tu ajoutes l'adresse e-mail de quelqu'un d'autre, tu nous demandes d'écrire à une personne qui n'a jamais eu affaire à nous. N'ajoute que des personnes qui s'attendent à avoir de tes nouvelles. Les contacts n'ont pas d'expiration automatique — ils sont conservés jusqu'à ce que tu supprimes le contact ou ton compte.
7. Strava
La liaison avec Strava est facultative. L'autorisation se fait dans le navigateur de ton système, sur les pages de Strava ; BikeOtter ne voit jamais ton mot de passe Strava.
- Autorisations demandées :
read,read_all,activity:read_alletactivity:write— de quoi lister et importer tes itinéraires et activités et envoyer des sorties. - Où vivent les jetons : tes jetons d'accès et de rafraîchissement Strava sont stockés uniquement côté serveur, dans notre backend, et ne sont lisibles par rien d'autre que la fonction serveur qui les utilise. Le téléphone ne détient qu'une valeur de courte durée gardée en mémoire pendant la poignée de main de connexion, jamais écrite sur le disque.
- Ce qui monte : le fichier de la sortie lui-même (un FIT compressé), plus un nom et une description facultatifs, quand tu envoies une sortie.
- Ce qui descend : tes itinéraires et activités Strava, des exports GPX d'itinéraires, et les flux position/altitude/temps d'une activité quand tu l'importes comme itinéraire. Les réponses sont mises en cache pour ton compte et supprimées après 48 heures.
- La déconnexion révoque le jeton chez Strava et supprime la liaison stockée. Tant que tu ne te déconnectes pas, l'enregistrement de liaison persiste — il n'a pas d'expiration automatique.
Ce que Strava fait ensuite de tes données relève de la propre politique de confidentialité de Strava. Strava est une société américaine et son utilisation implique un transfert de données vers les États-Unis.
8. Météo, POI, géocodage, calcul d'itinéraire et cartes
Plusieurs fonctions doivent interroger un service extérieur à propos d'un lieu. Il existe une distinction qui compte dans la manière de l'interroger :
- Via notre backend — les prévisions météo, la recherche de POI le long d'un itinéraire, le géocodage, et tout ce qui touche à Strava. Ton téléphone interroge notre fonction serveur ; la fonction serveur interroge le service extérieur. Ce service voit donc les coordonnées ou les termes de recherche, mais pas ton adresse IP.
- Directement depuis ton téléphone — le calcul d'itinéraire (BRouter) et les tuiles de carte (le serveur de tuiles OpenStreetMap). Ces services reçoivent la requête de ton appareil : ils voient donc ton adresse IP avec les coordonnées ou la zone de carte que tu regardes, et peuvent la consigner selon leurs propres politiques.
Les réponses météo, POI et géocodage sont mises en cache de notre côté pour que des recherches répétées ne redemandent pas : les résultats POI pendant 24 heures, la météo pendant 2 heures, le géocodage environ une semaine. Les caches sont indexés par lieu, pas par cycliste.
Un détail qui mérite d'être dit clairement : la recherche de POI utilise l'API Overpass
publique à overpass-api.de, et si elle est indisponible, elle se rabat sur un
miroir public hébergé à maps.mail.ru, exploité en Russie. Seules la zone de
recherche et les catégories recherchées sont envoyées, et la requête part de notre serveur
plutôt que de ton téléphone.
9. Le journal de diagnostic
L'app tient un journal technique pour que les problèmes de Bluetooth et de support puissent être signalés.
- Il est activé par défaut. Un cycliste qui rencontre un problème a ainsi un journal à joindre sans avoir eu la prévoyance d'activer l'enregistrement d'abord. Désactive-le à tout moment dans Réglages → Diagnostic.
- Les mots de passe, jetons et clés API sont retirés avant toute écriture — un jeton bearer, une clé API, un jeton de lien magique ou un code OAuth apparaissant n'importe où dans le journal devient un marqueur à sens unique, pas l'accréditation elle-même.
- Il reste sur le téléphone jusqu'à ce que tu le joignes à une demande de support. Deux fichiers en rotation dans le stockage propre de l'app ; rien ne quitte le téléphone avant cela. Il n'y a pas d'étape de rédaction d'e-mail — une demande de support s'envoie depuis l'app elle-même, comme message d'un fil de support en cours (voir le point suivant). Y joindre le journal l'envoie vers un bucket de stockage privé, et cette copie envoyée est supprimée après 180 jours. Tu peux effacer la copie sur le téléphone, ou désactiver la journalisation, à tout moment dans Réglages → Diagnostic.
- Une demande de support est un fil, pas un e-mail ponctuel. Ce que tu écris — avec ou sans journal joint — est stocké comme partie d'une conversation de support en cours, liée à ton compte et à ton adresse e-mail de connexion. Elle est lisible par l'équipe BikeOtter qui répond aux demandes de support, et par personne d'autre. La conversation elle-même est conservée jusqu'à la suppression de ton compte, moment où elle est supprimée avec lui (voir la page de suppression) ; un journal envoyé suit dans tous les cas sa propre horloge de 180 jours, indépendante du compte.
- Ce qu'il contient : la version et le build de l'app, le modèle du téléphone, la version du système d'exploitation, la langue et le fuseau horaire, plus une trace technique des connexions aux appareils et des événements de l'app. Les jetons de partage en direct sont tronqués avant d'être écrits. Il peut contenir des coordonnées de position — au moins une fonction liée à l'appareil journalise la latitude et la longitude du cycliste — plus des coordonnées d'itinéraires, des lieux enregistrés et des numéros de série d'appareils. Ce n'est pas caviardé : traite donc un journal de diagnostic comme des données sur toi, et n'en envoie un qu'à quelqu'un de confiance.
10. Les tiers auxquels nous faisons appel
La liste complète des services extérieurs que l'app, le backend et ce site contactent. Il n'y en a pas d'autres, et en particulier il n'y a nulle part dans le produit de service d'analyse, d'attribution, de publicité ou de rapport de plantage.
| Service | Utilisé pour | Ce qu'il reçoit |
|---|---|---|
| Supabase | Base de données, connexion, fonctions serveur et le flux temps réel derrière le suivi en direct | Tout ce qui est décrit aux §3–§8 et qui est stocké, plus les métadonnées de connexion que tout hôte voit. Hébergé dans l'UE — le projet tourne dans la région West EU (Ireland) de Supabase, ces données sont donc stockées à l'intérieur de l'EEE. |
| Cloudflare | Hébergement de bikeotter.app et des pages de visionnage ; le Worker qui envoie les e-mails de notification de sortie | Les requêtes vers ce site et vers le point de terminaison mail, adresse IP comprise, dans le cadre de leur service et de leur protection. Les journaux de requêtes des Workers sont conservés selon les paramètres par défaut propres à Cloudflare. |
| Open-Meteo | Prévisions météo | Des coordonnées et des heures, envoyées par notre serveur, pas par ton téléphone. |
API Overpass (overpass-api.de, miroir de secours à
maps.mail.ru) | Recherche de POI le long d'un itinéraire | La zone de recherche et les catégories, envoyées par notre serveur. |
Photon (photon.komoot.io) et Nominatim
(nominatim.openstreetmap.org) | Convertir des noms de lieux en coordonnées et inversement | Le terme de recherche ou les coordonnées, envoyés par notre serveur. |
BRouter (brouter.de) | Calculer un itinéraire entre tes points de passage | Les coordonnées de tes points de passage et le profil choisi — envoyés directement par ton téléphone, il voit donc ton adresse IP. |
| Serveur de tuiles OpenStreetMap | L'imagerie de carte dans l'app et sur la page de visionnage | Les tuiles de carte que tu regardes — demandées directement, il voit donc ton adresse IP. |
| Strava | Import facultatif d'itinéraires/activités et envoi de sorties | Voir §7. États-Unis. |
| Shorebird | Livraison à distance de correctifs de code vers l'app installée | Une vérification de mise à jour au lancement. Voir §10.1 — elle n'est pas facultative. |
Les boutiques d'applications sont à part : si tu installes BikeOtter depuis l'App Store d'Apple ou Google Play, les dispositifs propres à cette boutique en matière de compte, d'achat et de rapport de plantage s'appliquent entre toi et elle, et échappent à notre contrôle.
10.1 Shorebird, et pourquoi il contacte un serveur sans demander
BikeOtter est publié via Shorebird, qui nous permet de livrer un correctif du code Dart de l'app à distance, entre deux versions en boutique. C'est le mécanisme derrière un correctif qui arrive sans mise à jour de la boutique.
Ce que tu dois savoir : l'app vérifie au lancement si un correctif existe, automatiquement, et aucun réglage ne permet de désactiver cette vérification. Notre configuration ne désactive pas la vérification automatique, et l'app n'offre aucun moyen de s'y soustraire — la seule façon de l'arrêter est de ne pas lancer l'app. Nous préférons le dire clairement plutôt que l'enterrer.
Nous n'exploitons pas les serveurs de Shorebird et ne pouvons pas observer ce que son module de mise à jour envoie, car ce module est intégré au runtime de l'app plutôt qu'à du code que nous écrivons. Ce qu'une telle vérification implique nécessairement, en revanche, n'est pas une question d'opinion : pour recevoir une réponse, elle doit identifier quelle app demande (notre identifiant d'app Shorebird, qui n'est pas secret et est le même pour chaque installation) et quelle version et quel niveau de correctif sont déjà installés, et — comme toute requête réseau — elle atteint les serveurs de Shorebird depuis ton adresse IP. Pars du principe que Shorebird peut voir au moins cela, et qu'il peut le consigner comme tout hôte consigne les requêtes.
Deux choses que nous n'avons pas pu établir et que nous ne devinerons pas : le contenu exact de cette requête au-delà de ce qui précède, et le pays où se trouvent ses serveurs. Si tu as besoin de l'une ou de l'autre avant d'installer, demande-nous et nous irons chercher la réponse de Shorebird par écrit plutôt que de spéculer ici.
Ce que nous pouvons exclure : la vérification n'est pas liée à ton compte, et BikeOtter fonctionne sans connexion, la requête ne transporte donc aucune identité que nous lui aurions donnée. Un correctif modifie le code de l'app — jamais tes données, tes sorties ou tes itinéraires.
11. Autorisations du téléphone
L'app demande aussi peu que possible, et chaque autorisation sert exactement à une chose.
| Autorisation | Pourquoi |
|---|---|
| Bluetooth | Pour trouver ton compteur et tes capteurs et leur parler. Sur Android, l'autorisation de scan est déclarée comme n'étant jamais utilisée pour en déduire la position. |
| Position | Position approximative sur Android, « pendant l'utilisation de l'app » sur iOS : pour chercher des POI près de toi et lancer un recalcul d'itinéraire depuis là où tu es. La position en arrière-plan n'est demandée sur aucune des deux plateformes. Pendant une sortie, la position partagée vient du compteur, en Bluetooth. |
| Micro et reconnaissance vocale | Les commandes vocales. La reconnaissance s'exécute sur l'appareil ; l'audio n'est envoyé nulle part. |
| Notifications | Pour afficher la notification permanente de la sortie et les alertes. |
| Accès aux notifications (Android uniquement) | Facultatif. Permet à l'app de lire les notifications entrantes du téléphone pour les afficher sur ton compteur. Tu l'accordes toi-même dans les réglages système, et leur contenu n'est jamais stocké ni envoyé. |
| Lancement au démarrage / exemption de batterie (Android uniquement) | Pour qu'une sortie interrompue puisse reprendre après un redémarrage et ne soit pas tuée en pleine sortie. |
L'app ne demande ni les photos, ni l'appareil photo, ni la liste de contacts de ton téléphone, ni le calendrier, ni aucun identifiant publicitaire, et elle n'utilise pas l'autorisation de pistage d'Apple parce qu'elle ne piste pas.
12. La conservation en un coup d'œil
| Données | Conservées |
|---|---|
| Points de position en direct | 7 jours après la fin ou l'expiration de la sortie — supprimés avec leur session |
| Enregistrement de session en direct | 7 jours après sa fin ou son expiration |
| Enregistrement de sortie de groupe | 7 jours après sa fin ou son expiration |
| Messages des spectateurs | Supprimés avec leur session — donc dans les mêmes 7 jours |
| Cache météo | 2 heures |
| Cache POI | 24 heures |
| Cache de géocodage | 8 jours |
| Cache des réponses Strava | 48 heures |
| Contacts et leurs enregistrements de notification | Jusqu'à ce que tu supprimes le contact ou ton compte — pas d'expiration automatique |
| Liaison Strava | Jusqu'à ta déconnexion ou la suppression de ton compte |
| Enregistrement du compte | Jusqu'à ce que tu nous demandes de le supprimer — voir comment supprimer ton compte |
| Conversation de support (fil et messages) | Jusqu'à la suppression de ton compte — voir comment supprimer ton compte |
| Journal de diagnostic | Sur ton téléphone par défaut, en rotation automatique, supprimable par toi à tout moment ; s'il est joint à une demande de support, la copie envoyée est conservée 180 jours sur sa propre horloge, indépendamment du compte |
Les journaux de serveur et de plateforme tenus par nos hébergeurs (Supabase, Cloudflare) suivent les durées de conservation par défaut de ces fournisseurs et peuvent contenir brièvement des adresses IP, part inévitable du traitement d'une requête.
13. Bases légales
- Art. 6(1)(b) GDPR — exécuter ce que tu as demandé. Te connecter, faire tourner un partage en direct que tu as démarré, envoyer les e-mails de notification que tu as demandés, envoyer une sortie vers un compte Strava que tu as lié, calculer un itinéraire que tu as tracé, et envoyer une demande de support avec le journal de diagnostic joint.
- Art. 9(2)(a) GDPR — consentement explicite pour les données de santé. La fréquence cardiaque et la puissance sont des données de santé. Elles ne sont envoyées que lorsque tu actives « partager fréquence cardiaque & puissance » ; l'interrupteur est désactivé par défaut et le désactiver arrête l'envoi. La cadence est envoyée sous ce même interrupteur. Nous ne prétendons pas que la cadence soit une donnée de santé au sens de l'Art. 9 — c'est une mesure prise sur un capteur de pédalier, pas sur ton corps — mais elle appartient à la même famille et reçoit la même protection plutôt qu'une protection plus faible.
- Art. 6(1)(f) GDPR — intérêts légitimes à maintenir le service en état de marche et à l'abri des abus : limites de débit, garde-fous « un e-mail par contact et par sortie », gestion des rejets, la journalisation minimale des requêtes effectuée par nos hébergeurs, et la journalisation de diagnostic sur l'appareil par défaut pour qu'une demande de support puisse en inclure un — tu peux la désactiver à tout moment dans Réglages → Diagnostic.
Retirer ton consentement est toujours possible et prend effet pour l'avenir : mets fin au partage, désactive l'interrupteur fréquence cardiaque/puissance, désactive le journal, déconnecte Strava, supprime le contact.
14. Tes droits
Au titre du GDPR, tu as le droit d'accéder à tes données (Art. 15), de les faire rectifier (Art. 16) ou effacer (Art. 17), de limiter le traitement (Art. 18), de les recevoir sous une forme portable (Art. 20), et de t'opposer au traitement fondé sur des intérêts légitimes (Art. 21). Là où le traitement repose sur le consentement, tu peux le retirer à tout moment.
Écris à support@bikeotter.app et nous nous en occuperons. Tu peux aussi faire une bonne partie toi-même dans l'app : mettre fin à un partage, supprimer un contact, déconnecter Strava, effacer le journal de diagnostic.
L'effacement (Art. 17) a sa propre page, parce qu'il mérite le détail : comment supprimer ton compte — les étapes, ce qui est effacé avec lui, ce qui est conservé ensuite et pour combien de temps.
Si tu penses que nous nous trompons, tu peux adresser une réclamation à une autorité de contrôle de la protection des données — dans l'UE, celle de ton lieu de résidence, de ton lieu de travail ou du lieu de la violation alléguée (Art. 77 GDPR).
15. Ce site web
bikeotter.app est un ensemble de pages statiques hébergées chez Cloudflare. Il ne pose aucun cookie, n'exécute aucun outil d'analyse et ne stocke rien dans le stockage local de ton navigateur. Il n'y a rien ici qui appelle un consentement, c'est pourquoi on ne t'en demande pas.
Chaque ressource dont une page a besoin ici est servie depuis ce site. Les polices (Geist et Geist Mono) sont hébergées par nous plutôt que récupérées depuis un CDN de polices, précisément pour que lire une page ne remette pas ton adresse IP à un tiers. Il n'y a ni vidéo intégrée, ni gestionnaire de balises, ni widget de partage, ni service de polices web. La seule partie qui voit nécessairement ta requête est Cloudflare, qui héberge les pages — inévitable, puisqu'il faut bien que quelque chose les serve.
La page de visionnage du suivi en direct à bikeotter.app/r/… et celle des groupes à /g/… chargent en plus les données de la sortie partagée depuis notre backend et les tuiles de carte depuis OpenStreetMap. Ouvrir un lien de visionnage ne garde délibérément aucune session dans ton navigateur : le jeton d'accès utilisé est tenu en mémoire pour cette seule visite et n'est pas persisté. Les spectateurs sont comptés, pas identifiés.
Les liens de visionnage sont exclus des moteurs de recherche par robots.txt, et
chacun porte une instruction noindex, pour qu'une sortie partagée n'ait pas
vocation à apparaître dans les résultats de recherche.
16. Enfants
BikeOtter ne s'adresse pas aux enfants et n'est pas destiné aux moins de 16 ans. Nous ne collectons pas sciemment de données d'enfants. Si tu penses qu'un enfant a utilisé l'app avec un compte, écris-nous et nous le supprimerons.
17. Modifications
L'app est jeune et change encore. Si ce qu'elle collecte change, cette page change avec elle, et la version et la date en haut avancent. Les changements substantiels seront signalés dans l'app plutôt que glissés en douce.
18. Contact
Questions, demandes, ou une correction à apporter à cette page : support@bikeotter.app.
Voir aussi les conditions d'utilisation et l'avertissement de sécurité et les mentions légales.