# Visor > Visor is an open Android app that runs Meta glasses (Ray-Ban Meta, Oakley Meta, the Meta Ray-Ban Display and > the Meta Neural Band) in place of the Meta AI app. The Visor Development Kit (VDK) lets Android apps, scripts, > AI agents and web apps on the Display use the glasses through Visor, with the wearer's consent. Every page is Markdown at the address below. All the VDK docs in one file: https://visor.macedonga.com/llms-full.txt ## VDK docs: Start - [Overview](https://visor.macedonga.com/developers/docs/overview.md): What the VDK is, how it works, how it compares with Meta's toolkit, the roadmap. - [Getting started](https://visor.macedonga.com/developers/docs/getting-started.md): From nothing to a photo taken with the glasses. - [Scopes and consent](https://visor.macedonga.com/developers/docs/scopes-and-consent.md): What an app may do, and how the person decides. - [The connection](https://visor.macedonga.com/developers/docs/connection.md): Connecting, Visor restarts, calls and streams, versions. ## VDK docs: Capabilities - [Glasses](https://visor.macedonga.com/developers/docs/glasses.md): Status, pairs, touches and presses, motion. - [Camera and captures](https://visor.macedonga.com/developers/docs/camera-and-captures.md): The camera live, photos, videos, imports. - [Neural Band](https://visor.macedonga.com/developers/docs/neural-band.md): Gestures, status, motion on the wrist, vibration, and sharing the band with the phone. - [Display](https://visor.macedonga.com/developers/docs/display.md): The teleprompter, layouts, and cards on the Briefing. - [Briefing cards](https://visor.macedonga.com/developers/docs/briefing-cards.md): The guide, with recipes for weather, stocks, a live timer and photos. - [Web apps on the Display](https://visor.macedonga.com/developers/docs/web-apps.md): The VDK from JavaScript in a web app on the Display, and its tools for the assistant. - [Voice and the assistant](https://visor.macedonga.com/developers/docs/voice-and-assistant.md): Questions for the app, starting it by voice, transcripts, tools for the model, notifications. - [Settings](https://visor.macedonga.com/developers/docs/settings.md): Reading and changing the glasses' settings. ## VDK docs: Reference - [Errors](https://visor.macedonga.com/developers/docs/errors.md): Every code, and what to do about it. - [Testing](https://visor.macedonga.com/developers/docs/testing.md): The `visor` command, FakeVisor, `visor fake`, the Display simulator, recordings. - [JSON-RPC](https://visor.macedonga.com/developers/docs/json-rpc.md): The VDK from any language. - [The network door](https://visor.macedonga.com/developers/docs/network.md): JSON-RPC over WebSocket, MCP for AI agents, the Python and TypeScript clients, raw access. - [Compatibility](https://visor.macedonga.com/developers/docs/compatibility.md): What never breaks, and how the build makes sure. ## VDK docs: More - [Porting from Meta's DAT](https://visor.macedonga.com/developers/docs/porting-from-dat.md): Each part of Meta's toolkit and its VDK equivalent. - [AI-assisted development](https://visor.macedonga.com/developers/docs/ai-tools.md): Prompts for your agent, the docs search and its MCP server, the Claude Code plugin. - [VDK guidance for coding assistants](https://visor.macedonga.com/developers/docs/for-agents.md) - [Developer mode](https://visor.macedonga.com/developers/docs/developer-mode.md) ## Protocol: Start - [Overview](https://visor.macedonga.com/protocol/protocol-overview.md): This page is the entry point for the glasses' protocol. It names the layers, from the radio up to the service payloads. It also shows one se - [Protocol traps](https://visor.macedonga.com/protocol/protocol-traps.md): Most of the protocol fails silently. A wrong byte does not get an error back: the glasses drop the message, close the link, or answer every - [Glossary](https://visor.macedonga.com/protocol/glossary.md): This page defines the terms these pages use. Each term has one meaning on every page. - [Open questions](https://visor.macedonga.com/protocol/open-questions.md): This page collects what is not known about the protocol. The first section lists the gaps that matter most. The rest copies the open questio ## Protocol: The glasses - [Hardware and models](https://visor.macedonga.com/protocol/glasses-hardware.md): This page covers what the glasses report about their own hardware over the protocol. It covers identity, camera output, sensor logs, storage - [Firmware](https://visor.macedonga.com/protocol/firmware.md): This page covers the glasses' firmware as the protocol shows it: the build string, the Android base, the firmware versions seen, the update - [Radios and links](https://visor.macedonga.com/protocol/radios-and-links.md): The phone reaches the glasses over three radio paths. They are Bluetooth LE with an L2CAP channel, Bluetooth Classic RFCOMM, and TCP over Wi - [Service catalogue](https://visor.macedonga.com/protocol/service-catalogue.md): This page lists every DataX service id in the firmware table. Each row gives the id, its hex value, its name, what these pages document abou ## Protocol: The link - [Transport and framing](https://visor.macedonga.com/protocol/transport-and-framing.md): This page covers how the phone turns the link's byte stream into whole messages. It gives the transport rules, the length rule for each fram - [Link setup and AirShield](https://visor.macedonga.com/protocol/link-setup-and-airshield.md): Link setup is the handshake on service 5. It runs once per link, before any DataX message is encrypted, and it installs the keys that AirShi - [AirShield frames and ciphers](https://visor.macedonga.com/protocol/airshield-frames-and-ciphers.md): AirShield seals every DataX message after link setup. This page covers the frame layout byte by byte, the difference between DATA and COMMAN - [DataX channels](https://visor.macedonga.com/protocol/datax-channels.md): DataX is the message layer inside an AirShield frame. It carries service traffic over numbered channels, and one frame can hold several mess ## Protocol: Identity - [Identity and trust](https://visor.macedonga.com/protocol/identity-and-trust.md): The owner key is the EC P-256 key that the glasses know the phone by. Trust is the exchange on service 36 that proves the phone holds the ma - [Meta login and ownership](https://visor.macedonga.com/protocol/meta-login-and-ownership.md): This page covers the Meta side of setup. It lists the login that gives the phone its tokens, the two receipts that make the phone the owner, - [Device state and build info](https://visor.macedonga.com/protocol/device-state-and-build-info.md): This page covers what the glasses push to the phone about their state and build. That is service 28 (device state, starting apps and capture ## Protocol: Media - [Capture list](https://visor.macedonga.com/protocol/capture-list.md): The capture list is the list of photos, videos and live photos that the glasses hold for the phone. svc18 is the media management service th - [Airship file transfer](https://visor.macedonga.com/protocol/airship-file-transfer.md): Airship is the file transfer on svc20. The glasses offer files to the phone, and the phone can offer files to the glasses. This page covers - [Live photos and formats](https://visor.macedonga.com/protocol/live-photos-and-capture-formats.md): A capture is one shutter press or one recording, as the glasses list it. This page covers the capture kinds, the assets each kind holds, the - [Wi-Fi Direct](https://visor.macedonga.com/protocol/wi-fi-direct.md): Wi-Fi is the second link to the glasses, next to Bluetooth. Either the phone owns a Wi-Fi Direct group and the glasses join it, or the glass - [Live stream](https://visor.macedonga.com/protocol/live-stream.md): The live stream sends the glasses' camera video and audio to the phone over a Wi-Fi session: on the phone's Wi-Fi Direct group or on the gla ## Protocol: Settings - [Settings and RLDrive](https://visor.macedonga.com/protocol/settings-and-rldrive.md): The glasses keep their settings in two services. svc31 takes writes from the phone. svc33, RLDrive, holds the values and returns them on a s - [Setting keys](https://visor.macedonga.com/protocol/settings-catalogue.md): The catalogue lists the 370 setting keys the glasses hold, with their svc31 field, kind, wire type, namespace and parsed flag. It also gives - [MobileConfig](https://visor.macedonga.com/protocol/mobileconfig.md): MobileConfig is the table of Meta's server-side switches and parameters that the glasses read. This page covers what the table holds and the - [Notifications and contacts](https://visor.macedonga.com/protocol/notifications-and-contacts.md): The phone mirrors its notifications to the glasses over DataX service 46. It also copies its contacts into the glasses' RLDrive namespace, s ## Protocol: Assistant - [Assistant protocol](https://visor.macedonga.com/protocol/assistant-protocol.md): This page covers svc15, the assistant service the glasses use for "Hey Meta". It shows who answers a turn, how the phone registers as the as - [Assistant events](https://visor.macedonga.com/protocol/assistant-events.md): This page lists the svc15 events (NetEvent ids) and message types that the phone sends, reads or ignores. It gives each id's firmware name, - [Voice and languages](https://visor.macedonga.com/protocol/assistant-voice-and-languages.md): This page covers how the phone and the glasses speak an answer. It covers which voice and language the glasses use, and how the phone instal - [Follow-ups and photos](https://visor.macedonga.com/protocol/assistant-follow-ups-and-photos.md): This page covers three parts of the assistant that involve the phone: follow-up questions that arrive as audio only, photos for questions ab ## Protocol: Display and band - [Meta Ray-Ban Display](https://visor.macedonga.com/protocol/meta-ray-ban-display.md): Meta Ray-Ban Display speaks the same link as the other glasses: the same radios, AirShield, DataX, svc36 trust and change of owner. What dif - [Texts, calls and music](https://visor.macedonga.com/protocol/display-phone-services.md): Meta Ray-Ban Display's Messages, Phone, Gallery and music screens get their data from the phone. With an Android phone the Display does not - [Maps and location](https://visor.macedonga.com/protocol/display-maps-and-location.md): Meta Ray-Ban Display's Maps app draws its own tiles over its own Wi-Fi, but it takes the wearer's position, routes, places and settings from - [Internet](https://visor.macedonga.com/protocol/display-internet.md): Meta Ray-Ban Display's apps, such as Instagram, WhatsApp and the browser, reach the internet through the phone when the Display has no Wi-Fi - [Briefing panel](https://visor.macedonga.com/protocol/briefing-panel.md): The Meta Ray-Ban Display's home has a Briefing panel: glanceable cards for the weather, sports, stocks and reminders. The phone serves the p - [Web apps](https://visor.macedonga.com/protocol/display-web-apps.md): The Meta Ray-Ban Display runs web apps in its own browser (SmartglassBrowserRelease). The phone keeps their list, opens them, and serves the - [Neural Band](https://visor.macedonga.com/protocol/neural-band.md): The Meta Neural Band is the wrist band that comes with Meta Ray-Ban Display. It reads hand gestures (EMG) and sends them to the Display. It ## Protocol: Apps - [Device Access Toolkit](https://visor.macedonga.com/protocol/device-access-toolkit.md): Meta's Device Access Toolkit (DAT) lets a phone app other than Meta's use the glasses. The app opens a link of its own to the glasses, with - [Motion sensors](https://visor.macedonga.com/protocol/motion-sensors.md): The glasses run a data collection daemon that streams their motion sensors to the phone on svc1027 (miranda), and speaks text in the glasses