← psybertechno:geo

Confidentialité

Ce qui est envoyé, ce qui reste sur l'appareil, et à qui cela est transmis. Pas de généralités : uniquement ce qui existe réellement dans le code.

Version concernée : v0.1.3 / Dernière mise à jour : 2026-07-30

Cette page a été traduite automatiquement à partir de l'original japonais. En cas de divergence, la version japonaise fait foi.

Résumé

Identifiant d'appareil

Lors de la première utilisation, un UUID aléatoire (v4) est généré et stocké dans le localStorage de l'appareil sous la clé ptg:device-id. Il ne s'agit pas d'une authentification, mais d'un identifiant anonyme servant uniquement à attribuer le contenu publié et à la limitation de débit / la lutte contre les abus côté serveur. Il n'est lié ni à un nom, ni à un e-mail, ni à un identifiant publicitaire.

Effacer le stockage du navigateur, ou utiliser un autre navigateur ou un autre appareil, produit un identifiant différent (dans un environnement où le stockage n'est pas disponible, comme la navigation privée, un identifiant jetable est créé à chaque ouverture de la page). Lors de l'export/import de sauvegarde, cet identifiant est également transféré.

Ce qui est envoyé au serveur

L'envoi ne se produit que dans les cas suivants. Pour chacun, voici ce qui est envoyé et ce qui est stocké.

1. Publier (PUBLISH)

L'envoi n'a lieu que lorsque vous effectuez explicitement PUBLISH depuis EDIT MENU. Ce qui est envoyé :

  • La couche (AREA / SPOT) ainsi que l'identifiant et les coordonnées de la case
  • Le motif édité (le contenu lui-même : pas, hauteur, résolution, etc.)
  • La tribu (RED / GREEN / BLUE)
  • La version du générateur
  • Une clé pour éviter les envois en double (clé d'idempotence)
  • L'identifiant d'appareil
  • Le jeton Cloudflare Turnstile (détection de robots)
  • Si la position est disponible, la mesure de position au moment de l'envoi (latitude, longitude, précision, heure de mesure)

Ce qui est stocké sur le serveur (Cloudflare D1) : l'ensemble de la révision ci-dessus (couche, identifiant de case, coordonnées, numéro de séquence, identifiant d'appareil, motif, version du générateur, clé d'idempotence, horodatage de création, tribu), la mesure de position (latitude, longitude, précision), un indicateur précisant si cette mesure a pu être confirmée comme se trouvant dans la case, ainsi que le code pays déterminé par Cloudflare à partir de l'IP de connexion. Le code pays est seulement enregistré ; il ne sert jamais de motif de refus.

La mesure de position sert à vérifier que vous êtes dans la case ; une fois cette vérification effectuée, la latitude et la longitude sont conservées. Si la position n'est pas disponible, aucune mesure n'est envoyée et l'entrée est enregistrée comme « non vérifiée ».

2. Balise d'empreinte

Lorsque vous restez un certain temps dans la même case pendant la lecture, un petit signal indiquant que « cette case a effectivement été écoutée » est envoyé. Il sert à réinitialiser l'horloge d'érosion (decay) et à construire la carte de chaleur des empreintes.

Ce qui est envoyé : la couche et l'identifiant de la case écoutée, ainsi que l'identifiant d'appareil.

Ce qui est stocké : uniquement des agrégats par case (couche, identifiant de case, coordonnées, compteur cumulé, dernier horodatage). L'identifiant d'appareil n'est jamais écrit en base de données — il n'est utilisé qu'en mémoire, pendant le traitement de la requête, pour la limitation de débit, puis disparaît une fois la requête terminée. Aucune trace de qui a écouté quoi n'est conservée.

Ce qui est affiché sur la carte : la carte de chaleur des empreintes n'est jamais dessinée plus finement que l'échelle AREA (environ 250 m). Les empreintes à l'échelle SPOT (environ 70 m) n'apparaissent sur la carte qu'agrégées dans l'AREA qui les contient, et l'API refuse purement et simplement de les servir à la granularité SPOT (zoomer n'y change rien). Les agrégats SPOT continuent d'être enregistrés pour l'horloge d'érosion, mais ne sont pas montrés à une granularité qui se lirait comme « quelqu'un se tenait à cette adresse ».

Le même raisonnement s'applique à l'heure : l'heure de « dernière écoute » qui sort du serveur est arrondie au jour (00:00 UTC de ce jour-là). À la milliseconde, ce serait la trace que « quelqu'un se trouvait dans cette case à 14 h 32 ». L'érosion est de toute façon calculée par jour : cet arrondi ne change rien à ce que vous entendez. (Les heures de PUBLISH ne sont pas arrondies — publier est un acte délibéré et attribué.)

3. Point de signalement

Il n'y a pas de bouton de signalement dans l'application (une case publiée ne contient ni texte libre, ni image, ni audio, donc il y a peu de préjudice réel à protéger par un signalement — le bouton a été retiré). Le point d'accès lui-même est conservé pour les signalements effectués par l'exploitant ou via le contact, ainsi que pour de futurs signalements de Journeys. En cas d'utilisation, ce qui est envoyé : la couche et l'identifiant de la case concernées, l'identifiant d'appareil, et (le cas échéant) un texte expliquant le motif. Ce qui est stocké : le même contenu, l'heure de réception, et le statut de traitement. Voir l'aide pour plus de détails.

4. Partager un Journey

Un Journey contient l'intégralité de la trajectoire GPS. La personne qui reçoit le lien partagé peut rejouer exactement le trajet que vous avez parcouru. Votre domicile, votre lieu de travail ou votre trajet quotidien peuvent être déduits.

Le partage a toujours lieu par une action explicite de votre part, précédée à chaque fois d'une boîte de dialogue de confirmation de confidentialité. Le simple fait d'enregistrer ou de sauvegarder n'envoie rien.

Ce qui est envoyé : la séquence d'événements du Journey (trajectoire GPS et d'écoute, instantané des motifs et timbres par case, sauts effectués en tapotant la carte, modifications faites pendant l'enregistrement, PLAY / STOP), compressée en gzip. S'y ajoutent le titre, l'heure de début, la durée, le nombre d'événements, l'identifiant d'appareil et le jeton Turnstile.

Ce qui est stocké : le contenu du Journey lui-même est stocké dans Cloudflare R2, tandis que les métadonnées (identifiant, titre, heure de début, durée, nombre d'événements, taille, identifiant d'appareil, horodatage de création, statut de retrait) sont stockées dans D1. L'identifiant d'appareil est ici volontairement conservé afin de permettre la modération en cas d'abus.

L'identifiant de partage est une chaîne aléatoire de 12 caractères. Toute personne connaissant le lien peut le relire.

5. Charger le monde

Il s'agit de requêtes qui chargent l'heure de référence pour la synchronisation de lecture, ainsi que les données publiées de la zone actuellement affichée. L'identifiant d'appareil n'est jamais envoyé. Seules les coordonnées de la zone nécessaire sont envoyées. Cependant, comme il s'agit d'une communication réseau, l'adresse IP de connexion et l'heure de la requête sont transmises à Cloudflare.

Durée de conservation et suppression

Ce qui reste sur l'appareil (non envoyé sauf partage)

Effacer les données du site dans le navigateur supprime tous ces éléments (le contenu déjà publié et les Journeys déjà partagés restent sur le serveur).

À propos de la géolocalisation

Tiers contactés dès l'ouverture de la page

Ces connexions se produisent simplement en chargeant la page, sans aucune action de votre part. Chacun de ces services reçoit votre adresse IP et des informations de base sur le navigateur (User-Agent, etc.).

Cloudflare (hébergement, API, stockage de données)
Assure la diffusion du site et de l'API, ainsi que le stockage sur D1 et R2. Reçoit l'adresse IP, le pays de connexion et un enregistrement de la requête.
Politique de confidentialité de Cloudflare
Cloudflare Turnstile (détection de robots)
Protection anti-robots utilisée uniquement pour PUBLISH et le partage de Journeys. Le script n'est chargé que la première fois que vous entrez en mode EDIT — il n'est jamais chargé si vous ne faites qu'écouter.
Politique de confidentialité de Cloudflare
CARTO (tuiles de carte) / OpenStreetMap (données cartographiques)
L'image de fond de la carte est chargée depuis les serveurs de diffusion de CARTO. La zone de carte affichée (coordonnées et niveau de zoom des tuiles) est transmise avec votre adresse IP. Les données cartographiques elles-mêmes proviennent d'OpenStreetMap.
Politique de confidentialité de CARTOPolitique de confidentialité de l'OSM Foundation
Google Fonts
L'application elle-même charge la police pixel de l'interface. Les pages explicatives (aide, confidentialité, dons — y compris cette page) chargent également la police du corps de texte (LINE Seed JP). Dans les deux cas, le chargement se fait depuis fonts.googleapis.com / fonts.gstatic.com, et l'adresse IP ainsi que des informations sur le navigateur sont transmises à Google.
Politique de confidentialité de Google
unpkg (CDN)
La feuille de style de la bibliothèque cartographique Leaflet est chargée depuis unpkg.com. L'adresse IP et des informations sur le navigateur sont transmises.
Cloudflare Zaraz / Google Analytics (analyse d'audience)
Chargé pour mesurer l'usage, uniquement lorsque le consentement a été obtenu. Les détails, ainsi que la délimitation garantissant que la position n'est jamais envoyée, sont décrits dans la section Analyse d'audience.

En dehors de ces éléments, aucune autre communication externe n'est intégrée. Aucun réseau publicitaire, aucun pixel de suivi de réseau social, aucun outil de test A/B.

Analyse d'audience (Google Analytics)

Google Analytics 4 (GA4) est utilisé pour comprendre l'usage global du site. Il est mis en place via Cloudflare Zaraz, sans intégrer directement de balise d'analyse dans le code de l'application.

La position (GPS), le son édité et le contenu des Journeys ne sont jamais envoyés à l'analyse.

L'analyse ne va pas au-delà de la granularité « une page a été vue ». L'identifiant de case (cellule), la latitude/longitude, le contenu des Journeys, ainsi que l'identifiant d'appareil mentionné ci-dessus (ptg:device-id) ne sont jamais envoyés en tant que paramètres d'événement ou dimensions personnalisées de l'analyse. Ces données ne transitent que par nos propres API listées ci-dessus.

Ce que l'analyse collecte

Ces événements ne transportent que des options prédéfinies et de petits nombres, comme ceux listés ci-dessus. L'implémentation empêche toute transmission de texte libre ou d'identifiant.

Traitement des URL — différent entre les pages d'information et l'application

L'URL est enregistrée pour savoir quelle page a été consultée, mais ce site comporte deux types de pages de nature différente, dont le traitement est donc distinct.

Pages d'information (cette page de confidentialité, l'aide, les dons)

L'URL est enregistrée telle quelle (/help/, /privacy/, /support/), afin de savoir quelle page explicative est consultée. Ces URL ne contiennent aucune position ; elles indiquent seulement quelle page a été ouverte.

L'application elle-même

L'URL de l'application contient la case de position actuelle (/{zone}/{area}/{spot}) — l'URL elle-même constitue une coordonnée. C'est pourquoi la page vue de l'application est remplacée par une valeur constante / (la racine du site), sans la partie case, avant d'être envoyée à l'analyse. Seul le fait que « l'application a été ouverte » est conservé ; cette coordonnée n'est jamais transmise à l'analyse.

L'URL de la barre d'adresse se met à jour à chaque changement de case en marchant, mais cette mise à jour n'est jamais envoyée à l'analyse.

Autrement dit, ce qui est enregistré se limite à « quelle page d'information a été lue » : l'endroit où vous vous trouviez dans l'application ne peut être reconstitué à partir d'aucun enregistrement. L'engagement énoncé en introduction (position, son édité et contenu des Journeys jamais envoyés à l'analyse) est ainsi respecté par ce traitement.

