Lens is coming soon. Ask for early access →

AI Features

Off by default. When you turn them on, you choose who does the work.

Every AI feature is off when you install Lens, and with no provider selected the extension makes no network requests at all. Nothing on this page happens until you choose one.

Lens has no AI service of its own. There is no Vectored model, no Vectored endpoint and no Vectored proxy — instead you pick who does the work, and that choice decides whether anything leaves your machine.

1. Choosing a provider

ProviderWhere it runsWhat leaves your machineYou need
None — the defaultNowhereNothing
Your browser's built-in modelOn your deviceNothingEdge or Chrome with the model available
A local modelOn your deviceNothingOllama, LM Studio or similar
ClaudeAnthropic's serversThe prompt for the feature you usedAn Anthropic API key
OpenAI or compatibleOpenAI, or an endpoint you nameThe prompt for the feature you usedAn API key

Choosing one that runs in the cloud asks you to confirm first, because it genuinely changes what the extension does with page text. Test connection on the Settings page tells you whether the provider is reachable before you rely on it.

The AI assistance panel on the Settings page with the provider dropdown open, showing the built-in, local, Claude and OpenAI options
The AI assistance panel on the Settings page with the provider dropdown open, showing the built-in, local, Claude and OpenAI options

2. What each feature sends

Only what that feature needs. The amounts differ, so they are listed separately rather than summarised.

FeatureHow it runsWhat the prompt contains
Sharpen the private-data checkAutomatically, only if you switch it onThe type of each flagged region — "an AWS access key", "a password field" — plus the page title and heading. Never the flagged text.
Suggest name & descriptionA button you press, per captureThe page title and heading, the names of controls in the region, and the text inside the region you captured.
Write steps from clicksA button you press, per recordingThe page title and the names of the controls you clicked. Never anything you typed into a field.

Captured images are never sent to any provider. Lens does not keep a copy of any prompt or response.

Write steps from clicks works with no provider at all — the click list alone produces usable numbered steps, and a model only rewrites them into better prose. The toast tells you which of the two you got.

3. Setting up the browser's built-in model

Edge and Chrome both expose an on-device model to extensions. Nothing is configured and nothing leaves the device, but the model has to be downloaded once and the hardware bar is real.

  1. Open the Lens dashboard and go to Settings then AI assistance.
  2. Choose Browser's built-in model no key or address is needed.
  3. Press Test connection it reports whether the model is present, unavailable, or not yet downloaded.
  4. Press Download model if it appears the download is several gigabytes and reports its progress. Lens never starts it during a capture.

On Microsoft Edge this currently requires the Canary or Dev channel with the Prompt API for on-device language model flag enabled, and a capable GPU. If your device does not meet the bar, use a local model or a hosted provider instead — the rest of Lens is unaffected.

Edge's built-in model is text-only. That is why every Lens AI feature is built on page text and structure rather than on the image, and why it behaves the same in both browsers.

4. Setting up a local model

A model running on your own machine keeps everything on the device while giving you a full-size model. Anything that speaks the OpenAI chat format works — Ollama, LM Studio, llama.cpp, vLLM.

  1. Start your server for Ollama that is ollama serve, and ollama pull <model> once for the model itself.
  2. Choose Local model in Settings then enter the server address and the model name.
  3. Press Test connection this actually contacts the server, so a wrong address or a stopped server is reported here rather than mid-capture.

5. Setting up Claude or OpenAI

These run on the provider's servers. Lens sends the request straight from your browser using your key — there is no Vectored server in the path, and we never receive the key or the prompt.

  1. Create an API key with that provider Lens cannot create one for you.
  2. Choose the provider in Settings and confirm the prompt it explains what changes before anything is saved.
  3. Paste the key and pick a model the key is saved as soon as you leave the field.
  4. Press Test connection then use a feature to confirm end to end.

6. How your API key is stored

  • In this browser only, in its own storage area, kept apart from your other settings.
  • Read only by the extension's background worker — never by the code Lens puts into a page. Injected code shares a process with the page it is injected into, so a key is never placed there.
  • The Settings page can tell you a key is saved but cannot show it back to you.
  • Sent only to the provider it belongs to. Vectored never receives it, and there is nowhere for it to be sent to us.
  • Removed when you clear the field, and when you uninstall the extension.

Scope the key to the minimum the provider allows. Anything the key can do, a mistake can do.

7. What the model is allowed to change

For the private-data check specifically, the model's influence is bounded on both sides. It can re-rank and relabel what the local rules already found. It cannot add a region, it cannot blur anything, and it cannot clear a high-confidence finding such as a password field or a key matching a known format.

That last limit exists because the page being captured is the same page whose title and headings go into the prompt. A hostile page could try to write something into the prompt to talk the model out of a finding — so on the findings that matter most, it is not able to.

8. When something does not work

What you seeWhat it means
The suggest button is not thereNo provider is selected. Choose one in Settings.
"That provider still needs an API key or a model name"The configuration is incomplete.
"still needs to download"The built-in model has not been fetched. Use Download model on the Settings page.
"did not answer in time"The provider was too slow. Nothing was changed; try again or pick a faster model.
"answer could not be read"The model did not return usable JSON. Nothing was changed. A larger model usually fixes this.
Not available on this machineThe built-in model is unsupported here — see the hardware note above.

Every one of these leaves your capture exactly as it was. No AI failure can lose work, block a capture, or change an image.

9. Where to read the rest

The privacy policy sets out what each feature sends and whose terms apply to it. The security page covers key handling and why the request is made where it is.