Privacy-first AI infrastructure.

Browser extension · Chrome and Chromium

Mask it in the popup, then paste it anywhere.

Velum Lite is a clipboard tool. Paste the text in, mask it, copy it out, and use it in whatever chat you were already in. Masking text is free, with no key and no clock.

Add to Chrome

Chrome Web Store

See pricing

Velum Lite installs from the Chrome Web Store and nowhere else. We no longer hand out a package to load unpacked, so a copy offered from any other source is not ours.

Zero network at runtimeNo site permissions on installFree for text, with no time limit

Velum Lite, at real widthsynthetic
The Velum Lite browser popup showing masked text with tokens such as ⟦PERSON_1⟧, ⟦DNI_NIF_1⟧ and ⟦IBAN_1⟧, an Unmask button, and an open session mapping listing seven values with the original address readable.
Masked, with the session mapping open and one value lifted out of it. That mapping is what makes this reversible. It lives in memory for the session and is gone when the browser closes.

The badge is the engine reporting itself.

regex+lite · offline at the top of the popup is not a badge we drew. It is what the detection engine says it actually ran, and it is there on every pass.

Unmask is the one control on this surface in Signal Red, because putting the real values back is the reversible moment and nothing else here is.

It asks for nothing when you install it.

apps/extension/manifest.jsonverbatim
"permissions": ["clipboardWrite", "storage", "offscreen", "scripting"],
"host_permissions": []

Four permissions, and not one of them is a website. host_permissions is an empty array, so a fresh install cannot read any page you visit.

There are no static content scripts either. The in-page script is registered at runtime, and only after you turn in-page masking on and grant the origins yourself.

What it can ask for later

  • claude.ai, chatgpt.com, gemini.google.comOnly if you turn the in-page Mask button on, and only after you grant them.
  • 127.0.0.1, localhostOnly if you pair the extension with the desktop app to borrow its larger model.

What is free, and what a key unlocks.

01

Free, no key, no clock

Masking and unmasking text in the popup.

For as long as you use it. There is no trial period on this surface and no account to make. Unmasking is never gated on any Velum surface, so anything you have already masked stays readable whatever happens to a licence.

02

A licence adds

File masking, and the in-page Mask button.

The in-page button covers claude.ai, chatgpt.com and gemini.google.com, and it is off until you turn it on. Everywhere else, the popup is the product.

Regex and a real model, both inside the extension.

This is not a regex-only cut-down of the desktop app. It bundles the Tier-1 BERT lite model and reports its tier as regex+lite. GLiNER never runs here, because a 1.1 GB model does not belong in a browser extension. If you also run the desktop app, the extension can borrow GLiNER over loopback, and that pairing stays off until you turn it on.

Check the network claim yourself

This is the one Velum surface with literally zero network at runtime. It takes about a minute to confirm.

  1. 01Open the popup, right-click inside it and choose Inspect.
  2. 02Switch DevTools to the Network tab.
  3. 03Set Chrome to Offline in the throttling dropdown.
  4. 04Mask something, then unmask it. The request count stays at zero.

What the size buys

store package
151 MB
model directory, unpacked
173 MB
built extension on disk
226 MB

A model that runs on your machine has to be on your machine. The session mapping is the other half: it lives in memory and in chrome.storage.session, so closing the browser ends it.

Request a demo

See it work on your own data.

Tell us what you are working with and we will walk you through it on your own data. Nothing leaves your hands.

Your details mask themselves as you go. That is Velum, running in this page. Press the eye to unmask. We still receive them in full.

We respect your privacy. Your details are only used to reach you.