À propos du consentement

La gestion du consentement pour l'analyse est assurée par l'outil de consentement de Cloudflare Zaraz. Pour les visiteurs des régions concernées, le consentement est vérifié avant le démarrage de l'analyse. Il peut être modifié ou retiré à tout moment depuis la même bannière de consentement (accessible à nouveau via le lien de réglages affiché à l'écran). Un retrait arrête l'analyse à partir de ce moment.

Cookies / identifiants utilisés par l'analyse

Google Analytics utilise des cookies (par exemple _ga) ou un identifiant local équivalent afin de regrouper les visites provenant du même navigateur. Ces identifiants sont entièrement distincts de l'identifiant d'appareil propre à cette application (ptg:device-id), et ne sont jamais liés entre eux. L'identifiant d'appareil n'est jamais transmis à l'analyse, et l'identifiant d'analyse n'est jamais rattaché aux données du monde de cette application.

Liens utiles : Politique de confidentialité de GoogleUtilisation des données par Google AnalyticsPolitique de confidentialité de Cloudflare (Zaraz)

Cookies

L'état propre de l'application (brouillons, réglages, Journeys, etc.) est stocké non pas dans des cookies, mais dans localStorage / sessionStorage / IndexedDB. Les cookies ne sont utilisés que pour l'analyse d'audience mentionnée ci-dessus et la gestion de son consentement. D'autres tiers peuvent également définir leurs propres cookies.

Utilisation par des enfants

Il n'y a ni compte, ni paiement, et aucun nom ni coordonnées n'est collecté. Toutefois, la géolocalisation étant utilisée, l'usage par un enfant devrait se faire sous la responsabilité d'un parent ou tuteur. Le partage d'un Journey en particulier transmet directement le trajet parcouru.

Demandes de suppression ou de correction

À propos des modifications

En cas de modification du contenu, la date de « Dernière mise à jour » de cette page sera actualisée.