- Application Android qui analyse les signaux Bluetooth pour détecter les lunettes connectées à proximité et afficher des alertes, en identifiant des appareils comme les Meta Ray-Ban ou les Snap Spectacles
- Détection basée sur les codes d’identification fabricant des paquets publicitaires BLE (par ex. Meta, Luxottica, Snap), avec une possibilité de faux positifs causés par des appareils comme des casques VR
- L’application ne collecte aucune donnée personnelle et n’intègre ni publicité ni transmission à distance ; les journaux ne sont enregistrés que lorsque l’utilisateur les exporte lui-même
- Elle propose divers réglages utilisateur comme le seuil RSSI, la sortie des logs, la saisie manuelle d’identifiants fabricant et la prise en charge multilingue
- Le développeur considère les lunettes connectées comme une technologie intrusive pour la vie privée et veut, avec cette application, aider les utilisateurs à mieux percevoir leur environnement et à rester vigilants
Aperçu du projet
- Nearby Glasses est une application Android qui détecte les lunettes connectées à proximité et avertit l’utilisateur
- Elle utilise les codes d’identification fabricant (Company ID) des signaux BLE (Bluetooth Low Energy) pour détecter des appareils de Meta, Luxottica, Snap, etc.
- Il existe une possibilité de faux positifs dus à d’autres appareils du même fabricant, comme des casques VR
- L’application est gratuite et son code source est public, mais elle est distribuée sous la PolyForm Noncommercial License 1.0.0, qui n’autorise qu’un usage non commercial
- Aucune collecte de données personnelles, aucune publicité et aucune communication à distance ; les logs sont stockés uniquement en local et peuvent être exportés manuellement par l’utilisateur
Avertissements et précautions juridiques
- Harcéler ou prendre à partie des personnes portant des lunettes connectées peut constituer une infraction pénale
- Il est explicitement indiqué qu’il ne faut pas attaquer ni harceler autrui sur la seule base d’une alerte de l’application
- L’utilisateur assume lui-même sa responsabilité juridique, et le créateur de l’application décline toute responsabilité
- Les limites de la détection BLE peuvent entraîner des faux positifs ou des faux négatifs ; il ne faut donc pas réagir immédiatement aux alertes et il convient de faire preuve de discernement
Motivation et contexte
- Le développeur considère les lunettes connectées comme un outil intrusif pour la vie privée et de captation sans consentement
- Certains produits permettraient de désactiver la LED signalant un enregistrement en cours
- Des cas d’intégration de reconnaissance faciale auraient été signalés, ce qui est présenté comme une menace pour la sécurité personnelle
- Des liens vers des articles sur des enregistrements illégaux et des atteintes aux droits humains liés aux Meta Ray-Ban sont donnés à titre d’exemple
Mise en œuvre technique
- Les adresses MAC aléatoires et les UUID instables du BLE rendent impossible un simple scan de beacons
- L’application s’appuie donc sur les codes fabricant (Company ID) du Bluetooth SIG pour la détection
- Exemples de codes :
0x01AB Meta Platforms, Inc.
0x058E Meta Platforms Technologies, LLC
0x0D53 Luxottica Group S.p.A
0x03C2 Snapchat, Inc.
- La proximité est estimée à partir du RSSI (intensité du signal reçu)
- Le seuil par défaut est de -75 dBm, soit environ 10 à 15 m (3 à 10 m en intérieur)
- Le RSSI varie selon la puissance d’émission, les obstacles, l’absorption par le corps humain, les réflexions, etc.
- Un Foreground Service permet une détection continue, y compris en arrière-plan
Fonctionnalités principales
- Affichage d’alertes lors de la détection de lunettes connectées, avec estimation de distance basée sur l’intensité du signal
- Affichage et export de logs de débogage, avec paramètres avancés pour les utilisateurs expérimentés
- Saisie d’identifiants fabricant personnalisés pour étendre la liste des appareils détectés
- Réglages détaillés comme le temps de cooldown des notifications (10 secondes par défaut), la longueur des logs et l’affichage réservé aux publicités BLE
- Prise en charge multilingue, notamment de l’anglais, de l’allemand, du suisse allemand et du français
Mode d’emploi
- Installer puis lancer l’application depuis GitHub Releases ou Google Play
- Démarrer la détection avec le bouton Start Scanning ; l’accès au Bluetooth et aux appareils à proximité est requis
- Le seuil RSSI, les notifications, l’affichage des logs et le mode debug peuvent être ajustés dans le menu
- En cas de détection, une notification s’affiche ; l’analyse peut être arrêtée avec Stop Scanning
- Les logs peuvent être exportés sous forme de fichier texte ou copiés
Feuille de route (Todos)
- Tests en conditions réelles terminés, publication sur Google Play finalisée
- Ajout prévu d’une liste d’ignorance pour les appareils produisant des faux positifs et d’un mode « sans alerte » (mode canari)
- Étude de l’ajout d’identifiants fabricant supplémentaires et du développement d’une version iOS
- Projet de recherche pour améliorer la précision via l’analyse du trafic BLE
- Correction terminée d’un problème d’interface sur les appareils Google Pixel (à partir de la version 1.0.3)
Licence et crédits
- Source de l’icône : icône Eyeglass créée par Freepik (Flaticon)
- Licence : PolyForm Noncommercial License 1.0.0
- Langage de développement : Kotlin 100%
1 commentaires
Commentaires Hacker News
Je l’ai lancé dans une zone très fréquentée de Baltimore, il n’y avait personne portant des lunettes à proximité et aucune détection n’a eu lieu
En revanche, il y avait beaucoup d’appareils Bluetooth autour, donc les logs de debug défilaient à une vitesse folle
Le bouton pour démarrer le scan ne se transforme pas en « Stop », mais il semble quand même fonctionner comme un toggle
La barre du haut chevauche la zone de notification, et le bas est légèrement coupé à cause de ma barre de navigation à 3 boutons
La première fois que j’ai accordé les permissions, l’app s’est figée et j’ai dû la redémarrer. Même après avoir tout autorisé, les paramètres ne s’ouvraient pas
La première fois que je l’ai lancée, un casque était connecté, et il semble qu’il se soit déconnecté après la demande d’autorisation
Rien non plus dans les logs de debug. J’aime quand même l’idée, donc je réessaierai quand il y aura une mise à jour
Ça ressemble plus à un projet pour F-Droid que pour Google Play
Les réseaux personnels ne sont pas encore prêts, l’évolution sera douloureuse, mais quelqu’un en tirera profit
affichant le logo du Laughing Man à la place des visages
Donc mes XReal ne sont pas reconnues. Je les ai achetées exprès parce que ça semble être la dernière génération sans caméra
Bien sûr, avec une caméra amovible comme XReal Eye, on pourrait quand même filmer, mais je n’en utilise pas
Cela dit, avec un câble USB qui pend de l’oreille, j’ai peut-être déjà l’air assez louche comme ça
laisse penser que, dans le grand public, le rejet des porteurs de “smart glasses” pourrait être encore plus fort
Certains ont plaisanté en parlant de « détecteur de pervers à proximité », et d’autres ont proposé de renommer ça “Nearby Glassholes”
Certains sont même allés jusqu’à dire que si on filme des gens avec ce genre de lunettes dans des lieux publics, il faut s’attendre à se faire frapper
J’aimerais qu’il existe une base de données d’empreintes BT/BTLE plus sophistiquée.
Il doit bien y avoir de légères différences selon les appareils ou les chipsets, et ça pourrait servir à réduire les faux positifs
Le lien vers les identifiants dans le README était cassé parce qu’il utilisait un chemin relatif, voici la bonne adresse
Bluetooth SIG company_identifiers.yaml
Comme c’est hébergé sur GitHub, on peut facilement croire que c’est open source,
mais Polyform a un problème similaire aux licences CC : la frontière de l’usage non commercial est floue
fichier LICENSE
site officiel de Polyform
les caméras de surveillance de rue, l’équipement de la police, les caméras de smartphone et les drones,
on obtient un système d’alerte paranoïaque parfait
Les porteurs de smart glasses ont déjà mauvaise réputation. Reste à savoir si c’est justifié
il met aussi en lumière les problèmes sociaux qui apparaîtront quand les lunettes IA se banaliseront
J’ai moi-même récemment abandonné une marque de lunettes à fonctions IA pour revenir à un modèle normal.
À ma façon, c’était une déclaration de refus de participer
https://julianoliver.com/projects/glasshole/