Chrome MV3 ready · v0.4 beta

Ad filtering that learns what to remove — and what to keep.

Switchyardwatches how ads, trackers, and consent banners actually behave on the page — not just which URL they came from — and writes compact declarative rules that fit Chrome’s new MV3 limits while still catching cloaked, rotating, and AI-generated creatives.

Free, per-site readability view. Paid fleet tier & dev API on request.

switchyard / verdict · nyt.com
KEEP

Section: <main id="story">

a11y tree intact · no sponsor markers · 124 children

BLOCK

Div.slot-mega-ad

auto-injected above-the-fold · CLS contribution 0.42

KEEP

Iframe: consent-banner.civic.gov

preserves consent flow · explicit role=dialog

BLOCK

Script: tracker-rotate.min.js

domain mutated 3× / hr · fingerprint of rotating cloaker

KEEP

Inline summary element

content-bearing · first paint 312ms · source-stable

5 elements scored · 2 hidden · 3 keptMV3 rules: 4,217 / 5,000

Built for the surfaces where ads hurt most

State & local governmentPublic schools & librariesStreaming & paywalled newsEveryday shopping long tail

How it works

A model sits between the page and your nerves.

Chrome’s MV3 caps dynamic filter rules at 5,000 and major platforms actively detect blockers. Most ad blockers play whack-a-mole; we teach a small model to recognise what an ad does, then emit rules that fit under the budget.

Local inference only

Pages you visit never leave the device. Models update silently from a signed bundle.

  1. 01

    Watch

    On every render, the extension records the elements an ad, tracker or consent banner actually touches — paint rects, network calls, role mutations, accessibility tree deltas. Not just the URL.

  2. 02

    Score

    A small model ranks each candidate block on three axes: source risk (cloaking, rotation), behaviour risk (auto-injection, CLS injection), and ship risk (a11y tree, layout, consent flow).

  3. 03

    Ship

    Decisions compile down to a compact denylist inside Chrome's MV3 rule budget. Errors fall back to a deterministic baseline rule list, so a model failure never breaks the page.

Where it works

Three surfaces, three different problems.

Civic

Government & municipal sites

92% tag-manager weight reduced

Legacy tag managers stack jQuery + 14 analytics vendors on a single permit page. We collapse what's unreachable behind polluted captures while keeping forms, accessibility trees, and language switchers intact.

preservation target forms

Streaming

Anti-adblock paywalls

Detection signals rewritten

YouTube, Twitch, and a long tail of streaming sites fingerprint traditional blockers. Our filter runs in the DOM and the service worker so the detection surface we expose is much smaller.

preservation target dom

Long tail

News & shopping

4,217 of 5,000 MV3 slots

We tune for cluttered domains with rotating cloakers, AI-generated creatives, and consent banners that load above-the-fold. Most other blockers either miss these or break page layout.

preservation target layout

Pricing

Free for individuals. Fleet plans for IT teams.

Schools, libraries, and small agencies run hundreds of devices. Fleet plans add dashboards, policies, and an audit log of every rule the extension serves.

Request a fleet quote
FeatureFreeFleet
Browser extensionBaseline, per-site readabilityBaseline + custom policies per device group
Filter updatesWeeklyDaily + signed override channel
IT dashboardDevice inventory · policy diff · rollouts
Developer audit APIAudit third-party scripts on your own properties
SupportCommunityEmail + named engineer SLA
Compliance artefactsSOC-lite summary, DPA, audit log export

FAQ

The questions IT and web teams keep asking.

Pick the shortest answer that matches your buyer. For everything else, write to switchyard-9@polsia.app.

The extension only emits Chrome MV3 declarative denylist rules — never injected CSS or runtime DOM mutation except to hide a matched element. The page's existing accessibility tree, layout, and any working consent flow are preserved unless they have no visible affordance to the user.

Get the extension

A calmer web on 500,000 rules, not 50,000.

We’re onboarding the first 500 households and the first 50 fleet customers for the v0.4 beta. Email is the fastest route to either.

Replies within 1 business day during the beta.