The open-source consent firewall
Most consent tools gate a list of known tags and hope vendors honour a string. noidme.js patches the browser's networking primitives directly (fetch, XHR, beacons, scripts, images) so it can allow, block, or quarantine outgoing requests until consent — fail-closed by default, and honest about exactly what it covers.
Block, don't just signal
Network-level
Patches fetch / XHR / sendBeacon / script / img, so unknown trackers can't slip through a tag list.
Fail-closed
Unconsented, unrecognised requests are blocked or quarantined by default, never allowed-until-caught.
Quarantine & replay
Hold requests made before consent, then replay them the moment the matching purpose is granted.
Purpose-bound
Every request is mapped to a purpose; consent state decides allow / block per request, live.
Honest coverage
We publish the per-vector coverage matrix and the adversary boundary. Prove, don't promise — no closed incumbent does.
Self-hostable
MIT-licensed, on npm, ~40 KB gzipped. Run it standalone with a static policy — no backend required to install or evaluate.
Enforce before anything fires
<script src="https://cdn.noidme.com/noidme.js" data-key="pk_live_yourPublishableKey" data-notice="n1" data-enforce="true"></script> <!-- non-essential tags stay inert until their purpose is consented --> <script type="text/plain" data-dpdp-purpose="analytics" src="https://example-analytics.js"></script>
Pairs well with the Consent SDK (banner + script-blocking) for a fast start — but noidme.js runs on its own when you need to guarantee nothing leaks pre-consent.
Captured consent drives the firewall
A turnkey consent-sdk adapter bridges the DPDP Suite banner and noidme.js enforcement: the same §6(10) consent decision that writes to the tamper-evident ledger also updates noidme.js in the browser — allowing or blocking outgoing requests for each purpose in real time, without custom glue code.
This is Layer-1 honest-SDK enforcement. It reliably stops honest-but-eager third-party tags (analytics, ads, heatmaps) from firing before consent. Against a deliberately hostile in-page script the authoritative layers remain the opt-in service worker and a strict CSP — the adapter does not change that boundary.
Defence-in-depth, not a silver bullet
Stop trusting tags to behave
Add real, fail-closed enforcement to your site — MIT-licensed, on npm.