attempting to detect smart glasses nearby and warn you
Kotlin
2,149
253 commits
updated Sep 6, 2026
attempting to detect smart glasses nearby and warn you.
The app, called Nearby Glasses, has one sole purpose: Look for smart glasses nearby and warn you.
This app notifies you when smart glasses are nearby. It uses company identificators in the Bluetooth data sent out by these. Therefore, there likely are false positives (e.g. from VR headsets). Hence, please proceed with caution when approaching a person nearby wearing glasses. They might just be regular glasses, despite this app’s warning.
The app’s author Yves Jeanrenaud takes no liability whatsoever for this app nor it’s functionality. Use at your own risk. By technical design, detecting Bluetooth LE devices might sometimes just not work as expected. I am no graduated developer. This is all written in my free time and with knowledge I taught myself.
False positives are likely. This means, the app Nearby Glasses may notify you of smart glasses nearby when there might be in fact a VR headset of the same manufacturer or another product of that company’s breed. It may also miss smart glasses nearby. Again: I am no pro developer.
However, this app is free and open source, you may review the code, change it and re-use it (under the license).
The app Nearby Glasses does not store any details about you or collects any information about you or your phone. There are no telemetry, no ads, and no other nuisance. If you install the app via Play Store, Google may know something about you and collect some stats. But the app itself does not.
If you choose to store (export) the logfile, that is completely up to you and your liability where this data go to. The logs are recorded only locally and not automatically shared with anyone. They do contain little sensitive data; in fact, only the manufacturer ID codes of BLE devices encountered.
Use with extreme caution! As stated before: There is no guarantee that detected smart glasses are really nearby. It might be another device looking technically (on the BLE adv level) similar to smart glasses.
Please do not act rashly. Think before you act upon any messages (not only from this app).
Frame 1: Advertising (ADV_IND)
Time: 0.591232 s
Address: C4:7C:8D:1E:2B:3F (Random Static)
RSSI: -58 dBm
Flags:
02 01 06
Flags: LE General Discoverable Mode, BR/EDR Not Supported
Manufacturer Specific Data:
Length: 0x1A
Type: Manufacturer Specific Data (0xFF)
Company ID: 0x058E (Meta Platforms Technologies, LLC)
Data: 4D 45 54 41 5F 52 42 5F 47 4C 41 53 53
Service UUIDs:
Complete List of 16-bit Service UUIDs
0xFEAA
0x01AB for Meta Platforms, Inc. (formerly Facebook)0x058E for Meta Platforms Technologies, LLC0x0D53 for Luxottica Group S.p.A (who manufactures the Meta Ray-Bans)0x03C2 for Snapchat, Inc. (that makes SNAP Spectacles)0x05D6 for Zhuhai Jieli Technology Co (who makes Rogbird VisionPro and Rollme VistaView)
They are immutable and mandatory. Of course, Meta and other manufacturers also have other products that come with Bluetooth and therefore their ID, e.g. VR Headsets. Therefore, using these company ID codes for the app's scanning process is prone to false positives. But if you can't see someone wearing an Occulus Rift around you and there are no buildings where they could hide, chances are good that it's smart glasses instead.rayban, ray-ban, or HeyCyan. HeyCyan is a famous SDK for smart glasses of various brands. Among those HeyCyan devices, you may also find the Nilox Smart AI Glasses which are sold by ALDI and Hofer(in Austria). To harden this, we also look for the primary_UUID, a service identifier which is fixed to the software side of those glasses (7905FFF0-B5CE-4E99-A40F-4B1E122D00D0). While this could change in the future, it is unlikely as it would render older devices unusable, therefore we might just add more UUIDs to the scaning routine then.RSSI ≈ -10 * n * log10(distance) + constant0x01AB,0x058E,0x0D53. This overrides the built-in detection, so your notification shows up for the new value(s).ForegroundServices in order to permanently scan for BTLE ADV due to iOS restrictions. Hence, there's only a Canary Mode available in Nearby Glasses under iOS. If you know Swift and iOS better than me (which is likely), please contribute!
I know, this might be an odd place to do so, but just hear me out on this. I am aware this is a technical solution to a social problem, which is itsself amplified by tech. I do not want to promote techsolutionism nor do I want people to feel falsely secure. It's still an imperfect approach and propably always will be. It's not all good only because this app exists now. We need better solutions to curb on surveilance tech and privacy intrution.
As Nearby Glasses is open source, you may also build the app yourself from the source code. This makes sure there are no other libraries included in the APK and you get what you want.
Please Note This app builds upon:
#Verify Java version:
$java -version
#It must report Java 17.
#Get the source code
$git clone https://github.com/yjeanrenaud/yj_nearbyglasses
$cd yj_nearbyglasses
#Build Debug
$./gradlew clean assembleDebug
#Build Release (with your own signature cert)
$./gradlew clean assembleRelease
#Build unsigned Release for IzzyOnDroid / F-Droid
$./gradlew clean izziFdroid
#Run and Test
$./gradlew test lint
App Icon: The icon is based on Eyeglass icons created by Freepik - Flaticon
License: This app Nearby Glasses is licensed under the AGPL-3.0 license.
Canary: The canary drawings are made by me and licensed under CC BY-SA 4.0. I provided them as raw svg files (done in InkScape) and converted to xml, obviously, for the app's resources
Kotlin
76.9%
Swift
23.1%
attempting to detect smart glasses nearby and warn you
Kotlin
2,149
253 commits
updated Sep 6, 2026
attempting to detect smart glasses nearby and warn you.
The app, called Nearby Glasses, has one sole purpose: Look for smart glasses nearby and warn you.
This app notifies you when smart glasses are nearby. It uses company identificators in the Bluetooth data sent out by these. Therefore, there likely are false positives (e.g. from VR headsets). Hence, please proceed with caution when approaching a person nearby wearing glasses. They might just be regular glasses, despite this app’s warning.
The app’s author Yves Jeanrenaud takes no liability whatsoever for this app nor it’s functionality. Use at your own risk. By technical design, detecting Bluetooth LE devices might sometimes just not work as expected. I am no graduated developer. This is all written in my free time and with knowledge I taught myself.
False positives are likely. This means, the app Nearby Glasses may notify you of smart glasses nearby when there might be in fact a VR headset of the same manufacturer or another product of that company’s breed. It may also miss smart glasses nearby. Again: I am no pro developer.
However, this app is free and open source, you may review the code, change it and re-use it (under the license).
The app Nearby Glasses does not store any details about you or collects any information about you or your phone. There are no telemetry, no ads, and no other nuisance. If you install the app via Play Store, Google may know something about you and collect some stats. But the app itself does not.
If you choose to store (export) the logfile, that is completely up to you and your liability where this data go to. The logs are recorded only locally and not automatically shared with anyone. They do contain little sensitive data; in fact, only the manufacturer ID codes of BLE devices encountered.
Use with extreme caution! As stated before: There is no guarantee that detected smart glasses are really nearby. It might be another device looking technically (on the BLE adv level) similar to smart glasses.
Please do not act rashly. Think before you act upon any messages (not only from this app).
Frame 1: Advertising (ADV_IND)
Time: 0.591232 s
Address: C4:7C:8D:1E:2B:3F (Random Static)
RSSI: -58 dBm
Flags:
02 01 06
Flags: LE General Discoverable Mode, BR/EDR Not Supported
Manufacturer Specific Data:
Length: 0x1A
Type: Manufacturer Specific Data (0xFF)
Company ID: 0x058E (Meta Platforms Technologies, LLC)
Data: 4D 45 54 41 5F 52 42 5F 47 4C 41 53 53
Service UUIDs:
Complete List of 16-bit Service UUIDs
0xFEAA
0x01AB for Meta Platforms, Inc. (formerly Facebook)0x058E for Meta Platforms Technologies, LLC0x0D53 for Luxottica Group S.p.A (who manufactures the Meta Ray-Bans)0x03C2 for Snapchat, Inc. (that makes SNAP Spectacles)0x05D6 for Zhuhai Jieli Technology Co (who makes Rogbird VisionPro and Rollme VistaView)
They are immutable and mandatory. Of course, Meta and other manufacturers also have other products that come with Bluetooth and therefore their ID, e.g. VR Headsets. Therefore, using these company ID codes for the app's scanning process is prone to false positives. But if you can't see someone wearing an Occulus Rift around you and there are no buildings where they could hide, chances are good that it's smart glasses instead.rayban, ray-ban, or HeyCyan. HeyCyan is a famous SDK for smart glasses of various brands. Among those HeyCyan devices, you may also find the Nilox Smart AI Glasses which are sold by ALDI and Hofer(in Austria). To harden this, we also look for the primary_UUID, a service identifier which is fixed to the software side of those glasses (7905FFF0-B5CE-4E99-A40F-4B1E122D00D0). While this could change in the future, it is unlikely as it would render older devices unusable, therefore we might just add more UUIDs to the scaning routine then.RSSI ≈ -10 * n * log10(distance) + constant0x01AB,0x058E,0x0D53. This overrides the built-in detection, so your notification shows up for the new value(s).ForegroundServices in order to permanently scan for BTLE ADV due to iOS restrictions. Hence, there's only a Canary Mode available in Nearby Glasses under iOS. If you know Swift and iOS better than me (which is likely), please contribute!
I know, this might be an odd place to do so, but just hear me out on this. I am aware this is a technical solution to a social problem, which is itsself amplified by tech. I do not want to promote techsolutionism nor do I want people to feel falsely secure. It's still an imperfect approach and propably always will be. It's not all good only because this app exists now. We need better solutions to curb on surveilance tech and privacy intrution.
As Nearby Glasses is open source, you may also build the app yourself from the source code. This makes sure there are no other libraries included in the APK and you get what you want.
Please Note This app builds upon:
#Verify Java version:
$java -version
#It must report Java 17.
#Get the source code
$git clone https://github.com/yjeanrenaud/yj_nearbyglasses
$cd yj_nearbyglasses
#Build Debug
$./gradlew clean assembleDebug
#Build Release (with your own signature cert)
$./gradlew clean assembleRelease
#Build unsigned Release for IzzyOnDroid / F-Droid
$./gradlew clean izziFdroid
#Run and Test
$./gradlew test lint
App Icon: The icon is based on Eyeglass icons created by Freepik - Flaticon
License: This app Nearby Glasses is licensed under the AGPL-3.0 license.
Canary: The canary drawings are made by me and licensed under CC BY-SA 4.0. I provided them as raw svg files (done in InkScape) and converted to xml, obviously, for the app's resources
Kotlin
76.9%
Swift
23.1%