What runs on the device
- Detection (regular expressions plus validators: Luhn, IBAN mod-97, entropy) runs in the page's content script, in the browser.
- Blur is applied with CSS only. Page text and data are never changed or sent anywhere.
- Settings, custom words and rules live in the browser's local extension storage. Browser sync is deliberately not used, so client names never pass through a browser account.
- All code ships inside the package; there is no remotely hosted code. Detection updates arrive only as new store-reviewed versions.
- A Content Security Policy blocks inline and remote scripts on extension pages. Messages between parts are validated by type; nothing from a web page is ever executed.
What leaves the device
| Call | When | Data sent |
|---|---|---|
| License check | Once a day | Random install ID, and the license email if any |
| Restore Pro | When the user asks | Email, 6-digit code, install ID |
| Checkout | When the user opens pricing | Install ID, in the pricing page address |
| Anonymous counts | Only if switched on (off by default) | Event name and extension version |
| Report a miss | Only when clicked | Data type and site domain |
Never sent: page content, browsing history, rules, custom words, screenshots.
What the license server stores
Email, plan, expiry, payment-provider customer and subscription IDs, and the install IDs linked to a license (at most 3 per person) with a last-seen date. It runs on Cirrabit's own server behind TLS; the database is not reachable from the internet, restore codes are stored only as salted hashes, and backups are taken daily.
Licenses are tokens signed with ECDSA P-256 and verified offline by the extension, so an outage never switches off a paid plan: it keeps working for 7 days past its expiry.
Permissions
| Permission | Why |
|---|---|
| storage | Save settings, rules and license status on the device |
| scripting | Inject the blur engine into tabs when Presenter Mode turns on |
| activeTab | Blur the current tab on demand without broad access |
| contextMenus | Right-click "Blur this element" |
| alarms | Schedule the daily license check |
| Host access, all sites (optional) | Auto-blur every tab during Presenter Mode. Requested at first use, not at install; single sites can be allowed instead |
Managed deployment
Admins can push a read-only rule pack through browser policy (key rulePack) and pre-approve host access with standard extension policies. See Help: rule packs.
Limits
Detection is assistive and can miss data. It does not protect desktop apps, images, canvas content or anything outside the browser. For high-risk demos, use blur everything except.