JSK Shield is an open-source ad and tracker blocker for Chrome, Edge and Firefox, licensed GPL-3.0.
Every other blocker shows you a count. JSK Shield shows you the request it blocked, the exact rule that matched, and the list that rule came from - then lets you allow just that one request on that one site, instead of switching protection off for the whole page.
When a page breaks, guided recovery tries the least destructive fix first: unblock the single request, then turn off element hiding, then pause on that site. In that order, so you keep as much protection as the page will tolerate.
Everything runs on your device. No telemetry, no account needed to block, and no paid allowlist - nobody can buy their way past it.
Blocking is free forever. An optional Family plan adds parental controls, with a 7-day trial.
Shows the blocked request, the exact filter rule that matched, and the list it came from
Allow a single request on a single site instead of disabling protection for the whole page
Guided recovery when a page breaks - least destructive fix first
Runs entirely on your device: no telemetry, no account required to block
No paid allowlist - nobody can buy their way past the filters
Open source under GPL-3.0, on Chrome, Edge and Firefox
You want to know why a page broke, not just that your blocker did something
You would rather unblock one request than whitelist an entire site
You do not want an ad blocker that sells an exemption to advertisers
You need parental controls across the household (optional Family plan)

Showing the rule that matched instead of just a blocked counter fixes the worst moment of ad blocking: when a page silently breaks and your only move is to disable the blocker for the whole site and hope. Ordering guided recovery least-destructive-first is the right call too. One thing I am genuinely curious about: with no telemetry and everything local, how do filter lists stay fresh - are they bundled with the extension and updated on release, or fetched on a manual user-triggered refresh? Staying private while keeping rules current feels like the hardest tradeoff in this category.
Showing the exact rule that fired is the feature I have wanted from every blocker: when a site breaks, I can see whether it was a filter list or a cosmetic rule and whitelist just that one instead of disabling the whole extension. Do you plan to let users export their per-site exceptions? Teams that support many small business sites would use that a lot.
Every ad blocker I have used tells you it blocked 47 things and never tells you which 47, or why. When a page breaks, your only real option is to switch the whole thing off and hope. JSK Shield shows the request it blocked, the exact filter rule that matched, and the list that rule came from. If one blocked request is what broke the page, you allow that single request on that single site and keep everything else. Guided recovery walks the fixes least-destructive-first: unblock the one request, then turn off element hiding, then pause on that site. Honest about what this is not: uBlock Origin blocks more, and its filter engine is years ahead of mine. If raw blocking power is what you want, use uBO - it is excellent and free. This is for people who want to see the mechanism and make per-request decisions rather than per-site ones. Everything runs on your device. No telemetry, no account needed to block, no paid allowlist. GPL-3.0, source on GitHub. Blocking stays free forever; an optional Family plan adds parental controls. Happy to answer anything, including the awkward questions.

Showing the rule that matched instead of just a blocked counter fixes the worst moment of ad blocking: when a page silently breaks and your only move is to disable the blocker for the whole site and hope. Ordering guided recovery least-destructive-first is the right call too. One thing I am genuinely curious about: with no telemetry and everything local, how do filter lists stay fresh - are they bundled with the extension and updated on release, or fetched on a manual user-triggered refresh? Staying private while keeping rules current feels like the hardest tradeoff in this category.
Showing the exact rule that fired is the feature I have wanted from every blocker: when a site breaks, I can see whether it was a filter list or a cosmetic rule and whitelist just that one instead of disabling the whole extension. Do you plan to let users export their per-site exceptions? Teams that support many small business sites would use that a lot.
Every ad blocker I have used tells you it blocked 47 things and never tells you which 47, or why. When a page breaks, your only real option is to switch the whole thing off and hope. JSK Shield shows the request it blocked, the exact filter rule that matched, and the list that rule came from. If one blocked request is what broke the page, you allow that single request on that single site and keep everything else. Guided recovery walks the fixes least-destructive-first: unblock the one request, then turn off element hiding, then pause on that site. Honest about what this is not: uBlock Origin blocks more, and its filter engine is years ahead of mine. If raw blocking power is what you want, use uBO - it is excellent and free. This is for people who want to see the mechanism and make per-request decisions rather than per-site ones. Everything runs on your device. No telemetry, no account needed to block, no paid allowlist. GPL-3.0, source on GitHub. Blocking stays free forever; an optional Family plan adds parental controls. Happy to answer anything, including the awkward questions.
Find your next favorite product or submit your own. Made by @FalakDigital.
Copyright ©2026. All Rights Reserved