The configuration files within this repo are used by DuckDuckGo's Apps and Browser Extensions to control which privacy protections are enabled or disabled.
In some cases, privacy protections can cause conflicts that affect expected website functionality. Files in the features
directory can be used to temporarily disable privacy protections or add exceptions for particular sites in order to restore expected site functionality.
All feature files contain an exceptions
property which contains a list of sites on which a feature should be disabled to prevent breaking site functionality. Additionally there is an overrides
directory which contains files that may add to these configurations for their respective platforms.
This repo also contains the code to build and deploy the configuration files.
These files (in the generated
directory once built) are served from
https://staticcdn.duckduckgo.com/trackerblocking/config/v2/...
Please see the Related Resources section for a list of files used by each platform.
Deprecated Files
Please note the files trackers-unprotected-temporary.txt
,
trackers-whitelist-temporary.txt
, protections.json
, and
fingerprinting.json
in the generated
directory, as well as v1
config
files, are deprecated. These files are automatically generated and only used by
legacy product versions.
Adding Unprotected Entries
Unprotected entries will disable all protections on a given site. This is only used in cases of severe web breakage where a root cause cannot be determined. To add an unprotected entry manually, update the exceptions
of features/unprotected-temporary.json
.
- Apps and extensions using the privacy configuration:
- iOS app
- Android app
- WebExtension (for Chrome, Firefox, Edge, Brave, and Opera)
- Safari extension
- The Safari extension has only partial remote configuration support, and uses trackers-unprotected-temporary.txt
- Mac app (in beta, code not yet open source)
- Windows app (in beta, code not yet open source)
Copyright 2022 Duck Duck Go, Inc.
DuckDuckGo Privacy Configuration is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. If you'd like to license the source for commercial use, please reach out.
-
Why do some exceptions have more documentation than others? A review of existing systems is ongoing to make this repository the central location for exceptions and bring documentation and mitigations up-to-date.
-
How can I contribute to this repository? If you suspect any website usability issues or breakage, or have concerns about what is/isn't blocked, please open an issue.
We are not accepting external pull requests at this time.