scalpel@labs: ~/glossary/easyprivacy.mdx5 sections

EasyPrivacy, the Tracker List

EasyPrivacy is the companion list to EasyList. It targets tracking pixels, analytics beacons and fingerprinting scripts rather than display adverts. Run alongside EasyList, it stops the requests that follow you between sites without touching the page's own content.

extension: Scalpel Ads Blockerupdated: 2026-08-14read_time: 3 min
less easyprivacy.mdx

Why it matters

Your browser makes requests that have nothing to do with the page you're looking at. Analytics services watch where you go and what you do. Ad networks track you between sites to build a profile. Fingerprinting scripts gather details about your browser and system. All of these happen in the background, and most users never see them.

EasyPrivacy blocks these tracking requests. It's smaller than EasyList, more targeted, and it rarely breaks a page. If you run both lists together, EasyList to block adverts and EasyPrivacy to block trackers, you remove the vast majority of third-party tracking that happens on the web.

How it works

EasyPrivacy is a community-maintained filter list that lives alongside EasyList. Volunteers who work on EasyList also maintain EasyPrivacy, and both lists get updated as new tracking services appear or old ones get replaced.

A tracker request looks like a request to an ad network, except it's not trying to display anything visible. It's gathering data. A common example is Google Analytics: when you visit a website, the site loads a script from google-analytics.com that sends data back about your visit: what page you landed on, how long you stayed, whether you clicked anything. Scalpel blocks that request at the network layer.

EasyPrivacy's rules are written in the same format as EasyList's, using the Adblock Plus filter syntax. When Scalpel builds, it converts these text rules into Chrome's declarativeNetRequest format, just like it does with EasyList. The result is a static ruleset bundled inside the extension, so tracking requests get blocked the moment Scalpel starts, offline, with no network call needed.

Scalpel ships both lists enabled by default. You can toggle them independently in settings.

What does not matter

EasyPrivacy doesn't block first-party analytics. If you're on a site that runs its own analytics (not a third-party tracker), and that script is hosted on the site's own domain, EasyPrivacy's rules won't stop it. The list is built to catch the services that span multiple websites and follow you across the web.

You also don't need to choose between EasyList and EasyPrivacy. They're designed to work together. EasyPrivacy is not a replacement for EasyList; it's an addition. EasyList catches display adverts. EasyPrivacy catches trackers. Run them both and you get most of what you need.

Finally, blocking tracking requests won't tidy up the visual mess a blocked advert leaves behind. That's a cosmetic job (hiding empty boxes with CSS), not a network job. Scalpel v1 does network blocking only, so empty ad spaces might still appear on some pages. The data is gone, and the tracking is stopped, but the hole remains.

Code example

An EasyPrivacy rule targeting a common analytics service looks like this in filter syntax:

||google-analytics.com^

This blocks any request to google-analytics.com or its subdomains. When Scalpel converts this to declarativeNetRequest, it becomes:

{
  "id": 2501,
  "priority": 1,
  "action": {
    "type": "block"
  },
  "condition": {
    "urlFilter": "||google-analytics.com^"
  }
}

A more specific rule targets only scripts:

||tracker.example.com^$script

In declarativeNetRequest:

{
  "id": 2502,
  "priority": 1,
  "action": {
    "type": "block"
  },
  "condition": {
    "urlFilter": "||tracker.example.com^",
    "resourceTypes": ["script"]
  }
}

Scalpel contains over 20,000 rules like these, all pre-converted and bundled.

How Scalpel Ads Blocker shows it

In Scalpel's settings, EasyPrivacy appears as a toggle under the default filter lists. The label says "EasyPrivacy: block trackers and analytics." When enabled, its rules are active from the moment the extension loads. Open the popup on any page and the blocked-request count will include trackers stopped by EasyPrivacy as well as adverts stopped by EasyList.

If you want to audit Scalpel's rules, you can find the compiled static ruleset in the extension's rules/ folder. The EasyPrivacy rules are there, pre-converted, so they're auditable by you or by anyone with security expertise.

Sources