Skip to content

Veil documentation

Veil is a Chrome extension that hides sensitive data on web pages before you share your screen, record a demo or take a screenshot. This guide covers every feature. For a quick look, see the home page and its live demo.

Install Veil

  1. Open Veil on the Chrome Web Store and click Add to Chrome.
  2. Click the puzzle-piece icon in the toolbar and pin Veil.

When Veil is installed, updated or reloaded, it starts again in the tabs that are already open. If a tab does not respond, reload it. Chrome updates Veil on its own.

Hide sensitive data on a site

Use this to cover money, emails, card numbers and other data that has a known format.

  1. Open the site you plan to share.
  2. Click the Veil icon and turn on Hide sensitive data on this site.
  3. Under What to hide, select the types. Money is selected to start with.
  4. Choose a style: Mask, Blur or Hide.

Veil covers every match on the site’s pages, including matches that load later. The setting applies to the whole site, and each selected type shows as a row under Sensitive data in the popup. Delete a row to stop hiding that type.

What types can Veil find?

Type Examples How Veil avoids false matches
Money $1,240.50, Rs. 1,00,000 Skips version numbers, years, percentages and phone numbers
Emails jane@example.com Needs a name, an @ and a domain
Phone numbers +880 1712-345678, (555) 123-4567, 01712345678 9 to 15 digits. A number without separators must start with 0. Dates and 1 234 567 style amounts are skipped
Card numbers 4242 4242 4242 4242 13 to 19 digits that pass the Luhn checksum, the check digit that every card number has
IBANs DE89 3704 0044 0532 0130 00 Must pass the IBAN checksum
API keys and tokens sk_live_…, ghp_…, shpat_…, AKIA…, xoxb-…, JWTs Known key formats only
IP addresses 192.168.1.10 IPv4 only

Veil does not look for names, street addresses or bank account numbers, because they have no reliable format. Pick those elements yourself instead.

Veil skips code elements (code, pre, kbd and samp) for every type except API keys and tokens, because pages often show keys in code elements.

What counts as money?

Add your own words

The custom box takes one entry per line. A plain entry matches that text, and case does not matter. An entry between slashes, such as /INV-\d+/, is a regular expression.

Mask, blur or hide: which style should I use?

Style Looks like Changes the page’s HTML?
Mask (default) A solid grey bar over the match No. It uses Chrome’s CSS Highlight API, so it is safe on React and Vue sites
Hide The match is invisible, and its space is kept No
Blur The match is blurred Yes. Each match is wrapped in a <veil-money> element, which can occasionally upset pages built with a framework

Use Mask unless you have a reason not to. With Blur you can also turn on Show hidden data clearly while I hover over it. That setting is off by default.

How do I see the hidden data again?

Press Alt+Shift+M to show the hidden data on the current tab. Press it again to hide it.

Veil covered something that is not sensitive

Pick the element, or right-click it and choose Veil this element. Then click Keep this visible when hiding sensitive data. The popup shows how many elements you have kept visible and lets you reset them.

Pick an element and change it

Use this for anything without a fixed format, such as names, addresses, photos or a whole panel. There are three ways to start:

While you pick:

Key Action
Click or Enter Select the highlighted element
↑ / ↓ Move to the parent or child element
Esc or right-click Cancel

After you select an element, a panel appears:

Every save shows an Undo button for 5 seconds. Veil applies your change again every time the page loads, including on single-page apps.

To change a saved rule, select the same element again and apply the same action. Veil updates the rule instead of adding a second one.

Manage your rules

The popup lists the current site’s rules in three groups: this page, the whole site, and other pages on the site. For each rule you can:

The switch in the popup header pauses all of Veil’s changes. Alt+Shift+X does the same.

Back up and move your rules

Export saves all your rules to a JSON file. Import adds the rules from a file to your existing ones and never overwrites them.

Keyboard shortcuts

Shortcut Action
Alt+Shift+V Pick an element
Alt+Shift+X Pause or resume all changes
Alt+Shift+M Show or hide sensitive data on the current tab

To change them, open chrome://extensions/shortcuts.

Before you share your screen

Known limits

Privacy and permissions

Veil makes no network requests and has no analytics or remote code. Your rules are saved with chrome.storage.local on your device. Veil asks for access to all http and https sites so it can apply your rules again when a page loads. Read the privacy policy for the details.

Get help

Report a bug or ask a question in the GitHub issues. To report a security problem, follow the security policy.