Cnil Compliant Cookies logo

Cnil Compliant Cookies

Community
mukul975
cnil-compliant-cookies

Implementation guide for CNIL cookie guidelines compliance. References the EUR 150M Google fine and EUR 60M Meta fine. Covers equal prominence accept/reject buttons, cookie wall prohibition, 6-month reconsent intervals, essential cookies exemption, and detailed CNIL Deliberation No. 2020-091 requirements.

Overview

Publishermukul975
RepositoryPrivacy-Data-Protection-Skills
Skill namecnil-compliant-cookies
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 Cnil Compliant Cookies 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/cnil-compliant-cookies .claude/skills/cnil-compliant-cookies
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cnil Compliant Cookies 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 Cnil Compliant Cookies 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 Cnil Compliant Cookies 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.

Implementing CNIL-Compliant Cookies

Overview

The French Commission Nationale de l'Informatique et des Libertés (CNIL) has been the most aggressive European enforcer of cookie consent rules. In January 2022, CNIL issued a EUR 150 million fine to Google LLC and a EUR 60 million fine to Meta Platforms Ireland Ltd. for cookie consent violations. These enforcement actions, combined with CNIL Deliberation No. 2020-091 (September 17, 2020), establish the most detailed cookie consent standards in Europe.

CNIL Cookie Consent Requirements

1. Equal Prominence of Accept and Reject (CNIL Deliberation 2020-091, Section 2.1)

Requirement: Users must be able to refuse cookies as easily as accepting them. The "Refuse All" option must be presented with the same visual prominence as the "Accept All" option.

Specific CNIL Requirements:

  • "Accept All" and "Refuse All" buttons must be on the same hierarchical level (same layer of the interface)
  • Both buttons must have comparable visual treatment (size, color, font, position)
  • Neither button may be visually promoted or demoted relative to the other
  • A "Manage Preferences" option may be offered as a third option but must not replace "Refuse All"

CloudVault SaaS Inc. Implementation:

┌─────────────────────────────────────────────────────────────┐
│  CloudVault uses cookies to improve your experience.        │
│  [Learn more about our cookie use]                          │
│                                                             │
│  ┌──────────────────┐  ┌──────────────────┐                │
│  │  Accept All       │  │  Refuse All       │               │
│  └──────────────────┘  └──────────────────┘                │
│                                                             │
│  [Manage Preferences]                                       │
└─────────────────────────────────────────────────────────────┘

Button specifications:
- Both: 200x44px, #2563EB blue background, white text, 16px bold
- Position: side by side, same vertical level
- "Manage Preferences": text link below, #6B7280 grey, 14px regular

2. No Cookie Walls (CNIL Deliberation 2020-091, Section 2.2)

Requirement: Access to the website or service must not be conditioned on accepting cookies. Users who refuse all cookies must be able to access the same content and functionality.

Exceptions:

  • The CNIL acknowledges that some functionality (e.g., personalized recommendations) may require cookies. In that case, a degraded but functional experience must be available.
  • Paywall vs cookie wall: CNIL has indicated (Deliberation No. 2022-003) that offering a paid cookie-free alternative alongside a free cookie-funded option may be permissible under certain conditions (the "pay or consent" model), though this remains contested.

3. Six-Month Reconsent Interval (CNIL Deliberation 2020-091, Section 2.3)

Requirement: Consent must be renewed at appropriate intervals. CNIL recommends a maximum of 6 months between consent requests.

Implementation:

  • Set a first-party cookie cv_consent_timestamp with the consent date
  • After 180 days, re-display the consent banner
  • If the user has previously refused, re-ask (they may have changed their mind)
  • If the user has previously accepted, re-ask (they should confirm continued consent)

4. Essential Cookies Exemption (CNIL Deliberation 2020-091, Section 3)

The following categories do not require consent per CNIL guidance:

