Hushframe security & data
24 October 2026 · version 0.2.0
Hushframe is secure redaction for people who show dashboards, CRMs and inboxes on calls. This page says exactly what it can touch, what it stores and what leaves your computer. Short version: masks are made and kept in your browser, there is no account and no analytics, and the only network call is the licence check if you buy Pro.
How a mask works
- The text is removed, not just covered. Inside a mask Hushframe replaces the page's text with random characters of the same length (the real text is kept in memory only, so it can be put back when you unmask or pause). A screenshot, a screen recording, copy-paste, the browser's find bar or the developer tools show nothing real. (Settings has a "Replace masked text in the page" switch, on by default; turn it off only if a site misbehaves — masks then rely on CSS alone and the text is still in the page.)
- Solid block by default. Masks are opaque blocks. "Scramble" (random characters) and "Blur" (at least 10 px, over scrambled text) are optional styles.
- Before the page shows. On sites where Hushframe runs automatically, its script starts at
document_start, and the page is kept hidden for a moment until saved masks are applied, so a reload does not flash private data. If something goes wrong the page is shown after at most 0.9 s rather than staying blank. - Live updates. If the app changes text inside a mask, the new text is scrambled before the next frame is painted.
Permissions
| Permission | When | Why |
|---|---|---|
activeTab, scripting | At install | Mask the tab you are on when you open the popup or press a shortcut. |
storage | At install | Keep your masks and settings on this device. |
| One site (optional) | Only when you choose "Remember on this site" | Apply that site's masks as pages load. |
All sites, <all_urls> (optional) | Only when you turn on "Run on all sites" | The same everywhere, and Sharing mode on every tab. Turn it off to give the permission back. |
live.dodopayments.com (optional) | Only when you activate a Pro key | The licence check below. |
Hushframe does not run in private/incognito windows. "Never run on this site" (popup or Settings) stops it completely on a site, including automatic injection.
Network
- None, except the licence check. With no licence key — Free plan and the 7-day trial included — Hushframe makes no network requests.
- If you enter a Pro key, it is sent to Dodo Payments (
live.dodopayments.com) to activate and, about once a week, re-validate it. The request contains the key, a device name ("Hushframe") and the activation id. Nothing about pages, sites or masks is sent. - The extension's content security policy only allows connections to that host. There is no remote code: everything that runs is in the package.
No analytics
No telemetry, crash reporting, usage counters, ads or third-party scripts.
Data stays local
Stored in the browser's local extension storage on this device only (not synced):
- per site: the CSS selector and element type of each mask, a short one-way hash of its text (to find it again — the text itself is never stored), area positions and sizes, "hide tab title" and "never run here";
- your settings, custom words/patterns, which 3 sites use the Free plan, the trial start date, and your licence key and status if you buy Pro.
Page content is processed in memory and never stored or sent. Export (Pro) writes the same list to a JSON file only when you ask; it contains no page text. Uninstalling removes everything.
Limits — what a mask cannot do
- It changes what is on your screen. It does not change what the website sends to other people or what is in its database.
- Text drawn into images, canvas or video is not read; use an area mask (Pro) for those.
- Content inside closed shadow DOM components is not masked.
- The tab title may show briefly while a page loads before it is replaced.
Reporting a problem
Email liora-studio@mail.grokbot.com. Security reports are answered first.