Cookie Consent Ab Audit logo

Cookie Consent Ab Audit

Community
mukul975
cookie-consent-ab-audit

Methodology for auditing A/B testing of consent banners to ensure compliance with equal ease of acceptance and rejection. Covers CNIL enforcement patterns including the EUR 150M Google fine, dark pattern detection methodology, manipulative design identification, and regulatory-compliant experimentation boundaries.

Overview

Publishermukul975
RepositoryPrivacy-Data-Protection-Skills
Skill namecookie-consent-ab-audit
Stars
279
Forks
59
Bundled files
4
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mukul975 on GitHub. Read the source before you install it.

Installation

Install the Cookie Consent Ab Audit AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mukul975/Privacy-Data-Protection-Skills.git /tmp/Privacy-Data-Protection-Skills
mkdir -p .claude/skills
cp -r /tmp/Privacy-Data-Protection-Skills/plugins/consent-management-skills/skills/cookie-consent-ab-audit .claude/skills/cookie-consent-ab-audit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cookie Consent Ab Audit in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Cookie Consent Ab Audit on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Cookie Consent Ab Audit is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Auditing Cookie Consent A/B Testing

Overview

A/B testing consent banners is a common practice to optimize consent rates. However, when these experiments manipulate users into consenting through design asymmetry, deceptive patterns, or unequal ease of acceptance versus rejection, they violate GDPR Article 7 and ePrivacy Directive Article 5(3). The CNIL has been the most active enforcer, issuing a EUR 150 million fine to Google (January 2022) and a EUR 60 million fine to Meta (January 2022) specifically for consent banner design violations.

Regulatory Framework for Consent Banner Design

Equal Prominence Requirement

CNIL Deliberation No. 2020-091 (September 17, 2020) and EDPB Guidelines 05/2020 establish:

  1. Equal Visual Weight: The "Accept" and "Reject" options must have the same visual prominence — same size, same color treatment, same font, same position hierarchy.
  2. Equal Interaction Cost: Rejecting cookies must require the same number of clicks/steps as accepting.
  3. No Pre-Selection: No purposes or vendors may be pre-selected.
  4. No Cookie Walls: Access to content must not be conditioned on cookie acceptance.
  5. Neutral Language: Neither option should use encouraging or discouraging language asymmetrically.

Key Enforcement Actions

AuthorityTargetFineDateKey Finding
CNILGoogle LLCEUR 150,000,000January 6, 2022google.fr: accepting cookies required 1 click; rejecting required multiple clicks through secondary menu
CNILMeta Platforms IrelandEUR 60,000,000January 6, 2022facebook.com: "Accept Cookies" button prominently displayed; "Refuse" buried in secondary layer
CNILMicrosoft IrelandEUR 60,000,000December 22, 2022bing.com: "Accept" button displayed without equally visible "Refuse"
CNILTikTokEUR 5,000,000December 29, 2022tiktok.com: rejecting cookies more complex than accepting; insufficient information
Italian GaranteClearview AIEUR 20,000,000March 9, 2022No valid consent mechanism for biometric data processing

Dark Pattern Detection Methodology

Category 1: Visual Asymmetry

What to check:

  • Accept button: color, size, font weight, border, shadow, position
  • Reject button: color, size, font weight, border, shadow, position
  • Are they visually equal? A bright green "Accept All" next to a grey text-link "Manage Preferences" fails this test.

Measurement:

  • Button area (width x height in pixels)
  • Color contrast ratio against background (WCAG calculation)
  • Font size and weight
  • Visual hierarchy position (above vs below the fold, left vs right)

Category 2: Interaction Asymmetry

What to check:

  • Clicks to accept all: typically 1 (click "Accept All")
  • Clicks to reject all: should be 1 (click "Reject All") — NOT 2+ (click "Manage" then toggle then "Save")
  • Is a "Reject All" button present on the first layer?

CNIL standard: A "Refuse All" button must be available on the same layer and with the same prominence as the "Accept All" button.

Category 3: Language Manipulation

What to check:

  • Accept text: neutral or encouraging? ("Accept and continue enjoying our site")
  • Reject text: neutral or discouraging? ("I don't want a personalized experience")
  • Is the reject option framed as losing something?

