Manifest V3 never killed cosmetic filtering
Chrome's Manifest V2 removal killed uBlock Origin, and with it years of hand-written cosmetic filters people had tuned to their own annoyances. uBlock Origin Lite is declarative by design: no custom filters, no element picker. Get the custom filters back.
The premise is a correction. The widely repeated story is that MV3 killed
content filtering. What MV3 removed is webRequestBlocking, the ability to
intercept and cancel network requests. Cosmetic filtering was never network
filtering, a host##selector rule is CSS injected by a content script, and MV3
still supports content scripts. So ohm parses uBO’s cosmetic syntax client-side
and emits a real MV3 extension. No network access, no vendor, no account.
The permissions trade is not solvable, only choosable, so it ships both ways. The Web Store build requests all sites, because one shared install cannot know your hosts in advance. Building your own from a pasted list produces an extension naming only the hosts your rules cover. Procedural cosmetic filters are explicitly out of scope.
And on the Chrome Web Store.