⏱️ Lectura: 11 min
Ray-Ban Meta, Oakley Meta y Snap Spectacles son lentes con cámara integrada en la patilla, y esa cámara enciende un chip Bluetooth que emite un identificador reconocible apenas se activa. Sobre esa señal trabaja ZuckOff, una app para iOS y Android que avisa cuando hay un par de esos lentes cerca, sin acceder a la cámara del otro dispositivo ni interceptar video.
📑 En este artículo
- TL;DR
- Qué pasó
- Contexto e historia
- Detalles técnicos: así detecta ZuckOff los lentes con cámara
- Cómo empezar o probarlo
- Impacto y análisis
- Qué sigue
- Preguntas frecuentes
- ¿ZuckOff necesita conexión a internet para funcionar?
- ¿ZuckOff puede confirmar que alguien está grabando en ese momento?
- ¿Qué pasa si tengo mis propios Ray-Ban Meta?
- ¿Funciona con lentes de marcas que no están en la lista?
- ¿ZuckOff está afiliado a Meta, Snap o Luxottica?
- ¿Se puede automatizar cuándo escanea la app?
- Referencias
La app escucha el mismo anuncio Bluetooth que cualquier lente con cámara transmite al aire y lo compara contra una lista de firmas de fabricante. Según describe su propia página oficial, todo el procesamiento ocurre en el teléfono, sin cuenta ni servidor de por medio.
TL;DR
- ZuckOff es una app gratuita para iOS y Android que detecta lentes con cámara por su señal Bluetooth.
- Reconoce Ray-Ban Meta, Oakley Meta y Snap Spectacles mediante manufacturer ID: 0x0D53, 0x058E y 0x03C2.
- El servicio UUID 0xFD5F, registrado a nombre de Oculus VR, también dispara una alerta de la app.
- Ningún dato sale del teléfono: no hay cuenta, servidor ni registro en la nube.
- Podés marcar tus propios lentes para que dejen de generar alertas.
- La app exporta el historial completo de dispositivos Bluetooth detectados como CSV.
- En iPhone suma widget de pantalla de inicio y Live Activity en pantalla bloqueada.
- Los desarrolladores admiten que algunos modelos standalone no emiten señal mientras graban.
Qué pasó
ZuckOff se presenta como un detector de lentes con cámara: escanea el entorno en busca de anuncios Bluetooth de Ray-Ban Meta, Oakley Meta, Snap Spectacles y hardware similar, y avisa apenas capta uno. La app no intenta identificar visualmente la cámara ni pedir permiso al otro dispositivo, se apoya en que estos lentes, como casi todo accesorio Bluetooth, anuncian su presencia constantemente para poder emparejarse o sincronizar datos con el teléfono del dueño.
Entre las funciones que lista el proyecto están: mostrar la evidencia detrás de cada alerta para que el usuario pueda revisar por qué se disparó y decidir si confía en ella, registrar cada dispositivo Bluetooth escuchado y no solo los lentes, dejar marcar los propios lentes una vez para silenciarlos, alertas en segundo plano, un widget de pantalla de inicio y una Live Activity en la pantalla bloqueada de iPhone, control del escaneo desde la app Shortcuts, Siri o una automatización, y exportar todo el registro como CSV cuando el usuario lo pida.
Contexto e historia
Las cámaras portátiles llevan más de una década generando fricción social. Los primeros Google Glass, lanzados en 2013, dispararon el término despectivo “Glasshole” y terminaron vetados en bares y salas de cine antes de que Google retirara el modelo de consumo. Meta y Luxottica retomaron la idea con más discreción estética: los Ray-Ban Stories de 2021 y su sucesor Ray-Ban Meta parecen anteojos comunes, con una cámara casi invisible integrada en el marco.
Esa discreción ya generó fricción en espacios físicos: gimnasios, casinos y algunos locales gastronómicos empezaron a restringir el uso de lentes con cámara en sus reglamentos internos, del mismo modo que antes limitaban el uso de teléfonos en vestuarios. La diferencia es que un cartel en la puerta no verifica nada, depende de que el visitante avise que los lleva puestos. A diferencia de un teléfono en alto, que es visible, unos lentes con cámara pueden grabar sin que nadie note el gesto. ZuckOff no resuelve ese problema regulando el hardware: explota algo que ya emite ese mismo hardware para funcionar, su radio Bluetooth.
Detalles técnicos: así detecta ZuckOff los lentes con cámara
Todo dispositivo Bluetooth Low Energy transmite paquetes de anuncio (advertising) antes de emparejarse, y esos paquetes suelen incluir un campo de “manufacturer specific data” con un identificador numérico asignado por fabricante, además de, en algunos casos, un Service UUID. ZuckOff construyó su lista de firmas capturando esos paquetes de lentes reales, y las cuatro señales principales que documenta son estas:
| Señal | Qué significa |
|---|---|
| 0x0D53 | Luxottica: Ray-Ban Meta, Oakley Meta |
| 0x058E | Meta Platforms Technologies, wearable |
| 0x03C2 | Snap: Spectacles |
| 0xFD5F | Service UUID registrado a nombre de Oculus VR |
A eso se suma una coincidencia por nombre de producto (Spectacles, HeyCyan, VisionPro, VistaView, entre otros) que la app usa como señal de menor confianza cuando no hay manufacturer ID reconocido.
El flujo, simplificado, es el siguiente:
sequenceDiagram
participant G as Lentes con camara
participant T as Telefono con ZuckOff
G->>T: paquete de anuncio BLE
Note over G,T: incluye manufacturer ID 0x0D53
T->>T: compara ID contra lista de firmas
T-->>T: coincidencia encontrada
T->>T: dispara alerta y guarda evidencia
Cualquier desarrollador puede reproducir el mismo tipo de escaneo con herramientas estándar de Bluetooth Low Energy. En Python, la librería bleak corre igual en Windows, macOS y Linux:
pip install bleak
El script más simple lista cada dispositivo Bluetooth cercano junto a su campo de datos de fabricante crudo:
import asyncio
from bleak import BleakScanner
async def escanear():
dispositivos = await BleakScanner.discover(timeout=5.0)
for d in dispositivos:
print(d.address, d.name, d.metadata.get("manufacturer_data"))
asyncio.run(escanear())
La parte que hace el trabajo real, como en ZuckOff, es comparar esos bytes contra la tabla de firmas de arriba, algo que se puede replicar con pocas líneas:
FIRMAS = {
0x0D53: "Luxottica (Ray-Ban Meta / Oakley Meta)",
0x058E: "Meta Platforms Technologies wearable",
0x03C2: "Snap Spectacles",
}
def clasificar(manufacturer_data):
for company_id in manufacturer_data:
if company_id in FIRMAS:
return FIRMAS[company_id]
return None
⚠️ Ojo: los lentes emiten señal con más fuerza al encender, emparejar o salir del estuche. La mayoría sigue anunciándose mientras se usan, pero algunos modelos standalone bajan el volumen Bluetooth y quedan casi mudos. Silencio no es prueba de que nadie esté grabando, y una detección tampoco prueba que la cámara esté activa en ese momento.
La potencia de la señal (RSSI) da una idea aproximada de distancia, pero no de dirección: ZuckOff puede decir que hay unos lentes cerca, no de qué lado.
Cómo empezar o probarlo
Para un usuario final, alcanza con buscar ZuckOff en la App Store o en Google Play, instalar la app y darle permiso de Bluetooth. Desde ahí conviene marcar los propios lentes con cámara, si se tienen, para que no generen alertas repetidas, y activar las alertas en segundo plano si se quiere que avise incluso con la app cerrada.
Para confirmar que el escaneo realmente funciona en un entorno de desarrollo, conviene inspeccionar el tráfico Bluetooth crudo en lugar de confiar solo en la alerta de la app. En Linux, bluetoothctl muestra los paquetes de anuncio en vivo:
bluetoothctl
[bluetooth]# scan on
Cada línea nueva que aparece con un campo de datos de fabricante distinto de cero es candidata a revisar contra la tabla de firmas. En macOS, la utilidad system_profiler SPBluetoothDataType lista los dispositivos emparejados y cercanos; en Windows, el Administrador de dispositivos o herramientas de terceros como Bluetooth LE Explorer cumplen la misma función. La app nRF Connect, disponible para los tres sistemas operativos de escritorio y también para iOS y Android, es la forma más directa de ver el campo de datos de fabricante crudo de cualquier dispositivo cercano y contrastarlo a mano contra 0x0D53, 0x058E o 0x03C2.
Impacto y análisis
Lo que hace interesante a ZuckOff no es solo la funcionalidad, sino el método de construcción: en vez de depender de que Meta o Snap publiquen una API de detección, oficialmente inexistente, el proyecto arma su lista de firmas capturando dispositivos reales. El propio equipo admite que solo posee unos pocos pares de lentes, y por eso pide a quien tenga hardware fuera de la lista que envíe una captura corta de Bluetooth por correo; incluso ofrecen recibir el hardware prestado y devolverlo una vez registrado.
Ese modelo de recolección colaborativa de firmas de hardware es poco común fuera de comunidades de seguridad, y depende por completo del interés de los propios usuarios en que la lista crezca. Es también su límite más obvio: cualquier fabricante nuevo, o cualquier modelo que cambie de manufacturer ID en una actualización de firmware, queda invisible hasta que alguien capture y reporte esa señal.
💭 Clave: ZuckOff no detecta cámaras, detecta radios Bluetooth. La distinción importa: un par de lentes con la cámara tapada seguiría siendo detectado, y un dispositivo que apague su Bluetooth para grabar en silencio pasaría inadvertido.
Qué sigue
El proyecto financia la compra de hardware nuevo para probar a través de donaciones (Suppi y Buy Me a Coffee, según su sitio) y dice estar abierto a colaborar con grupos de privacidad. También ofrece una newsletter que avisa cuando sale una versión nueva o cuando la lista de detección crece, sin usar esa dirección de correo para otra cosa.
El próximo paso lógico para este tipo de herramienta es ampliar la cobertura a más fabricantes de wearables con cámara a medida que el mercado crece, y encontrar una forma de detectar también los modelos standalone que hoy se mantienen silenciosos por Bluetooth mientras graban.
📖 Resumen en Telegram: Ver resumen
Probalo vos: instalá ZuckOff desde la App Store o Google Play, activá el Bluetooth de tu teléfono y fijate si detecta la firma 0x0D53 o 0x058E la próxima vez que tengas cerca un par de lentes con cámara.
Preguntas frecuentes
¿ZuckOff necesita conexión a internet para funcionar?
No. Toda la detección ocurre en el teléfono comparando los anuncios Bluetooth contra una lista local de firmas; según su página oficial, la app no crea cuenta ni envía datos a un servidor.
¿ZuckOff puede confirmar que alguien está grabando en ese momento?
No. Detecta que hay un par de lentes con cámara transmitiendo señal Bluetooth cerca, pero eso no prueba que la cámara esté grabando en ese instante, y el silencio tampoco prueba lo contrario.
¿Qué pasa si tengo mis propios Ray-Ban Meta?
Podés marcarlos una vez dentro de la app para que ZuckOff deje de generar alertas cada vez que los detecta.
¿Funciona con lentes de marcas que no están en la lista?
Solo si comparten alguno de los identificadores conocidos o un nombre de producto reconocible. Para hardware nuevo, el equipo pide que los dueños envíen una captura Bluetooth corta para sumar la firma a la app.
¿ZuckOff está afiliado a Meta, Snap o Luxottica?
No. El proyecto aclara que es independiente y que no tiene relación con Meta Platforms, Luxottica, Ray-Ban, Oakley ni Snap.
¿Se puede automatizar cuándo escanea la app?
Sí, en iPhone se puede iniciar y detener un escaneo desde la app Shortcuts, con Siri o dentro de una automatización.
Referencias
- ZuckOff, Camera glasses detector: página oficial del proyecto, con la lista de firmas Bluetooth y el detalle de sus funciones.
- Bluetooth Low Energy, Wikipedia: explica los paquetes de anuncio que ZuckOff escucha para detectar hardware.
- Ray-Ban Meta, Wikipedia: contexto sobre la línea de lentes con cámara de Meta y Luxottica.
- Google Glass, Wikipedia: antecedente histórico del rechazo social a las cámaras portátiles.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
0 Comentarios