mcpField
E
eprivacy-essential-cookies

eprivacy-essential-cookies

github.com/mukul975安全32343 次安装32 周前更新
代码仓库

关于 eprivacy-essential-cookies

eprivacy-essential-cookies 是帮助隐私团队判断 Cookie 是否适用 ePrivacy Directive 同意豁免的分类指南。它以用户明确请求的服务和严格必要性为核心,并提供类别示例与边界情形。

主要功能

  1. 01应用严格必要性双项测试
  2. 02按指南识别可豁免类别
  3. 03区分分析与广告 Cookie
  4. 04评估边界情形
  5. 05记录豁免分类依据

适用场景

  1. 01评估购物车与登录 Cookie 是否豁免
  2. 02审查持久偏好 Cookie 的同意要求
  3. 03记录 Cookie 豁免的合规理由

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill eprivacy-essential-cookies

安装后在 Claude Code 中输入/eprivacy-essential-cookies确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
template.md
references/
standards.md
workflows.md
scripts/
process.py

详细介绍

ePrivacy 指令第 5(3) 条基本 Cookie 豁免

概述

《ePrivacy 指令》(2002/58/EC,经指令 2009/136/EC 修订)第 5(3) 条要求,在用户的终端设备上存储或访问信息(Cookie、LocalStorage、设备指纹)前,必须获得知情同意。不过,对于「信息社会服务提供商为向订户或用户提供其明确请求的服务而严格必要」的存储行为,该条款规定了豁免。正确判断 Cookie 是否符合此豁免至关重要——过度主张豁免会使组织面临执法行动,而主张不足则会造成不必要的同意阻碍。第 29 条工作组关于 Cookie 同意豁免的第 04/2012 号意见(WP 194)仍是适用此豁免的权威指南。

豁免标准

两部分测试

只有在同时满足以下两个条件时,Cookie 才符合严格必要豁免:

条件 1 — Cookie 严格必要 Cookie 必须是用户主动请求的特定功能所必需的。「严格必要」意味着没有它,服务就无法运行——而不仅仅是服务质量下降或使用不便。

条件 2 — 用于用户明确请求的服务 用户必须主动请求 Cookie 所支持的服务。Cookie 必须服务于用户的目的,而非网站运营者的目的。对于运营者的商业模式(例如分析)而言必要、但对于用户请求的服务(例如查看产品)并非必要的 Cookie,不符合豁免条件。

第 29 条工作组的豁免类别

WP 194(第 04/2012 号意见)指出了可能符合豁免条件的特定 Cookie 类别:

类别 A — 用户输入 Cookie(仅限会话)

标准要求
用途在多步骤流程中跟踪用户输入(例如填写表单、购物车)
时长仅限会话(浏览器关闭时删除)或短时有效(最长几小时)
范围仅限第一方
示例浏览会话期间的购物车内容

Pinnacle E-Commerce Ltd 示例:

Cookie用途时长豁免
cart_session在会话期间存储添加到购物车的商品会话是
checkout_step跟踪多页结账流程的当前步骤会话是
form_data_temp结账期间页面重新加载时保留表单输入30 分钟是

类别 B — 身份验证 Cookie

标准要求
用途对用户进行身份验证,以便提供对已验证内容/服务的访问权限
时长会话身份验证仅限会话;只有用户明确选择「记住我」时才可持久保存
范围仅限第一方
示例登录后生成的会话令牌

Pinnacle E-Commerce Ltd 示例:

Cookie用途时长豁免
auth_token对已登录用户进行身份验证会话是
refresh_token在浏览器重启后维持身份验证(选择「记住我」时)30 天是 — 用户明确请求持久登录
session_id将请求关联到服务器端会话会话是

类别 C — 用户安全 Cookie

标准要求
用途确保用户明确请求的服务安全
时长仅限必要时长
范围仅限第一方
示例CSRF 防护、检测重复登录失败尝试

Pinnacle E-Commerce Ltd 示例:

Cookie用途时长是否豁免
csrf_token防止跨站请求伪造攻击会话是
login_attempts记录登录失败次数,以防止暴力破解30 分钟是
device_verified在完成双重身份验证后将设备标记为已验证30 天是 — 用于已认证服务的安全保障

类别 D — 多媒体播放器会话 Cookie

标准要求
用途存储媒体播放的技术数据(画质设置、缓冲)
时长仅限会话
范围仅限第一方
示例当前会话的视频播放器画质偏好

类别 E — 负载均衡 Cookie

标准要求
用途将 Web 流量分配到多台服务器
时长仅限会话(仅在浏览会话期间保留)
范围仅限第一方
示例负载均衡器会话亲和性 Cookie

Pinnacle E-Commerce Ltd 示例:

Cookie用途时长是否豁免
SERVERIDHAProxy 服务器亲和性 Cookie会话是
__cfduid (legacy)Cloudflare 服务器标识会话是 — 仅限会话时
lb_route内部负载均衡器路由会话是

类别 F — UI 自定义 Cookie(仅限会话)

标准要求
用途存储用户在会话期间明确设置的用户界面偏好
时长仅限会话(会话期间首次访问);持久化 Cookie 需要征得同意
范围仅限第一方
示例在会话期间选择语言

关键区别: 用户点击语言选择器时,为当前会话设置的语言偏好 Cookie 可豁免。会记住用户选择并在多次访问之间保留的持久性语言偏好 Cookie 通常需要征得同意(其范围超出了会话)。

Pinnacle E-Commerce Ltd 示例:

Cookie用途时长是否豁免
locale_session当前会话期间选择的语言会话是
locale持久性语言偏好1 年否 — 需要征得同意
currency_session当前会话期间选择的货币会话是
currency持久性货币偏好1 年否 — 需要征得同意

