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 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

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

모든 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일