Privacy Policy
Effective: 20 August 2026 Last updated: 20 August 2026 Applies to: AdPrune browser extension, all versions
The short version
AdPrune does not collect, store, transmit, sell or share any personal data. It has no servers, no accounts, no analytics and no third-party code. Your settings and your blocked-ad counters are written to your browser's local extension storage and never leave your device.
- No data is sent anywhere
- No analytics or telemetry
- No account or sign-in
- No browsing history access
- No cookies read or written
- No third-party services
1. Who this policy is from
AdPrune ("AdPrune", "the extension") is a free, open-source browser extension distributed under the MIT licence. This policy describes how the extension handles data. It covers the extension itself and this website.
AdPrune is an independent project. It is not affiliated with, endorsed by, or connected to YouTube, Google LLC, Alphabet Inc., Mozilla, or Microsoft.
Because AdPrune is open source, every statement in this policy can be verified against the published source code at github.com/achintha-ekanayake/AdPrune. Where this policy and the source code ever disagree, treat that as a bug and please report it.
2. What AdPrune collects
Nothing. AdPrune does not collect personal data or any other user data. There is no server to send data to, no analytics package, no crash reporter, no advertising identifier and no unique installation ID.
The extension operates entirely within your browser. It is not capable of transmitting your data, because it never initiates a network request of its own to any destination.
3. What is stored on your device
AdPrune writes two items to your browser's local extension storage area
(storage.local). This area is private to the extension, lives
on your machine, and is not part of browser sync.
| Item | Contents | Why |
|---|---|---|
settings |
Your on/off toggles - master switch, video-ad blocking, page-ad hiding, the skip fallback, network rules, debug logging. A handful of true/false values and a list of enabled selector groups. | So the extension behaves the way you configured it. |
stats |
Counters: how many ads were blocked, broken down by which layer caught them; how many server-stitched streams were seen; and which internal prune patterns have fired at least once. Numbers and internal rule names only. No video titles, no URLs, no channel names, no timestamps. | To show the counters in the popup and the badge, and to let unused rules be retired. |
Neither item is personal data. Neither is transmitted. You can erase the counters at any time with Reset counters in the popup, and you can erase everything by uninstalling the extension.
4. What is never collected
To state it explicitly, AdPrune does not collect, log, or transmit:
- Personally identifiable information - name, email address, age, or any identifier
- Authentication information - passwords, credentials, security questions
- Financial or payment information
- Health information
- Personal communications - messages, comments, or anything you type on a page
- Location data of any kind
- Web history, browsing activity, referrers, or a list of the sites you visit
- Which videos you watch, which channels you follow, or your YouTube account details
- User activity - clicks, mouse position, scroll depth, keystrokes, session recordings
- Cookies, local storage, or session tokens belonging to any website
- Device or hardware identifiers, IP address, or user-agent fingerprints
AdPrune requests no permission that would make most of the above technically possible in the first place. See section 5.
5. Permissions and why they exist
Chrome Web Store policy requires that data use be limited to an extension's single disclosed purpose. AdPrune's single purpose is removing advertisements from YouTube, and every permission below exists solely to serve it.
| Permission | Justification |
|---|---|
storage |
To save the two local items described in section 3.
Only storage.local is used. Browser sync storage is
not used, so nothing is copied to your browser account or to other
devices.
|
declarativeNetRequest |
To supply the browser with a static, pre-declared list of ad-network and ad-tracking hosts to block. This API is deliberately privacy-preserving: the rules are shipped inside the extension and enforced by the browser. AdPrune is not told which requests matched, and cannot read the contents of any request. |
*://*.youtube.com/* |
To run the ad-pruning content scripts on YouTube pages. Page content is inspected in memory to find and remove ad elements and ad metadata. Nothing observed is stored or sent. |
*://*.youtube-nocookie.com/* |
The same, for embedded YouTube players, which serve their own pre-rolls. |
*://*.googlevideo.com/* |
To recognise server-stitched (SSAI) advertising markers in media manifests, so the popup can tell you when an ad cannot be removed. |
AdPrune does not request the tabs,
history, cookies, bookmarks,
downloads, identity, webRequest,
scripting or <all_urls> permissions. It has
no access to any website other than the three hosts listed above.
Firefox data-collection disclosure
On Firefox, AdPrune declares
data_collection_permissions: { required: ["none"] } in its
manifest - Mozilla's formal, browser-enforced declaration that an extension
collects and transmits no personal data. Firefox shows this to you on the
install prompt, on the add-on's listing page, and in
about:addons.
6. Network activity
AdPrune originates no network requests. Specifically:
- It contacts no server operated by the AdPrune project, because no such server exists.
- It downloads no filter lists, rulesets, configuration or code at runtime. Every rule is compiled into the extension package at build time.
- It performs no update checks of its own; that is the browser's job.
The extension does observe and modify requests that YouTube's own page code makes, which is how ad metadata is removed before the player reads it. That interception is scoped to a short published list of YouTube API endpoints, it happens entirely inside your browser's memory, and no observed content is retained after the response is handed back to the page.
Notably, AdPrune prunes the player response rather than blocking it, since that same response carries the playback manifest for the video you asked for.
7. Your relationship with YouTube
AdPrune changes what YouTube's page code does inside your browser. It does not change your relationship with YouTube or Google, who continue to collect data about your use of their service according to their own privacy policy. Installing AdPrune does not make you anonymous to YouTube, and it is not a privacy tool or a tracker blocker.
8. Third parties and remote code
AdPrune contains no third-party analytics SDKs, advertising libraries, tag managers, error reporters, or tracking pixels. No data is sold, rented, shared, or disclosed to anyone, for the simple reason that none is held.
AdPrune executes no remotely hosted code. All logic is contained in the extension package you installed, which is exactly what both the Chrome Web Store and Mozilla require, and it means the extension cannot silently change behaviour between updates.
This website is served as static files by GitHub Pages. It sets no cookies, runs no JavaScript, loads no fonts or resources from other domains, and includes no analytics. GitHub may keep standard server access logs for the requests that deliver these pages; see the GitHub Privacy Statement.
9. Retention and deletion
Because nothing is collected, there is nothing being retained by anyone. The two local items in section 3 stay on your device for as long as the extension is installed, and are under your control:
- Clear the counters: open the AdPrune popup and choose Reset counters.
- Restore defaults: toggle the settings back, or remove and reinstall the extension.
- Erase everything: uninstall AdPrune. Browsers delete an extension's local storage when it is removed.
10. GDPR, UK GDPR and CCPA/CPRA
AdPrune does not process personal data, so it does not act as a data controller or data processor in relation to any user.
The rights those laws grant - access, rectification, erasure, portability, restriction, objection, and the right to opt out of sale or sharing - are satisfied by default: there is no data to access, correct, export, or delete, and nothing is ever sold or shared. AdPrune does not sell or share personal information as those terms are defined under the CCPA/CPRA, and has not done so in the preceding twelve months. There is no cross-context behavioural advertising, and no profiling or automated decision-making.
No data transfer occurs, internationally or otherwise, because no data leaves your device.
11. Children's privacy
AdPrune is not directed at children and does not knowingly collect information from anyone, of any age. It collects no data from any user, so it cannot collect data from a child. It complies with COPPA by design rather than by procedure.
12. Security
The strongest security property of AdPrune is that it holds nothing worth stealing. There is no database, no account system, and no server that could be breached.
Locally, settings and counters live in the browser's extension storage, which is isolated from web pages and from other extensions by the browser itself. Beyond that, the extension is protected by being small, dependency-free at runtime, and fully readable: the ad-detection core imports no browser APIs and is covered by an automated test suite that runs on every commit.
If you believe you have found a security or privacy issue, please report it through GitHub issues.
13. Changes to this policy
If AdPrune's data practices ever change, this policy will be updated before the change ships, the "Last updated" date at the top will change, and - as Chrome Web Store policy requires for any post-installation change in data handling - the change will be disclosed prominently in the extension itself and in the release notes, not quietly edited into this page.
The full revision history of this page is public in the project's Git history, so you can diff any two versions of it yourself.
14. Contact
Questions about this policy, or about what the extension does, are best raised in public where the answer helps the next person: