This is a library of rules for navigating through common consent popups on the web. These rules can be run in a Firefox webextension, or in a puppeteer orchestrated headless browser. Using these rules, opt-in and opt-out options can be selected automatically, without requiring user-input.
This library is primarily used by the cliqz browser in order to automate user-consent, and make a cleaner browsing experience.
The library's functionality is implemented as a set of rules that define how to manage consent on a subset of sites. These generally correspond to specific Consent Management Providers (CMPs) that are installed on multiple sites. Each CMP ruleset defines:
- If the site is using that CMP
- If a popup is displayed
- Steps to specify an 'opt-in' or 'opt-out' consent for the CMP.
- Optionally, a test if the consent was correctly applied.
There are currently three ways of implementing a CMP:
- As a JSON ruleset, intepreted by the
- As a class implementing the
AutoCMPinterface. This enables more complex logic than the linear AutoConsent rulesets allow.
- As a Consent-O-Matic rule. The
ConsentOMaticCMPclass implements compability with rules written for the Consent-O-Matic extension.