Urban Inversion

Confidentialité et sécurité

Cette page décrit ce que le code en exécution fait réellement — pas une aspiration. Elle suit l'implémentation, et change quand le code change.

La version courte

Pas de comptes, pas de noms, pas de visages, pas de caméra, pas de traqueurs ni d'analytics tiers. Votre position précise n'existe qu'en mémoire du serveur, pour un demi-minute au plus, et n'est jamais envoyée à un autre utilisateur : les autres ne voient qu'une catégorie de direction, une catégorie de distance et un pseudonyme anonyme qui tourne. Passer invisible vous déconnecte entièrement : le serveur ne garde alors rien de vous du tout.

Identité

À chaque session, votre navigateur génère une nouvelle paire de clés cryptographiques (did:key, P-256) puis la rejette. Elle signe vos messages pour que personne ne puisse les falsifier ni les altérer. Ce n'est pas une identité : aucun profil, aucune connexion, aucun moyen de relier une session à la suivante. Un seul mécanisme anti-abus s'exécute au départ — un défi Cloudflare Turnstile sur la page Entrer — plus des limites de débit par connexion et par réseau (les réseaux ne sont comptés que comme des hachages salés de courte durée, jamais stockés comme adresses).

Localisation

En activité, vous envoyez des mises à jour de position plusieurs fois par minute. Elles ne vivent que dans la mémoire d'un Durable Object côté serveur avec une expiration de 30 secondes — jamais dans une base de données, jamais dans des journaux, jamais dans des sauvegardes. Les lunettes n'ont pas de GPS ; le téléphone auquel elles sont jumelées fournit la localisation via le système d'exploitation. Si la précision rapportée est trop grossière pour des marqueurs individuels, vous n'êtes pas rejeté : vous voyez simplement des comptages au lieu de personnes, et l'interface vous le dit.

Ce que les autres peuvent voir de vous

Quand vous êtes Ouvert ou Tranquille, les utilisateurs visibles à proximité voient : une tranche de direction (45°), une tranche de distance (10 m), votre état et un identifiant opaque qui change toutes les 5 minutes. Jamais vos coordonnées, jamais votre clé, jamais rien de stable entre les sessions. Vous n'apparaissez qu'auprès de personnes elles-mêmes visibles : pas d'observation silencieuse. Les observateurs ne voient que des comptages agrégés. Tout utilisateur peut vous bloquer pour sa session, et vous pareillement.

Statistiques agrégées

Nous gardons une seule table : des comptages d'utilisateurs Ouvert/Tranquille/Observateur par fenêtre de 15 minutes par zone grossière (cellule ~20 km). Les lignes ne sont écrites que lorsqu'une zone compte au moins 5 personnes dans la fenêtre après fusion des petites zones — en deçà, rien n'est stocké du tout. Aucun identifiant, aucune position, aucune résolution temporelle plus fine n'existe nulle part dans le stockage.

Limites assumées

  • Une personne déterminée, se déplaçant physiquement tout en vous étant visible, pourrait, en quelques minutes, estimer la localisation approximative d'une personne visible à partir de catégories répétées de direction/distance. La quantification, le bruit par paire, les vérifications de plausibilité de mouvement et la visibilité mutuelle en élèvent le coût — sans l'éliminer. L'affichage du produit est lui-même l'alarme : un marqueur visible qui se rapproche de vous est exactement ce que vous voyez.
  • Exploiter un site web implique que Cloudflare traite de façon transitoire des adresses IP et des métadonnées de requête. Nous ne les conservons pas et ne les utilisons pas pour des analytics.
  • L'état fonctionnel (votre consentement et le jeton anti-abus) vit dans le stockage de session de l'onglet et disparaît avec lui.

Vos contrôles

Le changement d'état (Ouvert / Tranquille / Observateur / Invisible) est à un geste en tout moment. Invisible signifie zéro état côté serveur, par construction et par test. Questions : hello@urbaninversion.com.

Pas de comptes. Pas de traçage. Les positions ne vivent que brièvement en mémoire du serveur et n'en sortent jamais. Lire les détails.