RF_SENTINEL

rf_sentinel / guides / smart-glasses-detector

Smart glasses detector

Camera glasses keep a Bluetooth LE link to their phone app and advertise while worn. Their company IDs and service UUIDs give them away.

How camera glasses give themselves away

Smart glasses with a camera stay paired to a phone app (Meta AI for Ray-Ban and Oakley Meta, Snapchat for Spectacles, Vuzix's own app) so photos and videos can sync. To keep that link, they advertise over Bluetooth Low Energy while worn: a short radio packet several times a second that any phone nearby can receive.

RF Sentinel listens to those packets passively. It never connects to the glasses and never sends anything to them. Each packet carries identifiers registered with the Bluetooth SIG: a company ID in the manufacturer data and sometimes a service UUID. Those identifiers belong to the glasses' maker, so they name the product even when the device's name and address are hidden or change.

Detection rules

GlassesIdentifierScore
Ray-Ban Meta (Luxottica)Company ID 0x0D5370
Ray-Ban / Oakley MetaCompany ID 0x058E with the META_RB_GLASS token only72
Snap SpectaclesCompany ID 0x03C2 or service UUID 0xFE4570
VuzixCompany ID 0x060C70
HeyCyan SDK glassesUUID 7905FFF0-B5CE-4E99-A40F-4B1E122D00D0, full 16-byte match68
Meta (corporate)Company ID 0x01AB, UUID 0xFEB7 / 0xFEB845, Quest headsets share it

0x058E alone is deliberately not matched: Quest headsets use it too. The HeyCyan rule needs all 16 bytes because Apple's notification service UUID differs from it by only two.

What the score means

Scores of 50 and above are probable matches and alert with the default settings; the product-specific rules above (68 to 72) all land there. The generic Meta rule scores 45, a weak match: it shows in the list with a "verify" label but doesn't alert unless you lower the alert threshold in Settings, because a Quest headset in the next car would trigger it too.

Finding the glasses

Limits

Questions

Does a match mean I'm being recorded?

No. It means camera glasses are nearby and advertising. Recording state isn't broadcast; look for the capture LED.

Will it see glasses that are folded or in their case?

Usually not: glasses stop advertising when off or charging in the case.

Does it need root or a special phone?

No. It uses Android's normal Bluetooth LE scanning on any phone with Android 8.0 or later. It also merges detections from an ESP32 board running OUI-Spy if you connect one.

Why did a Meta Quest headset show up?

Quest headsets use the same Meta company ID as the glasses. That rule is kept as a weak match for that reason; the stronger Ray-Ban and Oakley rules only match the glasses.

Join the DiscordHelp, ideas, new signatures, field captures and ESP32 builds. CIS-C0/RFSentinel on GitHubSource code, releases, issues. A star helps others find it.