Blur, scratchcard, or hide anything on any website. Point at an element, pick it, and Haze conceals it - blur or scratchcard it and peek on hover/click, or hide it outright - then toggle everything back on in one click.
Haze ships with one built-in rule (it blurs Google Search's review ratings) and is the successor to Hide Ratings, but the engine is general: spoilers, prices, social counts, sensitive data while screen-sharing - anything you don't want to see until you choose to.
- Element picker - point, adjust granularity (up/down the DOM tree), create a rule.
- Three effects - blur, scratchcard (blur + an opaque cover), or hide; adjustable blur radius.
- Reveal on demand - hover or click to peek; the global switch hides/shows all.
- Edit anywhere - tweak or toggle any rule right in the toolbar popup, or manage them per-site and globally in the options page.
- Built-in Google Search rule - blurs review ratings out of the box; toggle or delete it like any rule.
- Export / import your rules as JSON.
Haze uses optional host permissions: it asks for access to a site only when you first pick an element there. Google Search is granted at install for the one built-in rule.
Built with WXT + TypeScript + Preact
- Biome. The popup and options page are Preact and share a
RuleCard/RuleEditorcomponent set (components/); the concealment engine andlib/*are plain TypeScript.
pnpm install
pnpm dev # build + watch (does not auto-launch a browser)
pnpm dev:firefox # Firefox
pnpm build # production build -> .output/chrome-mv3
pnpm zip # packaged zip for the store
pnpm compile # tsc --noEmit
pnpm lint # biomepnpm dev watches and rebuilds with HMR but won't open a browser. Load
.output/chrome-mv3 as an unpacked extension once, and it hot-reloads on changes.
See docs/DESIGN.md for the full design - the containment engine (outermost-wins dedupe), the hybrid CSS-inject + MutationObserver approach, the selector stability ranking, and the permission model.
The original per-site stylesheets live in the git history (pre-2.0 commits).
Forked from ganigeorgiev/hide-ratings-extension; generalized into Haze.