Consent-O-Matic

2026-01-189:3519399github.com

Browser extension that automatically fills out cookie popups based on your preferences - cavi-au/Consent-O-Matic

Most websites today want to process your data and ask for consent using cookie banners. While these banners are meant to give you control, in practice they often result in repetitive and time-consuming clicks—especially if your browser clears cookies when you close it. The same banner reappears, and you find yourself making the same choices again and again.

Consent-O-Matic is a browser extension designed to solve this problem. Developed by the Centre for Advanced Visualization and Interaction (CAVI) at Aarhus University, the tool automatically handles consent banners on your behalf. After you set your preferences during installation, Consent-O-Matic will recognize many common Consent Management Platform (CMP) banners, apply your choices, and confirm with a little checkmark next to the extension icon.

Because Consent-O-Matic is an open-source project, anyone can contribute to its improvement by adding new rules, updating old rules, or updating documentation. This collaborative approach ensures that the extension keeps pace with the constantly changing landscape of online consent banners—and makes it easier for everyone to safeguard their data with less hassle.

Consent-O-Matic currently works with more than 200 CMPs (see full list here), including major platforms like UserCentrics, CookieBot, OneTrust, as well as cookie banners for specific websites.

Consent-O-Matic uses the following set of permissions in the browser when installed:

  • Access to read all pages - It searches each page you visit for consent-related popups that it knows how to handle
  • Information about tab URLs - You can turn the extension on/off on a page-by-page basis by clicking the icon. To check if it is enabled it needs to know the address of the page you are visiting
  • Storage - Your preferences and settings are stored directly in your browser

The extension only communicates with the web in two situations:

  • When fetching and updating rule lists
  • When you report a website as not working through the extension icon menu (the Let us know! button)

