---
title: Frequently asked questions
description: The Extentos FAQ — what it is, install, cost (mostly free; the AI gateway is metered), supported Ray-Ban/Oakley Meta hardware, and Meta DAT vs Extentos.
type: resource
platform: all
related:
  - /docs/getting-started/with-agent
  - /docs/concepts/transport-vs-app
  - /docs/concepts/ai-gateway
  - /docs/vendors/meta
  - /docs/resources/pricing
  - /docs/resources/security
---

**Extentos is the smart-glasses development layer for Meta Ray-Ban: install its MCP server, let your AI agent scaffold a native iOS/Android app, and test in a browser simulator — free, except the managed AI gateway is metered.** The questions below go deeper.

The most-asked questions about Extentos, organized by topic and cross-linked to the deep documentation. If you don't find your question here, see the [support page](/docs/resources/support) or email [hello@extentos.com](mailto:hello@extentos.com).

## Getting started

### Is Extentos free?

Almost entirely. The discovery, validation, and guidance MCP tools, on-device simulation (`LocalSimTransport`), and real-hardware testing on Ray-Ban Meta are free with no account, forever. Code generation via `generateConnectionModule` and the browser simulator both link a free email-only account. The browser simulator at [extentos.com/s](https://extentos.com/s) requires a free email-only account from the first session — Google one-click or email + password, no payment, no card. Once linked, sessions are unlimited.

The **one** surface that meters usage is the [managed AI gateway](/docs/concepts/ai-gateway) behind the [Phase-4 voice assistant](/docs/concepts/assistant): usage is metered today, and billing runs on a prepaid-credit model — every account starts with **$2 of free** managed-gateway credit, then draws down a prepaid balance. There is no bring-your-own-key option — you cannot supply a provider key, and none is on the roadmap. Apps that don't use the managed gateway never touch a metered surface. See [pricing](/docs/resources/pricing) for the full breakdown.

### Do I need an Extentos account to start?

Mostly no. Discovery, guidance, validation, and real-hardware testing on Ray-Ban Meta hardware work without ever creating an Extentos account. A free email-only account (no payment) links the first time you mint a browser-simulator session or run the `generateConnectionModule` scaffold step (it mints your account-bound project key). See [auth](/docs/mcp-server/auth) for the full flow.

### How do I install Extentos in my AI coding agent?

The shortest path is the agent prompt: paste *"Install @extentos/mcp-server in my MCP config"* into Claude Code, Cursor, Windsurf, or Cline. The agent edits the right config file or runs the right command for its host. For Claude Code specifically, the one-liner is `claude mcp add extentos -- npx -y @extentos/mcp-server@latest`. See [install](/docs/mcp-server/install) for per-host instructions and config-file locations.

### What prerequisites do I need?

Node.js 20 or newer on `PATH`. That's it for the MCP server — `npx` fetches and caches the package on first run. To target real Ray-Ban Meta hardware later, you'll also need a Meta Wearables Developer Center account (free, ~15-30 minute setup) for the Meta DAT credentials. See [vendors/meta](/docs/vendors/meta) for the Meta-specific setup.

## Hardware support

### What smart glasses does Extentos support?

As of 2026-07, Extentos is **production-supported on Meta Ray-Ban only** — every variant in market (Gen 1 Wayfarer, Headliner, Skyler frame styles; Gen 2; Ray-Ban Meta Optics; Meta Ray-Ban Display) plus Oakley Meta HSTN, Oakley Meta Vanguard, and the 2026 Meta Glasses line. **Android XR is in preview**: the projected transport is built and proven on Google's Android XR emulator, and simulator sessions accept an Android XR device identity, so you can check how your app behaves under it today. The module is deliberately unpublished and no Android XR glasses are buyable yet, so nothing there is production-supported or hardware-verified — see [Android XR](/docs/vendors/android-xr) for the exact status. Apple smart glasses remain a tracked roadmap vendor. See [vendors](/docs/vendors) for the full status table.

### Does Extentos work with Ray-Ban Meta Display?

Yes. Your Extentos-built app runs on a Meta Ray-Ban Display the same way it runs on Gen 1 or Gen 2 — full camera, voice trigger, and audio support. You can **also render UI to the heads-up display** via `glasses.display.*` — it ships in both SDKs and is fully sim-testable on both; on-glasses rendering via Meta DAT is live on Android, with iOS on-glasses delivery in progress. The wearer drives it with captouch + the Neural Band, delivered to your app as abstracted tap events. What's not exposed is raw Neural Band gesture data and the "Hey Meta" engine. See [vendors/meta § Compatible models](/docs/vendors/meta#compatible-models).

### Why do Meta's own Display apps look richer than what I can build?

Third-party display rendering **is** available — Extentos exposes it as `glasses.display.*` in both SDKs (on-glasses rendering via Meta DAT 0.8.0 is live on Android; iOS on-glasses delivery is in progress). The full-screen experiences on Meta Ray-Ban Display — pedestrian navigation (Meta's own app, not Google Maps), WhatsApp, live captions — are Meta first-party system apps; your surface is the display session. See [vendors/meta § Partner integrations](/docs/vendors/meta#partner-integrations-the-how-did-they-get-that-question).

### Do I need real Ray-Ban Meta glasses to develop?

No. Extentos's on-device `LocalSimTransport` (in-memory local sim) and the Extentos browser simulator (`BrowserSimTransport` at [extentos.com/s](https://extentos.com/s)) cover the bulk of the dev loop. Real hardware verifies the final-mile fit (camera fidelity, BT latency, real-world coexistence) but isn't required for daily iteration. See [transport vs app simulation](/docs/concepts/transport-vs-app) for what each simulator does.

### When will Android XR / Brilliant Labs / Apple be supported?

No committed timelines. A vendor becomes production-supported when adding it makes a real product — transport implementation, simulator coverage, and tested hardware — which depends on each vendor's SDK maturity and hardware availability.

Android XR has the first two: the transport is built and proven on Google's emulator, and the simulator carries the device identity. What it lacks is hardware, so the module stays unpublished until Google's platform leaves developer preview and glasses are buyable ([full status](/docs/vendors/android-xr)). Apple is earlier still — no third-party smart-glasses SDK exists to build against. See the [changelog](/docs/resources/changelog) for actual release activity.

**Brilliant Labs** is the inverse, and worth understanding as a contrast. You can order a Halo today, though the vendor says the first units ship in early August 2026, and nothing has run our transport yet — and unlike Android XR there is no emulator standing in either. The BLE transport, the on-device Lua bundle and the display translation are all built, the wire protocol is verified byte-for-byte against Brilliant's own implementation, and it ships inside the SDK on both platforms (nothing to add on Android, `TransportChoice.brilliant` on iOS) precisely so that someone with a Halo can be the first to run it. Still capture and the microphone work; video does not and never will, because neither device has a video primitive or a codec. Both devices are selectable in the simulator now. See the [Brilliant vendor page](/docs/vendors/brilliant).

## Pricing and accounts

### Why does the browser simulator need an account?

The browser simulator runs on Extentos's backend (WebSocket hub, voice proxy for STT/TTS, event log persistence). It costs Extentos per-session compute, so it takes the same free email-only account as the other backend-provisioned surfaces (the `generateConnectionModule` scaffold step, which mints your project key, and the account-scoped project tools). Discovery, validation, and guidance run on your machine or talk directly to Meta — no Extentos compute, no account needed. See [pricing](/docs/resources/pricing#free-with-a-free-account).

### Does my shipped app cost me anything?

It depends on whether it uses the managed AI gateway. A DAT-native app (camera, audio, sensors, voice triggers, display) or one that calls its own AI provider from handler code runs against real Ray-Ban Meta hardware via `RealMetaTransport`, which doesn't talk to the Extentos backend — runtime cost from Extentos is zero per end-user. If your app ships the [Phase-4 voice assistant](/docs/concepts/assistant) on the [managed gateway](/docs/concepts/ai-gateway), that AI usage is metered and billed on a prepaid-credit model, with no bring-your-own-key option. See [pricing](/docs/resources/pricing#real-hardware-and-production-cost).

### Will Extentos add a paid tier later?

The free surfaces stay free. The one metered surface — the [managed AI gateway](/docs/concepts/ai-gateway) — is metered and billed today on a prepaid-credit model, with a $2 free grant per account. Existing accounts will not be retroactively gated on the free surfaces; material changes are communicated via the [changelog](/docs/resources/changelog).

### Can I share an Extentos account across my team?

Single accounts only at MVP. Multi-seat billing and team workspaces are deferred post-launch. Each developer should run their own MCP install with their own account — the per-machine `installId` is anonymous and doesn't conflict with collaboration.

## Capabilities and limits

### Can my third-party app trigger on "Hey Meta, [my app], do X"?

No. The "Hey Meta" wake word is system-level and not exposed to third-party apps. Your custom voice trigger is recognized on the phone (on real hardware: on-device Vosk on Android, Apple's SFSpeechRecognizer on iOS; the platform recognizer on the dev path) over Bluetooth audio — the wake word *is* your custom phrase, not "Hey Meta" + your phrase. See [vendors/meta § Capabilities NOT in the public toolkit](/docs/vendors/meta#capabilities-not-in-the-public-toolkit).

### Can my app use custom gestures (tap, swipe)?

There's no general gesture API in the public Meta DAT toolkit as of 2026-07. Captouch is system-defined (taps pause/resume your session), and on Meta Ray-Ban Display wearer interactions reach your `glasses.display.*` UI as abstracted tap events. Session lifecycle signals (pause, resume, stop) work normally.

### What can I actually build for Meta Ray-Ban today?

Photo capture, video capture, camera streams, voice-triggered apps (custom phrases via phone-side recognition), always-listening assistants, TTS-driven audio apps — and on Meta Ray-Ban Display, your own UI via `glasses.display.*`. There is no motion-sensor (IMU) API in DAT. The full capability matrix is at [vendors/meta § What's in the Wearables Device Access Toolkit](/docs/vendors/meta#whats-in-the-wearables-device-access-toolkit-dat).

### Why doesn't Meta's Mock Device Kit simulate voice triggers?

Meta's Mock Device Kit simulates the BLE/SDK layer — your app *thinks* it's connected to glasses. Voice-trigger recognition runs on the *phone's* speech recognizer, not on the glasses, so simulating the glasses doesn't simulate the recognizer. Extentos's browser simulator replaces the *whole* path with the developer's webcam + microphone, which is why it can exercise voice triggers end-to-end. See [transport vs app simulation](/docs/concepts/transport-vs-app).

## Distribution

### Can I publish my Meta Ray-Ban app to the Meta App Store?

As of 2026-07, public publishing is partner-gated while Meta's toolkit is in developer preview (Meta says broader publishing arrives in 2026). Everyone else distributes the phone app normally (APK sideload or enterprise on Android; TestFlight on iOS — Meta doesn't support iOS App Store publishing yet) and enrolls users as testers via Meta release channels — no Meta content review. See [vendors/meta § Distribution state](/docs/vendors/meta#distribution-state-2026-07).

### How do users install my Meta Ray-Ban app?

Users install your *phone* app (Android via APK or Play Store; iOS via TestFlight or App Store). The first time they open it, the Meta DAT registration flow runs and pairs the app with their Ray-Ban Meta. Your app is a regular phone app that talks to the glasses over Bluetooth — there's no "install on the glasses" step.

## Privacy and data collection

### Does Extentos collect my users' photos, video, voice transcripts, or AI prompts?

No — content is never stored. For handler-code paths (photo bytes, video frames, audio samples, your own AI calls), Extentos's library is architecturally incapable of inspecting the payloads at all. For the [managed AI gateway](/docs/concepts/ai-gateway) (the Phase-4 voice assistant on Extentos's key), the gateway *relays* the audio/transcripts/model responses but **never persists them** — the only thing recorded is the provider's token-usage metadata and computed cost. So Extentos is in the path for managed-gateway traffic but never stores the content. The full never-collect list is in [security § What we never collect](/docs/resources/security#what-we-never-collect).

### Does Extentos see my AI provider API keys?

It depends on the path. For **handler-code AI calls** (you call Anthropic / a vision model / a translation API from your own handler), the keys live in your app and your provider's auth headers — Extentos has no callback or hook between the SDK read and your request; no inspection, no proxy. For the **managed AI gateway**, the assistant runs on Extentos's *own* provider key (you supply none — that's the zero-config point); there is no option to run it on your own key. See [the gateway page](/docs/concepts/ai-gateway) and [security](/docs/resources/security).

### What does Extentos collect, then?

Aggregate metadata — tool calls, install events, vendor adoption rates, capability usage, error rates, library/MCP versions, device models, country (derived from IP, then the IP is dropped). Tagged with anonymous IDs that can never be reversed back to a person. This data powers a developer-facing analytics dashboard (coming soon), Extentos's product roadmap, and aggregate ecosystem signals shared with glasses vendors as market data (10-account aggregation floor). Full schema in [security § What we collect](/docs/resources/security#what-we-collect).

### Will Extentos sell data about my specific app to my competitors?

No. Aggregate ecosystem signals (vendor market share, capability popularity) are sold to glasses vendors only as aggregates over **at least 10 distinct accounts**, with a second floor that suppresses vendor-level data when fewer than 25 developers ship to that vendor. Individual-developer or individual-end-user data is never shared. These two floors are the structural guarantees against competitive leakage. Developers can also opt their app out of inclusion in vendor aggregates via `ExtentosConfig.dataSharingConsent = false` (a shipped SDK field; the vendor aggregate product it gates is forthcoming) — separate from disabling telemetry collection.

### Can I opt out of telemetry?

Yes — three independent surfaces. (1) `EXTENTOS_TELEMETRY=0` env var disables MCP-side telemetry for the current shell. (2) `npx @extentos/mcp-server@latest decline-privacy` disables it permanently for the install. (3) `ExtentosConfig.telemetryConsent = false` in your shipped app disables library-runtime telemetry per-app. Any combination works. See [security § Three opt-out surfaces](/docs/resources/security#three-opt-out-surfaces).

## Architecture and AI agents

### Is Extentos a wrapper around Meta's Device Access Toolkit?

Partially. Extentos has four internal transport implementations: `RealMetaTransport` wraps the real Meta DAT SDK for production hardware; `LocalSimTransport` is Extentos's own in-memory transport for fast on-device testing (no DAT SDK); `BrowserSimTransport` is an Extentos-original architecture (browser simulator at extentos.com/s, WebSocket protocol, no DAT involvement) for the headline dev experience. See [transport vs app simulation](/docs/concepts/transport-vs-app) for the deep dive.

### Does my code change when targeting different vendors?

No, by design. Your handler subscribes to vendor-agnostic SDK primitives (`glasses.audio.transcriptions()`, `glasses.camera.capturePhoto()`, `glasses.audio.speak()`, etc.). When a vendor gets a transport implementation in Extentos, your existing handler code runs on it without rewrites — Android XR landed that way, and the same handlers run under an Android XR device identity in the simulator today. See [capabilities § Why a shared vocabulary](/docs/concepts/capabilities#why-a-shared-vocabulary-is-the-right-design).

### Which AI coding agent works best with Extentos?

All MCP-compatible agents (Claude Code, Cursor, Windsurf, Cline) work — Extentos's tools are protocol-standard. Claude Code has the smoothest install (single CLI command); the others need a small JSON config edit. Tool capabilities are identical across hosts. See [install](/docs/mcp-server/install) for per-host setup.

### What does the AI agent actually do with the MCP server?

The agent calls Extentos's deterministic tools to discover the SDK capability list, fetch canonical Kotlin/Swift code patterns, scaffold a connection module, validate the integration, and provision a browser simulator session — all without you typing any setup code. The canonical sequence is `getPlatformInfo` → `getCodeExample(pattern)` → `getCapabilityGuide(feature)` (per primitive) → `generateConnectionModule` → (agent writes handler classes against the SDK) → `validateIntegration` → `createSimulatorSession`. See [MCP server overview](/docs/mcp-server) for the full tool catalog.

### What happens when the user folds their glasses mid-flow?

When the glasses fold, capture calls fail with `CaptureError.HingesClosed`, which carries an actionable message ("The glasses are folded. Open them to use the camera."). Your handler pattern-matches the capture result and decides what to do (typically pause active streams via `scope.cancel()` / `task.cancel()` and wait for the user to unfold).

## Help and resources

### Where do I file a bug or feature request?

Email [hello@extentos.com](mailto:hello@extentos.com) with the `[bug]` prefix. Include your install version (`npx @extentos/mcp-server@latest whoami`), the platform (Android / iOS), the host (Claude Code / Cursor / Windsurf / Cline), and a minimal reproduction.

### Where's the source code and license?

The MCP server (`@extentos/mcp-server`) is MIT-licensed on [npm](https://www.npmjs.com/package/@extentos/mcp-server). The native libraries are distributed as public packages — Android on [Maven Central](https://central.sonatype.com/artifact/com.extentos/glasses), iOS as a Swift package from [swift-glasses on GitHub](https://github.com/extentos/swift-glasses) — that you build against; their source is proprietary. See [resources/license](/docs/resources/license) for current declarations.

### Where do I find release notes?

The [changelog](/docs/resources/changelog) tracks notable releases. Pre-1.0 means APIs may shift between minor versions until the hardware test loop closes — pin to an exact version (see the [npm package](https://www.npmjs.com/package/@extentos/mcp-server) for the current one) if you need cross-session reproducibility.

## Related

- **[Quickstart with an AI agent](/docs/getting-started/with-agent)** — install + first prompt + verify
- **[Transport vs app simulation](/docs/concepts/transport-vs-app)** — the differentiator framing
- **[Vendors: Meta Ray-Ban](/docs/vendors/meta)** — the production target's full capability matrix
- **[The managed AI gateway](/docs/concepts/ai-gateway)** — how the assistant's AI runs, and what's metered
- **[Pricing](/docs/resources/pricing)** — what's free, and the one metered surface
- **[Security](/docs/resources/security)** — data collection, opt-out, end-user privacy