CategoryExamplesJustification
AuthenticationSession cookies, CSRF tokensStrictly necessary for security
Load balancingServer routing cookiesStrictly necessary for service
User preferencesLanguage, display settingsStrictly necessary for requested functionality
Shopping cartCart session cookiesStrictly necessary for requested service
First-party analytics (limited)Audience measurement with limited scopeCNIL exemption for first-party, aggregate-only analytics (strict conditions)

CNIL conditions for first-party analytics exemption:

  • Data used only for aggregate statistical analysis
  • Data not cross-referenced with other processing
  • Cookies limited to single site
  • IP addresses anonymized or truncated
  • Cookie lifetime limited to 13 months, data retention limited to 25 months
  • User informed of the use and right to object
  • Must not enable individual tracking across sites

5. Comprehensive Information (CNIL Deliberation 2020-091, Section 2.4)

Before consenting, the user must be informed of:

  • The identity of all organizations using cookies (controllers and third parties)
  • The specific purposes of each category of cookies
  • The consequences of accepting or refusing
  • How to withdraw consent
  • Cookie retention periods

CNIL Enforcement Reference

EntityFineDateDeliberationKey Violations
Google LLCEUR 150,000,000Jan 6, 20222022-013No "Refuse All" on first layer; multiple clicks to refuse
Meta PlatformsEUR 60,000,000Jan 6, 20222022-014"Accept" on first layer, "Refuse" buried in secondary page
Microsoft IrelandEUR 60,000,000Dec 22, 20222022-023bing.com: "Accept" without equally prominent "Refuse"
TikTokEUR 5,000,000Dec 29, 20222022-025Rejecting more complex than accepting; info inadequate
Voodoo (mobile games)EUR 3,000,000Jan 20232023-004Used Apple IDFA for advertising without consent
Apple DistributionEUR 8,000,000Jan 4, 20232023-001Targeted advertising on App Store without valid consent

Implementation Checklist

#RequirementCNIL ReferenceCloudVault Status
1"Refuse All" button on first layerDeliberation 2020-091 Section 2.1Implemented
2Equal visual prominence accept/refuseDeliberation 2020-091 Section 2.1Both 200x44px, same color
3No cookie wallDeliberation 2020-091 Section 2.2Full access without cookies
4Reconsent every 6 months maximumDeliberation 2020-091 Section 2.3180-day reconsent cycle
5Essential cookies documented and exemptedDeliberation 2020-091 Section 34 essential cookies listed
6Third parties identified by nameDeliberation 2020-091 Section 2.4All third parties named
7Cookie purposes describedDeliberation 2020-091 Section 2.4Per-category descriptions
8Cookie retention periods statedDeliberation 2020-091 Section 2.4Max 13 months per CNIL
9Withdrawal as easy as giving consentGDPR Art. 7(3)Footer link on every page
10Consent records maintainedGDPR Art. 7(1)Full audit trail

Key Regulatory References

  • CNIL Deliberation No. 2020-091 (September 17, 2020) — Cookie guidelines
  • CNIL Deliberation No. 2022-013 — Google fine (EUR 150M)
  • CNIL Deliberation No. 2022-014 — Meta fine (EUR 60M)
  • CNIL Deliberation No. 2022-023 — Microsoft fine (EUR 60M)
  • ePrivacy Directive Article 5(3) — Consent for device storage
  • GDPR Article 7 — Conditions for consent
  • EDPB Guidelines 05/2020 — Consent under Regulation 2016/679

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 Cnil Compliant Cookies AI skill do?

Implementation guide for CNIL cookie guidelines compliance. References the EUR 150M Google fine and EUR 60M Meta fine. Covers equal prominence accept/reject buttons, cookie wall prohibition, 6-month reconsent intervals, essential cookies exemption, and detailed CNIL Deliberation No. 2020-091 requirements.

Why use Cnil Compliant Cookies on TypingMind?

Because you install it once and use it with any model. Cnil Compliant Cookies 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 Cnil Compliant Cookies 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/cnil-compliant-cookies. 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 Cnil Compliant Cookies?

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 Cnil Compliant Cookies?

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

Is the Cnil Compliant Cookies 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 👇