Privacy policy
Last updated August 2026.
Short version: neither the website nor the Chrome extension collects, stores, or transmits your filter rules or your browsing activity anywhere. Everything ohm does happens on your own device.
The website (ohm.wbnns.com)
The generator page parses whatever you paste entirely in your browser tab — the text never leaves it, there's no server it's sent to, and no account or sign-in exists. Every page on the site loads Google Analytics (GA4, property G-R2EEZDEKQX), with all of its measurement features switched on. It sets cookies in your browser and sends Google your IP address, approximate location (country, region, city), device, browser and screen details, referrer, the pages you view, and the actions you take on them — including scrolls, outbound link clicks, site searches, and generator events such as picking a build path or downloading an extension. Google Signals is enabled, so for signed-in Google users who have Ads Personalization on, Google can also join that activity to their Google account for cross-device reporting and ad personalization.
Analytics never sees the filter rules you paste into the generator. That text stays in your tab, and no event carries its contents.
Google's handling of what it receives is covered by Google's privacy policy. If you don't want to be measured, a content blocker, a cookie-blocking browser setting, or Google's opt-out add-on stops the tag from loading or reporting.
Cookies and consent
The site shows no cookie banner. Instead, consent is given by use: by loading or continuing to use ohm.wbnns.com you consent to the analytics cookies and data collection described above and set out in the terms of use. If you do not consent, do not use the site — or block the tag with any of the methods above. Nothing on the site is gated behind analytics; blocking it costs you nothing.
The Chrome Web Store extension
The installable extension (source) requests two permissions:
storage— saves the filter rules you paste on its settings page to this browser's local extension storage (chrome.storage.local), so they persist between sessions. This stays on your device — it is not synced to a Google account, not synced across your other computers, and not accessible to any other extension or website.host_permissions: <all_urls>— the ability to run on any site. This is requested broadly because the extension is one shared package installed before you've written any rules, so it can't know in advance which sites your rules will eventually name. It does not act on that access indiscriminately: the content script that runs on each page checks your saved rules for that page's hostname, and does nothing at all unless you've written a rule for it. See the docs for exactly which files do what, so you can check this claim against the real code rather than take it on faith.
The extension has no network permission (no fetch access, no declarativeNetRequest, nothing that could reach the internet) and contains no analytics or telemetry code. It has no way to send your rules or your browsing activity anywhere, because there is no code path in it capable of a network request.
The generator's downloaded extension
If you use the "build your own" path instead of the Store listing, the same guarantees apply, with an even smaller permission footprint: the generated manifest.json has empty permissions and host_permissions arrays beyond the exact hosts your own rules name, and your rules are baked into the file itself rather than saved anywhere.
Questions
See support, email ohm@wbnns.com, or open an issue on GitHub.