mukul975/privacy-data-protection-skills

cnil-compliant-cookies

- Implementation guide for CNIL cookie guidelines compliance.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill cnil-compliant-cookies

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

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

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills
mukul975
コミュニティ

applying-privacy-design-patterns

- Systematic application of the eight privacy design patterns per Hoepman: minimize, hide, separate, abstract, inform, control, enforce, and demonstrate. Covers pattern selection methodology per processing activity, mapping to GDPR principles, and practical implementation guidance for privacy-by-design system architecture.

導入数
1
GitHub Stars
315
更新日
3月16日
mukul975
コミュニティ

brazil-lgpd

- Guides compliance with Brazil's Lei Geral de Proteção de Dados (LGPD, Lei 13.709/2018). Covers the 10 lawful bases under Art. 7, DPO appointment, ANPD enforcement, data subject rights under Arts. 17-22, and international transfer mechanisms. Keywords: LGPD, Brazil data protection, ANPD, lawful bases, data subject rights, international transfers.

導入数
1
GitHub Stars
315
更新日
3月16日
mukul975
コミュニティ

adequacy-assessment

- Guides assessment of third-country adequacy decisions under GDPR Article 45 for international data transfers. Covers the current EC adequacy decisions list, adequacy assessment criteria, partial adequacy handling, and monitoring of adequacy decision reviews. Keywords: adequacy decision, Article 45, third country, adequate protection, EC adequacy list.

導入数
1
GitHub Stars
295
更新日
3月16日
mukul975
コミュニティ

age-gating-services

- Implements age-gating mechanisms for online services to restrict access based on user age. Covers hard gates versus soft gates, neutral age prompts, re-verification triggers, circumvention prevention, and regulatory requirements under GDPR, COPPA, UK Online Safety Act, and DSA. Keywords: age gate, age restriction, neutral prompt, children, online services, access control.

導入数
1
GitHub Stars
295
更新日
3月16日