Quick summary: declarativeNetRequest (DNR) in 30 seconds
- declarativeNetRequest (DNR) is the Manifest V3-era API for structured allow, block, redirect, and upgrade rules—think ad blockers, tracker filters, parental controls, and enterprise allowlists.
- It replaces much of the old webRequest blocking model with declared rule sets and browser-enforced limits (static vs dynamic rule budgets, update cadence).
- Supply-chain risk is real: remote or auto-updated rule lists can steer traffic—phishing domains, affiliate injectors, or silent header stripping—without feeling like a “proxy” install.
- Trust the publisher and how rules are sourced; re-read the permission diff after updates, especially when DNR appears next to broad host or scripting powers.
Real-world lens: reputable blockers vs rule-list supply chain
Major open-source blockers publish filter lists you can inspect; a random “ad blocker” with opaque remote rules is a different risk profile—DNR is the engine, but whoever controls the lists controls where your browser can go.
Combine DNR with raw network access, proxy-style routing, content scripts, or read-all-sites permissions only when the product story needs the full stack; otherwise treat extra powers as escalation.
What declarativeNetRequest enables (rules, redirects & upgrades)
- Apply static rules packaged with the extension and, where permitted, dynamic or session rules that adjust at runtime—subject to documented caps and browser version behavior.
- Block or allow URLs by pattern, resource types, and initiators; redirect or upgrade traffic (for example HTTP→HTTPS) in ways that materially change what loads in the tab.
- Pair with host permissions or other APIs in composite designs: the effective power is the combination of DNR, scripting, and network access, not the DNR line alone.
Abuse scenarios: phishing redirects, breakage & insider risk
- Tampered or malicious rule updates can redirect sign-in flows to phishing clones, strip safety headers, or allow malware domains while blocking security vendors—often blamed on “the site is broken.”
- Over-aggressive filters break payroll, SSO, or healthcare portals in subtle ways, driving unsafe workarounds (disabling protection globally) instead of scoped fixes.
- Enterprise blind spots: rules that target internal hostnames, telemetry endpoints, or SaaS APIs can exfiltrate metadata or weaken monitoring when bundled with other extension powers.
Official docs: Chrome DNR reference, MV3 migration & permission warnings
Chrome declarativeNetRequest API & Manifest V3 context
Google’s reference documents rule types, static and dynamic rule limits, updateRuleOptions, and how DNR interacts with other extension surfaces—start here before trusting marketing that says ‘we only block ads.’Sources: Chrome — declarativeNetRequest API · Chrome — Migrate to Manifest V3
Permission warnings and declare-permissions explain what users see at install time; cross-check them against the full manifest, not a single line.Sources: Chrome — Declare permissions · Chrome — Permission warnings
Ecosystem & policy context (block lists, advocacy, filter syntax)
Civil-society commentary on MV3 and content blocking highlights trade-offs between performance, privacy, and who controls rule delivery—read it alongside primary Chrome documentation.Sources: EFF — Google’s Manifest V3 (Dec 2021 deep link)
Filter-list authors document syntax and maintenance practices; useful background for understanding how declarative rules map to real-world subscriptions.Sources: AdGuard — How to create ad filters · MDN — declarativeNetRequest (Firefox)
Practical tips: rule transparency, updates & enterprise inventory
- Prefer blockers and filters with open rule sources, reproducible builds, and a clear explanation of who can push remote lists.
- Watch update cadence and permission diffs—new DNR plus unexpected host or scripting access deserves a pause.
- Keep a clean diagnostic profile without heavy filters when troubleshooting breakage; compare behavior before blaming the website.
- For orgs: inventory extensions with DNR, correlate rule changes to updates, and policy-separate tools that can touch internal zones.
Last reviewed: March 2026. Educational overview only—not legal advice; verify rule limits and APIs against current Chrome documentation.
FAQ: declarativeNetRequest, DNR rules & Manifest V3
Short answers for common searches—use with the risk and mitigation sections above for full context.
Further reading: DNR docs & related eSafe guides
Pair Chrome’s API reference with every Chrome extension permission on the install sheet—especially network, proxy traffic, scripts, and broad host access.
- Chrome — declarativeNetRequest API
- Chrome — Declare permissions
- Chrome — Permission warnings
- Chrome — Migrate to Manifest V3
- MDN — declarativeNetRequest (Firefox extensions)
- EFF — Manifest V3, privacy & blockers (commentary)
- AdGuard — filter rules knowledge base
- eSafe — Full list of Chrome extension permissions
- eSafe — Extension network permission & traffic risks
- eSafe — Proxy / VPN-style extension traffic
- eSafe — Content scripts & extension scripts
- eSafe — “Read all sites” host permission risks
Related extension guides
These topics often show up together in real extensions and abuse reporting—reading them as a set makes it easier to judge combined risk.
- Browser extensions & network traffic (full guide)
Host permissions, fetch, declarativeNetRequest, redirects, documented abuse at reported scale, and mitigations.
- Proxy / in-browser VPN permissions: your traffic, their middlebox
Why proxying browser traffic is critical risk, how MV3 shifted APIs, and a broad citation list across Chromium docs, IETF, and consumer guidance.
- Browser extensions & scripts / DOM (full guide)
Content scripts, scripting API, what “read and change all your data” means, cited incidents, and how to reduce scope.
Audit what is installed
Pair least-privilege installs with a periodic review—especially after any extension update.