Version 0.1.0 · Effective date: [DATE]
Clean Shield is a Chrome browser extension that blocks ad and tracker network requests using Chrome's Declarative Net Request (DNR) API. It also hides visible ad elements on web pages using conservative CSS selectors applied locally in your browser.
All blocking decisions are made locally on your device using rules bundled with the extension. No requests are sent to a Clean Shield server, and no remote code is executed.
To apply blocking rules, Clean Shield's content script and service worker observe information about network requests and the current page origin. This processing happens entirely inside Chrome on your device and is not transmitted anywhere.
Clean Shield uses Chrome's local extension storage (chrome.storage.local) to
persist the following data on your device only:
| Key | What it contains | Why it is stored |
|---|---|---|
protectionEnabled |
Boolean (true/false) | Remembers whether global protection is on or off across browser restarts. |
allowlist |
List of hostnames you have chosen to pause protection on (e.g. example.com) |
Needed to bypass blocking rules on sites you specifically allow. |
settings |
User preferences: cosmetic filtering on/off, badge on/off, which filter lists are enabled | Persists your dashboard settings. |
stats.totalBlocked |
A running total count of network requests blocked since last reset | Displayed in the dashboard and popup as a local counter. |
stats.byDomain |
A map of blocked-request counts per hostname (e.g. { "ads.example.com": 12 }) |
Displayed as "Top network-blocked domains" in the dashboard. |
stats.cosmeticHiddenTotal |
A running total count of page elements hidden by cosmetic filtering | Displayed in the dashboard. |
stats.cosmeticByDomain |
A map of cosmetic-hidden counts per hostname | Displayed as "Top cosmetic-hidden domains" in the dashboard. |
None of this data leaves your device. It is stored only in
chrome.storage.local which is local to your Chrome profile. You can
reset the counters at any time using the Reset button in the dashboard, or by
removing the extension.
Clean Shield does not collect, process, or transmit:
Clean Shield does not sell, share, transfer, or disclose any data to any third party for any purpose. There are no advertising networks, data brokers, analytics providers, or any other third-party data recipients involved.
No analytics SDK, tracking pixel, beacon, or telemetry system is included in Clean Shield. The extension makes no outbound network requests of its own. It does not phone home.
Clean Shield does not download or execute code from any remote server. All blocking rules, scripts, and styles are bundled inside the extension package and reviewed at install time. The extension complies with Chrome Manifest V3's prohibition on remotely hosted code.
| Permission | Why it is needed |
|---|---|
declarativeNetRequest |
Required to register and apply the static blocking rulesets that block ad and tracker network requests. This is the core permission for ad blocking in MV3. |
storage |
Required to save your settings, allowlist, and block counters locally in
chrome.storage.local. No remote storage is used. |
tabs |
Required to read the URL of the active tab so the popup can show the current site's hostname and protection status. Only the active tab's URL is read. |
<all_urls> host access |
Required to apply blocking rules and cosmetic filtering across the websites you visit. Without host access, the DNR rules cannot match requests from websites, and the content script cannot hide ad elements. This is standard for ad blockers. |
Clean Shield includes optional blocking rulesets derived from EasyList and EasyPrivacy. These rulesets are converted offline and bundled with the extension. They are not downloaded at runtime.
EasyList and EasyPrivacy are maintained by The EasyList authors
(https://easylist.to/)
and are licensed under GPL-3.0-or-later or CC BY-SA 3.0-or-later. Full attribution
details are included in the extension package in generated-rules/THIRD_PARTY_NOTICES.md.
Clean Shield is not affiliated with EasyList, uBlock Origin, AdBlock, AdGuard, Google, or Chrome.
Clean Shield uses its permissions only for the stated purposes of blocking ads, trackers, and annoyances, and showing per-site protection status. It does not use its access to user data for any other purpose, including profiling, advertising, credit assessment, or any purpose not described in this policy.
Clean Shield does not knowingly collect any information from children under 13. The extension has no account system and does not collect personal data from any user.
If this privacy policy changes in a material way, the updated policy will be included in the extension update and the effective date will be updated. Continued use of the extension after a policy update constitutes acceptance of the updated policy.
For questions about this privacy policy, contact: [CONTACT EMAIL OR URL]