# cavi-au/consent-o-matic

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cavi-au-consent-o-matic).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,933 stars · 189 forks · JavaScript · other

## Links

- GitHub: https://github.com/cavi-au/Consent-O-Matic
- awesome-repositories: https://awesome-repositories.com/repository/cavi-au-consent-o-matic.md

## Topics

`browser-extension` `consent-management` `cookies` `gdpr`

## Description

Consent-O-Matic is a browser extension and cookie consent automation tool designed to automatically interact with privacy notices and cookie banners. It utilizes a DOM interaction engine and a privacy preference manager to map user choices to automated actions on third-party consent management providers.

The project features a custom rule engine that allows for the import of external rule lists from user-provided URLs to target specific website behaviors. It employs a targeting system that combines CSS selectors with text, style, and iframe filters to locate and interact with precise web elements.

The system covers broad capabilities in web browser automation, including the ability to simulate user interactions such as clicking buttons and toggling switches. It manages consent categories by executing predefined action sequences and applying conditional logic to handle dynamic page behaviors.

## Tags

### Security & Cryptography

- [Consent Management](https://awesome-repositories.com/f/security-cryptography/consent-management.md) — Navigates complex privacy forms and iframes to ensure website settings match desired user preferences.
- [Consent Category Mapping](https://awesome-repositories.com/f/security-cryptography/consent-management/consent-category-mapping.md) — Toggles switches or clicks buttons based on defined categories to match user privacy preferences. ([source](https://github.com/cavi-au/Consent-O-Matic/blob/master/README.md))
- [Preference Mapping](https://awesome-repositories.com/f/security-cryptography/consent-management/preference-mapping.md) — Maps standardized consent categories to specific automated actions to align website settings with user preferences. ([source](https://github.com/cavi-au/Consent-O-Matic#readme))
- [Rule Definitions](https://awesome-repositories.com/f/security-cryptography/consent-management/rule-definitions.md) — Provides a system for specifying detection methods and click sequences to automate privacy settings. ([source](https://github.com/cavi-au/Consent-O-Matic/blob/master/rules.schema.json))
- [Data Privacy Management](https://awesome-repositories.com/f/security-cryptography/data-privacy-management.md) — Maps user privacy choices to automated interactions with third-party consent management providers.
- [Privacy Settings Interfaces](https://awesome-repositories.com/f/security-cryptography/privacy-management/privacy-settings-interfaces.md) — Applies specific data collection and tracking settings across multiple websites using predefined rule sets.

### Business & Productivity Software

- [Cookie Consent Automation Tools](https://awesome-repositories.com/f/business-productivity-software/cookie-consent-automation-tools.md) — Provides a browser extension that automatically interacts with cookie banners and privacy notices using predefined rules.
- [Cookie Consent Management](https://awesome-repositories.com/f/business-productivity-software/cookie-consent-management.md) — Automatically detects and dismisses cookie banners to improve web browsing experience and privacy.
- [Preference-to-Action Mappings](https://awesome-repositories.com/f/business-productivity-software/preference-to-action-mappings.md) — Translates high-level privacy category preferences into specific DOM interactions like toggling checkboxes or clicking buttons.

### Development Tools & Productivity

- [User Interaction Simulators](https://awesome-repositories.com/f/development-tools-productivity/event-driven-automation-engines/user-interaction-simulators.md) — Simulates browser actions such as clicking buttons or closing tabs to navigate consent forms. ([source](https://github.com/cavi-au/Consent-O-Matic/blob/master/README.md))
- [External Rule Imports](https://awesome-repositories.com/f/development-tools-productivity/external-rule-imports.md) — Allows extending automation capabilities by importing custom rule lists from user-provided URLs. ([source](https://github.com/cavi-au/Consent-O-Matic#readme))

### Software Engineering & Architecture

- [Rule Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/rule-configuration-engines/rule-execution-engines.md) — Implements a framework for importing and executing external rule lists to target specific website behaviors.
- [Rule Injection](https://awesome-repositories.com/f/software-engineering-architecture/contextual-validation-rules/dynamic-validation-rules/rule-injection.md) — Provides the ability to load and merge external automation definitions from remote JSON sources into the active rule set.

### User Interface & Experience

- [Action Sequence Composers](https://awesome-repositories.com/f/user-interface-experience/action-sequence-composers.md) — Executes predefined chains of clicks and interactions based on detected privacy provider signatures.
- [DOM Element Selectors](https://awesome-repositories.com/f/user-interface-experience/dom-element-selectors.md) — Implements a targeting system using CSS selectors and filters to locate precise web elements. ([source](https://github.com/cavi-au/Consent-O-Matic/blob/master/README.md))
- [State-Based Execution Logic](https://awesome-repositories.com/f/user-interface-experience/conditional-ui/conditional-rendering-logic/state-based-execution-logic.md) — Executes specific actions based on element presence or checkbox states to handle dynamic page behaviors. ([source](https://github.com/cavi-au/Consent-O-Matic/blob/master/README.md))

### Web Development

- [DOM Element Selectors](https://awesome-repositories.com/f/web-development/dom-element-selectors.md) — Identifies target web elements by combining CSS selectors with text content and style attribute checks.
- [DOM Interaction Handlers](https://awesome-repositories.com/f/web-development/dom-interaction-handlers.md) — Provides the capability to interact with page elements via clicking, sliding, or waiting for components to appear. ([source](https://github.com/cavi-au/Consent-O-Matic#readme))
- [Browser Automation](https://awesome-repositories.com/f/web-development/browser-automation.md) — Executes precise DOM interactions like clicking buttons and toggling switches based on CSS selectors.
- [Polling Listeners](https://awesome-repositories.com/f/web-development/dynamic-dom-manipulation/polling-listeners.md) — Implements periodic DOM scanning to detect asynchronously loaded cookie banners and trigger automation.

### Testing & Quality Assurance

- [Iframe Navigators](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/browser-ui-interaction/ui-element-selectors/shadow-dom-selectors/iframe-navigators.md) — Traverses nested document hierarchies to locate and interact with consent forms hosted inside cross-origin iframes.