不豁免的 Cookie 类别

以下 Cookie 类型明确不予豁免,始终需要征得同意:

分析与性能 Cookie
Cookie 类型不予豁免的原因
Google Analytics (_ga, _gid)服务于运营方的分析目的,而非用户请求的服务
Hotjar (_hj*)会话录制和热力图服务于运营方
A/B 测试 (optimizely_*)实验服务于运营方的优化目标
性能监控网站性能监控有利于运营方

注意: CNIL 为受众衡量设立了单独的有限豁免(参见 analytics-cookie-consent 技能),但这是针对法国的解释,并非《电子隐私指令》第 5(3) 条规定的普遍豁免。

广告与定向 Cookie
Cookie 类型不予豁免的原因
Meta Pixel (_fbp, _fbc)广告跟踪服务于广告商
Google Ads (_gcl_au, IDE)转化跟踪和再营销服务于广告商
再定向 Cookie跨站跟踪用于广告个性化
广告频次上限服务于广告投放系统,而非用户
社交媒体插件 Cookie
Cookie 类型不予豁免的原因
Facebook Like 按钮 Cookie通过社交组件进行第三方跟踪
Twitter 分享组件 Cookie第三方数据收集
YouTube 嵌入式视频 Cookie通过嵌入式视频进行 Google 跟踪
LinkedIn Insight Tag职业社交网络跟踪

**例外:**如果用户明确请求使用社交账号登录(例如“使用 Google 登录”),该登录流程的身份验证 Cookie 可能符合 B 类条件。社交平台的跟踪 Cookie 不符合条件。

持久化偏好 Cookie
Cookie 类型不予豁免的原因
持久化语言偏好超出会话范围
主题/深色模式偏好(持久化)超出会话范围
“不再显示”关闭提示 Cookie仅为方便,并非严格必要
最近浏览的产品改善体验,并非服务必需

边界情况与监管指引

同意状态 Cookie 本身

用于存储用户是否接受或拒绝 Cookie 的 Cookie:

数据保护机构立场是否豁免?理由
UK ICO是严格来说,必须记住用户的隐私选择
CNIL是实施同意所需的技术必要条件
Belgian DPA是为避免每个页面都重新提示而必需
EDPB是(隐含)履行同意义务所必需

Pinnacle E-Commerce Ltd:consent_state Cookie 被归类为严格必要。

欺诈检测 Cookie
场景是否豁免?理由
表单提交的 CSRF 令牌是保障用户请求的服务(提交表单)的安全
机器人检测(CAPTCHA)很可能是保障服务安全;部分数据保护机构要求告知
用于欺诈检测的设备指纹识别很可能否超出严格必要范围;可能需要取得同意或依据合法利益
reCAPTCHA Cookie存在争议Google reCAPTCHA 会设置 Cookie 并与 Google 通信;部分数据保护机构要求取得同意
CDN 和基础设施 Cookie
场景是否豁免?理由
Cloudflare __cf_bm(机器人管理)存在争议与安全相关,但会设置持久化 Cookie;请与 DPO 审查
CDN 会话路由是负载均衡(E 类)
地理位置路由仅限会话时是基础设施所需
A/B 测试服务器路由否用于优化,并非用户请求的服务

Pinnacle E-Commerce Ltd 的分类流程

步骤 1:盘点所有 Cookie

使用 cookie-audit 技能生成完整的 Cookie 清单。

步骤 2:应用双重测试

对于每个 Cookie,回答:

  1. 网站提供某项特定功能是否严格需要此 Cookie?
  2. 用户是否明确请求了该特定功能?
步骤 3:分类并记录
Cookie用户请求的服务严格必要时长合适豁免
session_id浏览网站是 — 会话状态会话是
auth_token登录是 — 身份验证会话是
cart_session将商品加入购物车是 — 购物车功能会话是
csrf_token提交表单是 — 表单安全会话是
_ga无(运营方分析)否2 年否
_fbp无(运营方广告)否90 天否
locale更改语言有争议1 年否 — 持久化,需要取得同意
consent_state管理 Cookie 偏好是 — 同意管理6 个月是
步骤 4:记录理由

对于每个豁免的 Cookie,都应保留书面理由:

模板:

Cookie: [name]
Classification: Strictly Necessary — Exempt from consent
User-Requested Service: [specific service]
Why Strictly Necessary: [explanation of why the service cannot function without this cookie]
Duration Justification: [why this duration is the minimum necessary]
WP 194 Category: [A/B/C/D/E/F]
Reviewed By: [DPO name]
Review Date: [date]
Next Review: [date + 12 months]

主要法律参考文件

  • 《ePrivacy 指令》2002/58/EC,第 5(3) 条 — 同意要求及严格必要情形的豁免
  • 《指令》2009/136/EC(《公民权利指令》) — 修订第 5(3) 条,要求获得知情同意
  • 第 29 条工作组第 04/2012 号意见(WP 194) — 关于 Cookie 同意豁免类别的权威指引
  • 欧盟法院 C-673/17 案(Planet49) — 主动同意;豁免仅适用于严格必要的 Cookie
  • 欧洲数据保护委员会《同意指南》05/2020 — GDPR 下的同意要求适用于 ePrivacy 同意
  • 英国 ICO《Cookie 指引》(2019 年,2023 年更新) — PECR 对 ePrivacy 豁免的实施
  • 法国国家信息与自由委员会第 2020-091 号审议决定(2020 年 9 月 17 日) — 法国对 Cookie 豁免的实施
  • 《指令》2009/136/EC 序言第 66 条 — 对“严格限于提供用户明确请求的信息社会服务”的 Cookie 予以豁免

评论

支持 Markdown