AxiomCode
Verifiable intelligence for AI software engineering. Everything starts with a formally grounded code graph.
Veil is a free, open-source Chrome extension that hides money, emails, card numbers, API keys and other sensitive data on any website before you share your screen, record a demo or take a screenshot.
PluginsJavaScript · AstroGitHub @jnahianOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Chrome extension that hides, blurs or rewrites any element on a page, and masks money, emails, phone numbers and other sensitive data.
Loading the full README. The saved excerpt is shown below.
23 second intro, with sound · Full walkthrough on YouTube
A Chrome extension for picking any element on a web page and then hiding it, blurring it, or replacing its text. It can also hide money, emails, phone numbers and other sensitive data across a whole site. Your changes are saved and come back every time you visit.
Install Veil from the Chrome Web Store, then pin it from the puzzle-piece menu.
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.Read the full README ↗Website: https://veil-ce.jnahian.me/ · Documentation · Changelog
23 second intro, with sound · Full walkthrough on YouTube
A Chrome extension for picking any element on a web page and then hiding it, blurring it, or replacing its text. It can also hide money, emails, phone numbers and other sensitive data across a whole site. Your changes are saved and come back every time you visit.
Install Veil from the Chrome Web Store, then pin it from the puzzle-piece menu.
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.
There are three ways to start:
While picking:
| 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.
To change a saved rule, select the same element again and apply the same action. Veil updates the existing rule instead of adding a duplicate.
In the popup, turn on Hide sensitive data on this site, then select the types of data to hide. Veil finds every match on the site's pages, including matches that load later, and covers them. The configuration applies per site, and each selected type shows as a row under Sensitive data in the popup. Delete a row to stop hiding that type.
Types:
| Type | Examples | How Veil avoids false matches |
|---|---|---|
| Money | $1,240.50, Rs. 1,00,000 | See the list below |
| Emails | [email protected] | 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 all card numbers have) |
| IBANs | DE89 3704 0044 0532 0130 00 | Must pass the IBAN checksum |
| API keys and tokens | sk_live_…, ghp_…, shpat_…, AKIA…, xoxb-…, JWTs | Only known key formats |
| IP addresses | 192.168.1.10 | IPv4 only |
Custom 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.
Money is the only type selected by default. Veil does not detect names, street addresses or bank account numbers, because they have no reliable format. Use the element picker for them.
What counts as money:
$1,240.50, 1.240,50 €, ৳ 5,000, Tk 500, Rs. 2,500, USD 99, 99 BDT, CHF 1'250.00, US$1,000, 50¢.$1.2k, €3M, ₹3 lakh.<span>$</span><span>1,240</span>.Balance | 5,000 table cells. This is off by default because it catches more false positives.Veil skips version numbers, years, percentages and phone numbers. It also skips code elements (code, pre, kbd and samp) for every type except API keys and tokens, because pages often show keys in code elements.
Styles:
| Style | Looks like | Changes the page? |
|---|---|---|
| Mask (default) | Solid grey bar over the match | No. Uses Chrome's CSS Highlight API, so it's safe on React and Vue sites |
| Hide | Match is invisible, space kept | No |
| Blur | Blurred | Yes. Each match is wrapped in a <veil-money> tag, which can occasionally upset framework-rendered pages |
Controls:
Won't be caught:
<canvas> (many chart libraries) or in images.The popup lists the 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 header pauses everything. Alt+Shift+X does the same thing.
Export and Import back up all rules as JSON. Importing merges with your existing rules and never overwrites them.
You can change shortcuts at chrome://extensions/shortcuts.
chrome.storage.local, grouped by hostname. Page-scoped rules match on origin + path and ignore the query string and hash.document_start, which avoids a flash of the original content in most cases.iddata-testid / aria-label-style attributessrcdoc iframes that the page fills in itself.chrome:// pages and the Web Store.extension/ the extension, loaded unpacked and zipped for the store
manifest.json MV3 manifest, permissions, shortcuts
background.js context menu, shortcuts, toolbar badge
detect.js sensitive data detection (pure text matching)
content.js picker, panel, editor, rule engine, sensitive data hiding
popup.html/css/js rule manager
icons/ 16, 32, 48, 128 px
tests/unit/ detection tests (node:test)
tests/e2e/ extension tests in Chromium (Playwright)
scripts/ package.js builds the store zip
store/ Web Store listing, screenshots and submission guide
site/ landing page (Astro and Tailwind CSS)
To run the tests, use npm install, then npx playwright install chromium, then npm test.
Veil sends no data anywhere. Read the privacy policy.
The Chrome Web Store guide describes how to package and submit Veil.
Read the contributing guide and the code of conduct. To report a security problem, follow the security policy.
Veil is released under the MIT License.