Examples of non-compliant language:

  • Accept: "Accept and enjoy personalized content" / Reject: "Continue with limited experience" — FAIL
  • Accept: "OK, I agree" / Reject: "Reject all cookies" — PASS (both neutral)

Category 4: Timing and Delay Manipulation

What to check:

  • Does the accept button appear before the reject button?
  • Is there a loading delay on the reject path?
  • Does dismissing the banner (X button) default to accepting?

Category 5: Repeated Prompting (Nagging)

What to check:

  • After rejecting, does the banner reappear on the next page?
  • How frequently is reconsent requested?
  • CNIL recommends no more than every 6 months.

A/B Test Compliance Boundaries

What can be legitimately tested:

Permitted TestsProhibited Tests
Banner position (top vs bottom)Accept button larger than reject button
Color scheme (both buttons same treatment)Accept button more prominent than reject
Text wording (both options equally neutral)Additional clicks required to reject
Layout arrangement (if equal prominence maintained)Pre-selecting consent purposes in one variant
Icon usage (same for both options)Cookie wall in any variant
Animation/transition styleAccept-only first layer with reject buried
Privacy information presentation formatDiscouraging language for reject option

Audit Procedure

Step 1: Capture All A/B Variants

For each active consent banner experiment:

  • Screenshot all variants across desktop and mobile
  • Record the HTML/CSS for accept and reject elements
  • Document the user flow for accepting and rejecting in each variant
  • Note the traffic split (what percentage of users see each variant)

Step 2: Apply Dark Pattern Assessment

For each variant, score against the 5 categories:

CategoryWeightScore (0-10)Notes
Visual Asymmetry25%0 = equal, 10 = extreme asymmetry
Interaction Asymmetry30%0 = equal clicks, 10 = many more clicks to reject
Language Manipulation20%0 = neutral, 10 = strongly manipulative
Timing/Delay15%0 = no delays, 10 = significant delays on reject
Repeated Prompting10%0 = respects choice, 10 = constant nagging

Overall Risk Score: Weighted sum. Score above 3.0 requires remediation. Score above 5.0 requires immediate removal.

Step 3: Compare Consent Rates Across Variants

If a variant achieves significantly higher consent rates through design asymmetry rather than improved information, this is evidence of manipulation:

  • Baseline comparison: Compare consent rates between fully symmetric designs
  • Red flag threshold: If a variant achieves >20% higher consent rate AND has asymmetric design elements, flag for review
  • Statistical significance: Use standard A/B testing statistical methods (chi-squared or Bayesian) but apply the regulatory lens — statistical significance of manipulation is evidence of violation

Step 4: Document and Report

Generate audit report with:

  • Screenshots of all variants
  • Dark pattern scores per variant
  • Consent rate analysis
  • Recommendations for non-compliant variants
  • Remediation timeline

Key Regulatory References

  • GDPR Article 7 — Conditions for consent (equal ease, freely given)
  • ePrivacy Directive Article 5(3) — Consent for cookies and similar technologies
  • CNIL Deliberation No. 2020-091 — Cookie and tracker guidelines
  • CNIL Deliberation No. 2022-013 — Google fine (EUR 150M)
  • CNIL Deliberation No. 2022-014 — Meta fine (EUR 60M)
  • EDPB Guidelines 05/2020 — Consent under Regulation 2016/679
  • EDPB Guidelines 3/2022 — Dark patterns in social media platform interfaces
  • FTC Report on Dark Patterns (September 2022) — US perspective on manipulative design

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Cookie Consent Ab Audit AI skill do?

Methodology for auditing A/B testing of consent banners to ensure compliance with equal ease of acceptance and rejection. Covers CNIL enforcement patterns including the EUR 150M Google fine, dark pattern detection methodology, manipulative design identification, and regulatory-compliant experimentation boundaries.

Why use Cookie Consent Ab Audit on TypingMind?

Because you install it once and use it with any model. Cookie Consent Ab Audit is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Cookie Consent Ab Audit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mukul975/Privacy-Data-Protection-Skills/tree/main/plugins/consent-management-skills/skills/cookie-consent-ab-audit. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Cookie Consent Ab Audit?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Cookie Consent Ab Audit?

As many as you like. As long as a model supports skills, you can use Cookie Consent Ab Audit with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Cookie Consent Ab Audit AI skill free?

Yes. It is published on GitHub by mukul975 under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