The URL of the website reported through the extension icon is sent to a website hosted by Aarhus University in the form of a URI-encoded query string (e.g., LinkedIn will be reported as https://gdprconsent.projects.cavi.au.dk/report.php?url=www.linkedin.com).

We highly recommend installing directly through the official extension store of your browser (mentioned at the top). Installing through the official channels will automatically keep you up-to-date with new versions when they are released.

It is also possible to get the extension by other means.

As an alternative to extension stores you can manually download and extract one of the published versions from the Releases page on Github.

If you do that you have to use the developer feature of the browser to Load Unpacked (Chrome) or Load Temporary Addon (Firefox) and point it at the manifest.json in the unpacked zip-directory.

Lastly, if you intend to review or make changes to the code, you can build and install directly from the source code:

git clone https://github.com/cavi-au/Consent-O-Matic.git
cd Consent-O-Matic
npm install

and then run one of npm run build-firefox or npm run build-chromium or npm run build-safari

For Firefox or Chromium you can now proceed as above for installing release archives but point the browser at the build folder or a folder where you extracted the zip from build/dist/. Safari requires loading the XCode project to further build an app.

We do not recommend installing from source.

If your favorite CMP is missing from the current list, feel free to either create a custom list that you can add (click the extension icon in your browser, click "More add-on settings", click "Rule lists", and enter the URL of your custom list.). If you really want to contribute, feel free to create a Pull Request while you're at it.

Users can send reports when rules for specific websites are not working. The full list of reported URLs is available here. The number indicates how many times the URL was reported. This list currently does not show if/when the rules for a URL have been checked/adjusted, so always verify whether the rule is still broken/missing before you start working on it.

A rule list for Consent-O-Matic is a JSON structure that contains the rules for detecting a CMP (Consent Management Provider), and dealing with the CMP popup when it is detected.

Each CMP is a named entry and contains 2 parts, detectors and methods. The name should ideally be the actual name of the underlying CMP (correctly capitalized and whitespaced) or of the website if it is unique to that domain. The name will be shown in the About section of extension's settings, so make it user-friendly.

{ "MyCMP": { "detectors": [ ... ], "methods": [ ... ] }, "AnotherCMP": { "detectors": [ ... ], "methods": [ ... ]
   },
}

If more than 1 detector is added to a CMP, the CMP counts as detected if any of the detectors trigger.

Detectors are the part that detects if a certain rule set should be applied. Basically, if a detector triggers, the methods will be applied.

Detector structure:

{ "presentMatcher": [{ ... }], "showingMatcher": [{ ... }]
}

The present matcher is used to detect if the CMP is present on the page.

Some CMPs still insert the popup HTML into the DOM even when re-visiting a page where you have already given consent earlier. We only want to handle the consent form if its actually showing on the page. This is what the showing matcher is used for.

Both the present and showing matcher follow the common structure of Matchers.

Both the present and showing matcher can be multiple matchers, only triggering the detector if all of the matchers (respectively for present and showing) apply.

Methods are collections of actions. There are 4 methods supported by Consent-O-Matic. OPEN_OPTIONS, DO_CONSENT, SAVE_CONSENT, HIDE_CMP

All the methods are optional, and, if present, the methods will be run in the order given below when a detector is triggered.

HIDE_CMP
OPEN_OPTIONS
HIDE_CMP
DO_CONSENT
SAVE_CONSENT

Methods take on the form:

{ "name": " ... ", "action": { ... }
}

where the name is one of the 4 supported methods and action is the action to execute.

Most actions and matchers have some target that they apply to. For this reason, Consent-O-Matic has a DOM selection mechanism that can easily help with selecting the correct DOM element.

"parent": { "selector": ".some.css.selector", "textFilter": "someTextFilter", "styleFilter": { "option": "someStyleOption", "value": "someStyleValue", "negated": false }, "displayFilter": true, "iframeFilter": false, "childFilter": {}
},
"target": { "selector": ".some.css.selector", "textFilter": "someTextFilter", "styleFilter": { "option": "someStyleOption", "value": "someStyleValue", "negated": false }, "displayFilter": true, "iframeFilter": false, "childFilter": {}
}

There are 2 parts, parent and target. The parent is optional but if it exists it will be resolved first, and used as the starting point for target. This allows you to construct very complicated selections of elements that wouldn't otherwise be possible with a single plain CSS selector. One example of such is selecting into shadow DOM - where using parent to target the element with the shadow allows querying its children with the selector.

All the parameters to parent and target except selector are optional.

The selection method works by using the CSS selector from selector and then filtering the resulting DOM nodes via the various available filters:

  • textFilter filters all nodes that do not include the given text. It can also be given as an array "textFilter":["filter1", "filter2"] and then it filters all nodes that do not include one of the given text filters.

  • styleFilter filters based on computedStyles. option is the style option to compare for example position, value is the value to compare against and negated sets if the option value should match or not match the given value.

  • displayFilter can be used to filter nodes based on if they are display hidden or not.

  • iframeFilter filters nodes based on if they are inside an iframe or not.

  • childFilter is a fully new DOM selection, that then filters on the original selection, based on if a selection was made by childFilter or not.

Here is an example DOM selection:

"parent": { "selector": ".myParent", "iframeFilter": true, "childFilter": { "target": { "selector": ".myChild", "textFilter": "Gregor" } }
},
"target": { "selector": ".myTarget"
}

This selector first tries to find the parent which is a DOM element with the class myParent that is inside an iframe and has a child DOM element with the class myChild that contains the text "Gregor".

Then, using this parent as "root", it tries to find a DOM element with the class myTarget.

This could then be the target of an action or matcher.

Actions are the part of Consent-O-Matic that actually do stuff. Some actions do something to a target selection, others have to do with control flow.

This action simulates a mouse click on its target.

Example:

{ "type": "click", "target": { "selector": ".myButton", "textFilter": "Save settings" }, "openInTab": false
}

openInTab if set to true, will trigger a ctrl+shift+click instead of a click, which should make the link, if any, open in a new tab, and focus that tab.

In this example we only use a simple target with a textFilter but full DOM selection is supported.

This action runs a list of actions in order.

Example:

{ "type": "list", "actions": []
}

actions is an array of actions that will all be run in order.

The consent action takes an array of consents, and tries to apply the users consent selections.

Example:

{ "type": "consent", "consents": []
}

consents is an array of Consent types

Some consent forms use a slider to set a consent level, this action supports simulating sliding with such a slider.

Example:

{ "type": "slide", "target": { "selector": ".mySliderKnob" }, "dragTarget": { "target": { "selector": ".myChoosenOption" } }, "axis": "y"
}

target is the target DOM element to simulate the slide motion on.

dragTarget is the DOM element to use for slide distance.

axis selects if the slider should go horizontal "x" or vertical "y".

The slide event will simulate that the mouse dragged target the distance from target to dragTarget on the given axis.

This action is used as control flow, running another action depending on if a DOM selection finds an element or not.

Example:

{ "type": "ifcss", "target": { "selector": "", }, "trueAction": { "type": "click", "target": { "selector": ".myTrueButton" } }, "falseAction": { "type": "click", "target": { "selector": ".myFalseButton"
      }
   }
}

trueAction is an action that will be run if the DOM selection finds an element. falseAction will be run when the DOM selection does not find an element.

This action waits until the DOM selector finds a DOM element that matches. This is mostly used if something in the consent form loads slowly and needs to be waited for.

Example:

{ "type": "waitcss", "target": { "selector": ".myWaitTarget" }, "retries": 10, "waitTime": 200, "negated": false
}

retries is the number of times to check for the target DOM element. Deafults to 10.

waitTime determines the time between retry attempts. Defaults to 250.

negated makes "Wait For CSS" wait until the target is NOT found.

If some set of actions needs to be run several times, but with different DOM nodes as root, the for each action can be used. It runs its action 1 time for each DOM element that is selected by its DOM selection; all actions run inside the for each loop will see the DOM as starting from the currently selected node.

Example:

{ "type": "foreach", "target": { "selector": ".loopElement" }, "action": {}
}

action is the action to run for each found DOM element.

This action waits the given amount of milliseconds before continuing.

Example:

{ "type": "wait", "waitTime": 250
}

This action sets CSS class 'ConsentOMatic-CMP-Hider' on the DOM selection. The default CSS rules will then set opacity to 0 on the element.

Example:

{ "type": "hide", "target": { "selector": ".myHiddenClass"
   }
}

This action closes the current tab, useful for consent providers like Evidon, which likes to open new tabs with the consent dashboard inside.

Example:

Matchers are used to check for the presence of some DOM selection, or the state of some DOM selection.

This matcher checks for the presence of a DOM selection, and return that it matches if it exists.

Example:

{ "type": "css", "target": { "selector": ".myMatchingClass"
   }
}

This matcher checks the state of an <input type='checkbox' /> and returns that it matches if the checkbox is checked.

Example:

{ "type": "checkbox", "target": { "selector": ".myInputCheckbox"
   }
}

This is what is used inside Consent Actions and defines the actual consent that the user should be giving or not giving.

Each consent has a type, that matches the consent categories inside Consent-O-Matic, so if a user has toggled the first consent category to ON, (Type A) and the consent is of type "A", then the consent will be enabled.

Usually the consent is given either as a toggle, or a set of buttons on/off. Therefore consent has a mechanism for each of these cases.

Example:

{ "type": "A", "toggleAction": {}, "matcher": {}, "trueAction": {}, "falseAction": {}
}

type is the type of consent category this rule defines and determines if this consent should be on or off depending on the user's selection for that type of category.

toggleAction this action is used to select consent if the popup uses a toggle or a switch to communicate consent. The action will be run if the matcher says the consent is in a state different from what the user has asked it to be, otherwise it will not be run.

matcher is the matcher used to check which state the consent is in. For a checkbox matcher, the consent is given if the checkbox is checked. For a CSS matcher the consent is given if the matcher finds a DOM selection.

trueAction and falseAction are actions used if consent instead has to be given by pressing one of two buttons, rather than being toggled on/off. These will be run depending on the user's selection of consent. If the user has given consent for this category type, the trueAction will be run, and falseAction will be run if the user has not given consent to this category type.

If toggleAction and matcher is present on the content config, toggleAction will be used, if one of them is missing, trueAction/falseAction will be used instead.

As seen in the addon settings, in the same order:

  • D: Information Storage and Access
  • A: Preferences and Functionality
  • B: Performance and Analytics
  • E: Content selection, delivery, and reporting
  • F: Ad selection, delivery, and reporting
  • X: Other Purposes

Putting it all together, here is a full example of a CMP "MyCMP" that has 2 consent categories to toggle.

{ "MyCMP": { "detectors": [ { "presentMatcher": { "type": "css", "target": { "selector": "#theCMP" } }, "showingMatcher": { "target": { "selector": "#theCMP.isShowing" } } } ], "methods": [ { "name": "OPEN_OPTIONS", "action": { "type": "click", "target": { "selector": ".button", "textFilter": "Change settings" } } }, { "name": "DO_CONSENT", "action": { "type": "list", "actions": [ { "type": "click", "target": { "selector": ".menu-vendors" } }, { "type": "consent", "consents": [ { "type": "A", "matcher": { "type": "checkbox", "parent": { "selector": ".vendor-item", "textFilter": "Functional cookies" }, "target": { "selector": "input" } }, "toggleAction": { "type": "click", "parent": { "selector": ".vendor-item", "textFilter": "Functional cookies" }, "target": { "selector": "label" } } }, { "type": "F", "matcher": { "type": "checkbox", "parent": { "selector": ".vendor-item", "textFilter": "Advertisement cookies" }, "target": { "selector": "input" } }, "toggleAction": { "type": "click", "parent": { "selector": ".vendor-item", "textFilter": "Advertisement cookies" }, "target": { "selector": "label" } } } ] } ] } }, { "name": "SAVE_CONSENT", "action": { "type": "click", "target": { "selector": ".save-consent-btn"
               }
            }
         }
      ]
   }
}

Read the original article

Comments

  • By cluckindan 2026-01-1813:052 reply

    ”Cookie banner” is a misnomer. These consent popups are usually asking for you to consent to having hundreds if not thousands of companies build and sell a profile of you. They will combine your behavior and device data from various sources, identify you across platforms by linking device IDs, and ultimately sell your privacy to the highest bidder.

    Typically, you can’t even turn these permissions off, nor can you deny consent or object to their purposes: they are increasingly claiming they are for ”fraud prevention” or some other technical purpose which doesn’t land under consent or the ”legitimate interest” umbrella.

    • By cons0le 2026-01-1816:221 reply

      I would love for an audit of sites to see if any popular sites still do collect the data when you click no. Or if you just land on the banner page, and close the tab.

      • By BobaFloutist 2026-01-1820:251 reply

        Or if you just ignore the pop-up through ublock's element picker or something else equivalent and continue to use the webpage.

        As far as I'm concerned, that doesn't constitutes consenting to anything whatsoever.

        • By netsharc 2026-01-191:27

          Stack Overflow has dozens of domains and each of them has the dumb cookie popup.. I set up a Ublock rule and modify it for (iirc) all sites, so I don't see the element with the ID on any site (I think it has the term "stack" in the id/class name). Ah, bliss!

    • By pmarreck 2026-01-1813:083 reply

      ... All so I can have ads that are actually more relevant to me.

      Sounds horrible. >..<

      The (...fortunately a) handful of places I've worked at which dealt with this sort of thing were very strict about removing PII.

      I'm more concerned about only being shown information (not just ads for products) relevant to my click-tuned interests as I think that's just contributing massively to political polarization.

      • By beezlebroxxxxxx 2026-01-1814:044 reply

        Maybe I'm unique in this experience, but the "actually more relevant to me" part is just never true. Most of the ads I see that are delivered via these auctions are just garbage or scams or "relevant" in a tenuous pointless way.

        The only really relevant ads I've seen are from blogs that literally just sell ad space to brands and the ad is just a simple image link you can click on. Philosophy blog? Philosophy book ad. High end men's clothing blog? High end men's clothing brand ad.

        • By quickthrowman 2026-01-1814:46

          I get hyper-targeted ads trying to sell me electrical distribution equipment and air handling units because I run commercial electrical work (mostly mechanical equipment focused) and search for a lot of equipment part numbers. They’re on target, but ineffective.

          None of the ads could ever be effective, I have my supply houses that I buy from and they don’t advertise online.

          I do have a decent amount of buying power at work (single digit millions a year) but no internet ad from an electrical distributor is ever going to influence my purchasing decision.

        • By wernsey 2026-01-1817:03

          Or "relevant" in the sense that it's something I bought recently: I searched for vacuum cleaners, found one I liked an bought it. Now I will be seeing ads for vacuum cleaners for the next few months.

        • By thatguy0900 2026-01-1815:39

          The really funny ones are when you buy something online then receive a deluge of ads for the thing you just purchased

      • By cluckindan 2026-01-1813:102 reply

        That’s a defeatist post hoc rationalisation, akin to ”I don’t have anything to hide”

        • By networkadmin 2026-01-1813:342 reply

          The cookie thing is just a red herring. Who gives a damn about cookies? Are they suddenly a privacy problem after decades in use? The people who want to track you (including these crooked governments who are pretending to care about cookies) are doing much more than using cookies these days. Which is exactly why they felt it safe to raise this giant kerfuffle about cookies. It's a distraction.

          • By treetalker 2026-01-1813:551 reply

            Cookies have always been a privacy problem. That other, greater privacy invasions exist does not mean that cookies ought not be addressed or ought be tolerated.

            Liberty demands the end of systems of control.

            • By networkadmin 2026-01-1818:00

              Liberty had better start polishing its musket and sharpening its sword.

          • By JCattheATM 2026-01-1816:43

            The EU, the same people that decided Windows shipping a default browser was an issue about a decade after it had actually stopped being one.

        • By pmarreck 2026-01-2113:32

          I'll partially acknowledge this point (nice move btw) but frankly, if I MUST see ads, being shown ads that would at least target my demographic is at least more interesting to me. For example, I often get shown stuff that only nerds would like, and being one, at minimum I smile sometimes, even if I don't click on it

      • By explodes 2026-01-1813:33

        Indeed. I challenge all bored-enough readers to an exercise: compare your doomscroll to your friend's doomscroll. It's wild how much they can differ.

  • By cocoto 2026-01-1810:284 reply

    Simply enable the “cookie notices” list in ublock origin (available on every platform now, even iOS). According to the EU law if you don’t click accept it’s equivalent to denying.

    • By Fraaaank 2026-01-1811:232 reply

      > According to the EU law if you don’t click accept it’s equivalent to denying.

      The result is the same. Technically there's no such thing as denying, only providing (explicit) consent. If consent is required and no consent is provided, then there is no ground for processing.

      • By Rygian 2026-01-1811:553 reply

        How do you object to the site's legitimate interest use of your personal data? That is a legal grounds for processing, which can be enabled by default as long as you are provided with an option to actively object.

        https://noyb.eu/en/your-right-object-article-21

        • By psychoslave 2026-01-1812:30

          >How do you object to the site's legitimate interest use of your personal data?

          With the legitimate individual control over one own data required to run a healthy society and unavoidable to sustain a democracy. If a business can't exist without threatening society, the sooner it's going out of existence the better.

        • By upofadown 2026-01-1812:181 reply

          If it is an actual legitimate interest then you would likely be expected to contact the site out of band to object to the use of your data. Depending on the technical details you might not be able to continue using the site after a successful objection. In some cases the site might be able to reject your request.

          The cookie banner thing is intended to allow the user to explicitly provide consent, should they for some reason wish to do so.

          • By Rygian 2026-01-1820:221 reply

            The cookie banners are routinely used to object to "legitimate interest" uses and the corresponding sites continue to work normally, not sure what your alternate understanding is based on.

            • By upofadown 2026-01-1822:061 reply

              The cookie banners are for initial consent. You just consent to less stuff sometimes.

              A website might claim some sort of legitimate interest for the initial collection of data but might not think that they can claim that for the retention of data I suppose. That would seem kind of dodgy to me...

              Just because a website claims something doesn't mean it is valid. There isn't a lot that falls under legitimate interest for a website.

              • By Rygian 2026-01-2314:35

                What you state is provably wrong. Consent and objection to legitimate interest are two different things, in the eyes of GDPR, and are managed separately in privacy banners:

                Navigate to a website of your choice [1]. Let's assume its privacy banner is served by onetrust.

                The text at the top of their "Privacy Center" says, verbatim, "We share this information with our partners on the basis of consent and legitimate interest. You may exercise your right to consent or object to a legitimate interest"

                If you then unfold the "Manage Consent Preferences" you will notice that you can, _separately_, provide your consent for a given purpose, by sliding the switch to the right to enable it, and also, _at the same time_, "Object to Legitimate Interests" by clicking on the button labeled so.

                Of course, this is a dark pattern to make it as cumbersome as possible to object to Legitimate Interest purposes.

                [1] (I took vox dot com as an example.)

        • By kuschku 2026-01-1812:293 reply

          Legitimate interest is defined as that usage that is absolutely technically necessary. Which is why you cannot object to legitimate interest.

          Legitimate interest is for example a website using your IP to send you the necessary TCP/IP packets with the website's content upon request.

          Many websites use the term "legitimate interest" misleadingly (or even fraudulently), but that's not how GDPR defines it.

          • By prox 2026-01-1812:53

            It’s also to check if something works. I recently added something new and while I cannot and will not track any personally identifying information, I still need some data if people go through the whole process alright. That covers legitimate interest. It’s the minimum data I collect and its get wiped after some time.

          • By rglullis 2026-01-1813:103 reply

            An IP address is not "personally identifiable data". You can not know who the person is just because you got an IP address in the request.

            We are almost 10 years into the GDPR, and we still have these gross misunderstandings about how to interpret it. Meanwhile, it has done nothing to stop companies from tracking people and for AI scrapers to run around. If this is not a perfect example of Regulatory Capture in action, I don't know what is.

            • By close04 2026-01-1813:241 reply

              > An IP address is not "personally identifiable data".

              GDPR says it is [1][2].

              > We are almost 10 years into the GDPR, and we still have these gross misunderstandings

              Because people would rather smugly and confidently post about their gross misunderstandings. If only there was some place to read about this and learn. I’ll give you the money shot to save 10 more years:

              > Fortunately, the GDPR provides several examples in Recital 30 that include:

              > Internet protocol (IP) addresses;

              From Recital 30:

              > Natural persons may be associated with online identifiers provided by their devices, applications, tools and protocols, such as internet protocol addresses

              [1] https://gdpr.eu/eu-gdpr-personal-data/

              [2] https://gdpr.eu/recital-30-online-identifiers-for-profiling-...

              • By rglullis 2026-01-1813:362 reply

                When an IP address is linked to any other data, then it counts as PII. By itself, it's not.

                So, sure, if you stick the user's IP address on a cookie from a third-party service, you are sharing PII. But this is absolutely not the same as saying "you need to claim legimate interest to serve anything, because you will need their IP address".

                • By close04 2026-01-1813:551 reply

                  IPs are PII even before you inevitably link them to something in your logs. If you can make a case that you absolutely don’t store them anywhere, they’re just transiently handled by your network card, maybe you get away with it but only because someone else along the stream covers this for you (your hosting provider, your ISP, etc.)

                  Source: I have been cursed to work on too many Data Protection Impact Assessments, and Records of Processing Activities together with actual lawyers.

                  • By rglullis 2026-01-1815:071 reply

                    Basically we are in agreement: IP addresses, by themselves, are not PII, only when they are linked to other information (a cookie, a request log) then it consitutes processing.

                    So, apologies if I was not precise on my comment, but I still stand by the idea: you don't need to a consent screen that says "we collect your IP address", if that's all you do.

                    • By close04 2026-01-1819:30

                      Not really, no. I don’t think I can make it more clear than I, or the law, already did: IPs are PII no matter what. Period. It’s literally spelled out in the law.

                      The misconception is that you need explicit consent for any kind of processing of PII. That is not the case. The law gives you alternatives to consent, if you can justify them. Some will confuse this with “must mean IPs aren’t PII”, which is not the case.

                • By kuschku 2026-01-1813:581 reply

                  An IP address linked with the website being accessed is already PII.

                  When serving content, you're by necessity linking it to a website that's being accessed.

                  For example, if grindr.com had a display in their offices that showed the IP address of the request that's currently being handled, that's not saving or publishing or linking the data, but it's still obvious PII.

                  • By rglullis 2026-01-1814:16

                    > a display in their offices that showed the IP address (...) that's not saving or publishing

                    You are not sharing with a third-party, but that sure falls into processing and publishing it.

            • By youngtaff 2026-01-1815:33

              IP address is considered personal data and can be considered personally identifiable data in some circumstances for example if you can geolocate someone to a small area using it

            • By Nextgrid 2026-01-1813:201 reply

              The lack of enforcement is consistent across all companies big and small so I don’t think it counts as regulatory capture.

              • By kuschku 2026-01-1813:273 reply

                Tbh, Google and Facebook, after several enforcement actions, now provide a simple "Reject All" button, while most smaller websites don't.

                I'd argue that's the opposite of regulatory capture.

                • By rglullis 2026-01-1813:43

                  Yeap, but the thing is:

                  - they don't care about the cookies they are setting on their properties, if most of the functionality they have require you to be authenticated anyway.

                  - These "smaller websites" are exactly the ones more likely than not to be Google's and Facebook's largest source of data, because these sites are the ones using Google Analytics/Meta Pixel/etc.

                • By Fargren 2026-01-1813:40

                  This is not my experience at all with Facebook. Since six months ago or so, Facebook is saying my three option are to pay them a subscription, accept tracking, or not use their products. I went with option three, but my reading of the GDPR as that it's illegal for them to ask me to make this choice.

                  I'm in Spain, this is probably not the same worldwide.

                • By Nextgrid 2026-01-1813:55

                  The "Reject all" does not in fact reject all. They are taking extreme liberties with the "legitimate interest" clause to effectively do all tracking and analytics under it.

                  The YouTube consent screen for example includes this as a mandatory item:

                  > Measure audience engagement and site statistics to understand how our services are used and enhance the quality of those services

                  I don't believe this complies with the GDPR to have this mandatory.

          • By Rygian 2026-01-1820:24

            Your interpretation does not match GDPR. I suggest you read the link in the post you replied to.

      • By atoav 2026-01-1811:502 reply

        Also: the consent has to be informed consent. Me clicking away a nag banner, even if I click "accept" isn't informed consent by the definition of the law.

        You want to share my data with your 300+ "partners" legally? Good luck informing me about all the ways in which every of those single partners is using my data. If you are unable to inform me I can't give consent, even if I click "Accept all". That is however a you-problem, not a me-problem. If you share my data nontheless you are breaking the law.

        • By neodymiumphish 2026-01-1814:54

          Undoing whatever data collection and sharing, as well as seeking and obtaining restitution, is probably a much harder problem to solve (for you) if you select accept.

        • By JCattheATM 2026-01-1816:441 reply

          A lot of the notices provide exactly the info you need to be informed, it's on you if you want to read it or not.

          • By atoav 2026-01-197:381 reply

            Are you sure? Most notices provide a list of partners. What needs to be provided is a list of who gets to see which data for which purpose.

            Most lists I have ever seen are lists that are not informing me of that, especially the lengthy ones. The only ones that comply are very short lists by privacy conscious website owners.

            • By JCattheATM 2026-01-1913:13

              I'm not 100% sure, no. I wonder if any studies have been done on this? At a minimum I would assume sites from big corps would be in compliance.

    • By gempir 2026-01-1811:235 reply

      Breaks many websites though and you'll be wondering why something doesn't work and then you have to remember you checked that ublock checkbox a few months ago.

      • By benjojo12 2026-01-1811:332 reply

        I think in the last 12 months of using that unlock list I've only counted less than five times where sites have broken with that list enabled, I don't have to even disable the entire list. You just disable u-block for that specific site

        • By lol768 2026-01-1812:30

          I've found it to happen much more frequently than that, unfortunately. Usually it's because the modal is two DOM elements - a backdrop, that fades out the rest of the content and sits on top of it/prevents interaction; and the actual consent modal. Websites then use various mechanisms to prevent scrolling. uBlock is often only removing the actual dialog, so you end up with a page you can't scroll up or down and can't interact with.

          If you're going to turn the filters on, it's worth being aware of this because it's far from flawless.

        • By thevinchi 2026-01-1811:50

          Until this moment, I did the same thing… but right now I realize, this behavior incentivizes a domain owner to intentionally break their site, to trick the visitor to disable their blocker.

          Then the browser: refreshes the page, downloadz all the thingz… presents cookie banner.

          I’ve been using uBlock (or Brave) for years now, and when “something doesn’t work right” the first thing I often do is lower my shields… :facepalm:

          From now on, I’ll just bounce. Keep your cookies, I’m not hungry.

      • By guenthert 2026-01-1812:10

        Complain and use a different site. There are only few websites which offer a truly unique service. If enough complain and walk away, something might finally change.

      • By worble 2026-01-1812:391 reply

        I've never seen a website break from this, got any examples?

        • By linker3000 2026-01-1813:511 reply

          LinkedIn - it takes you to the allow/deny page but doesn't automate things. It used to be that the LinkedIn login would get stuck in a cycle around this, but now it just dumps you on to the consent page.

          • By rsynnott 2026-01-1818:50

            I mean, no great loss.

      • By nextlevelwizard 2026-01-1813:28

        If a website gets broken by this it isn’t a site worth visiting

      • By Dilettante_ 2026-01-1812:22

        Thanks for the warning, I'd turned on those lists when I read the parent comment and would not have had a good time troubleshooting that.

    • By bcye 2026-01-1811:161 reply

      This extension gives you more choice than denying or allowing everything though, you get granular choice automatically applied to all websites where it works

      • By cocoto 2026-01-1812:551 reply

        I think most people don’t want to give consent to any of this so a simple block list is enough.

        • By bcye 2026-01-1818:05

          Well it does change if you have more of a choice than reject all or allow all (without needing to go into complicated settings each time). Telemetry is not that unpopular - I'd like devs to fix bugs I encounter.

    • By geor9e 2026-01-1818:281 reply

      But I don't want to auto deny. I want my shopping carts to work. I want websites to save my login and preferences. I just don't want the pop-ups. So this extension is great.

      • By cccbbbaaa 2026-01-1818:38

        Login, preferences, or shopping cart cookies (aka “functional cookies”) do not need consent. I never saw a banner that allowed me to disable them.

  • By whazor 2026-01-1813:021 reply

    This extension gives me my preferered web experience. Namely it tries to automatically fill in the cookie pop-ups for you, instead of hiding it. You can actually enable functional cookies, which are useful. Then when filling the cookie popup doesn't work, you can fill it in manually. This is a huge improvement over the ublock hiding of popups, which actually breaks sites time to time.

    • By xanrah 2026-01-1821:28

      This is why I use it too. UBlock and other options remove the banner or consent screens fine, but this breaks functionality sometimes. Even not accepting the required cookies can break basic functionality.

HackerNews