关于 global-privacy-control
面向开发者的 GPC 实施指南,介绍如何识别浏览器隐私信号并据此处理退出个人信息出售或共享的请求,涵盖客户端、服务端和合规核验。
主要功能
- 01检测 Sec-GPC HTTP 请求头
- 02读取 navigator.globalPrivacyControl
- 03将退出信号映射到同意记录
- 04记录信号并核验实施情况
适用场景
- 01收到 GPC 信号时停止出售或共享数据
- 02在加载追踪脚本前应用退出偏好
- 03核查信号处理与合规记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill global-privacy-control安装后在 Claude Code 中输入/global-privacy-control确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py详细介绍
实现全球隐私控制(GPC)
概述
全球隐私控制(GPC)是一种浏览器级信号,用于传达用户选择退出出售或共享其个人信息的隐私偏好。GPC 规范定义了 HTTP 标头(Sec-GPC: 1)和 JavaScript API(navigator.globalPrivacyControl),用于传递此信号。
根据《加州隐私权法案》(CPRA)第 1798.135(e) 条,企业必须将 GPC 信号视为有效的退出请求。加州总检察长在 Sephora 和解案(2022 年 8 月,罚款 120 万美元)中确认了这一执法立场。该案是首起涉及 GPC 信号的执法行动。
各州的法律要求
加利福尼亚州——CPRA(2023 年 1 月 1 日生效)
- 第 1798.135(e) 条:收集消费者个人信息的企业应将消费者使用退出偏好信号视为根据第 1798.120 条提出的有效请求,即退出出售或共享个人信息。
- 总检察长法规 11 CCR 7025(b):如果企业在线收集消费者个人信息,则应将退出偏好信号视为有效请求,针对相应浏览器或设备以及与该浏览器或设备关联的任何消费者档案,退出出售或共享个人信息。
- Sephora 和解案(2022 年 8 月):加州总检察长因 Sephora 未尊重 GPC 信号及其他违规行为,对其处以 120 万美元罚款。
科罗拉多州——《科罗拉多州隐私法案》(CPA,2024 年 7 月 1 日生效)
- 第 6-1-1306(1)(a)(IV)(A) 条:在技术可行的范围内,消费者可通过由平台、技术或机制代表消费者发送的退出偏好信号行使退出权。
- CPA 规则 4.6:数据控制者必须在 2024 年 7 月 1 日前识别通用退出机制。
康涅狄格州——《康涅狄格州数据隐私法案》(CTDPA,2023 年 7 月 1 日生效)
- 第 42-520(b)(5) 条:自 2025 年 1 月 1 日起,数据控制者必须识别用于退出出售个人数据和定向广告的通用退出机制。
蒙大拿州——《蒙大拿州消费者数据隐私法案》(2024 年 10 月 1 日生效)
- 第 30-14-2807 条:数据控制者必须将退出偏好信号视为退出出售个人数据和定向广告的有效请求。
德克萨斯州——《德克萨斯州数据隐私与安全法案》(TDPSA,2024 年 7 月 1 日生效)
- 第 541.055 条:数据控制者必须允许消费者退出出售个人数据和定向广告。自 2025 年 1 月 1 日起,必须尊重通用退出机制。
俄勒冈州——《俄勒冈州消费者隐私法案》(2024 年 7 月 1 日生效)
- 第 646A.578 条:数据控制者应提供消费者可用的退出方式,其中包括识别退出偏好信号。
GPC 技术规范
HTTP 标头检测
GPC 信号通过 HTTP 请求标头传递:
Sec-GPC: 1
当用户启用 GPC 时,浏览器(或浏览器扩展)会在每个 HTTP 请求中设置此标头。未启用 GPC 时,该标头不会出现(而不是设为 0)。
JavaScript API 检测
也可以通过 JavaScript DOM API 获取 GPC 信号:
// Check if GPC is supported and enabled
if (navigator.globalPrivacyControl === true) {
// User has opted out — do not sell/share personal information
// Do not load non-essential tracking scripts
// Set internal opt-out flag for this user
}
注意事项:
- 启用 GPC 时,
navigator.globalPrivacyControl返回true - 未启用 GPC 或不受支持时,
navigator.globalPrivacyControl返回false或undefined - 应在加载任何跟踪或广告脚本之前进行检查
服务端检测(HTTP 标头)
在服务端检查传入请求中的 Sec-GPC 标头:
If Sec-GPC header is present AND equals "1":
→ Set opt-out flag for this session/user
→ Do not initiate sale or sharing of personal information
→ Do not load third-party tracking pixels
→ Log GPC signal receipt for compliance records
CloudVault SaaS Inc. 的实现架构
客户端检测
CloudVault SaaS Inc. 会在两个环节检查 GPC:
-
页面加载:在初始化任何分析或广告 SDK 之前,检查
navigator.globalPrivacyControl。如果为true,则停用非必要跟踪。 -
同意横幅交互:如果检测到 GPC,则在 Cookie 同意横幅中预选“退出出售/共享”选项,并显示提示:“我们检测到您的 Global Privacy Control 信号,已应用您的退出偏好设置。”
服务端处理
CloudVault SaaS Inc. 后端中间件:
- 检查每个传入 HTTP 请求是否包含
Sec-GPC: 1标头。 - 如果检测到该标头,则设置会话级标志
gpc_opt_out = true。 - 如果请求关联到已验证身份的用户,则将退出偏好传递到该用户适用用途(出售/共享)的同意记录中。
- 返回回显该信号的
Sec-GPC响应标头(以提高透明度)。 - 记录收到 GPC 信号的日志,包括时间戳、用户代理,以及关联的用户 ID(如果用户已通过身份验证)。
将 GPC 映射到内部同意系统
GPC 是一个二元信号(退出出售/共享)。CloudVault SaaS Inc. 将其映射到特定的同意用途:
| GPC 信号 | 内部用途 | 操作 |
|---|---|---|
| Sec-GPC: 1 | pur_benchmarking_003(第三方数据共享) | 撤回同意/退出 |
| Sec-GPC: 1 | pur_advertising_004(定向广告) | 撤回同意/退出 |
| Sec-GPC: 1 | pur_analytics_001(服务改进) | 不变(内部使用,不涉及出售/共享) |
| Sec-GPC: 1 | pur_marketing_002(产品邮件) | 不变(直接营销,不涉及出售/共享) |
冲突解决
如果用户已通过偏好设置中心手动选择加入,但其浏览器发送了 GPC:
- CPRA 处理方式:以 GPC 为准。根据 AG Regulation 11 CCR 7025(c),如果退出偏好信号与消费者参与财务激励计划之间存在冲突,企业应尊重退出偏好信号,但可以告知消费者这一冲突,并让消费者选择是否确认参与。
- CloudVault SaaS Inc. 政策:显示通知:“您的浏览器正在发送 Global Privacy Control 信号,以退出数据共享。这会覆盖您之前的选择。如需继续共享数据以用于行业基准分析,您可以在“设置”>“隐私”中确认您的偏好。”
合规验证
验证 GPC 实现:
- 安装启用了 GPC 的浏览器或扩展程序(启用了增强型跟踪保护的 Firefox、DuckDuckGo 浏览器、Brave 浏览器,或适用于 Chrome 的 OptMeowt 扩展程序)
- 访问 CloudVault SaaS Inc. 应用程序
- 确认网络请求中发送了
Sec-GPC: 1标头 - 确认未加载跟踪脚本
- 确认同意横幅显示了退出偏好
- 确认服务端日志记录了 GPC 信号
- 确认已更新已通过身份验证用户的同意记录
重要法规参考
- CPRA Section 1798.135(e) — 退出偏好信号要求
- California AG Regulation 11 CCR 7025 — GPC 实施细节
- GPC Specification (globalprivacycontrol.org) — 技术标准
- Colorado Privacy Act Section 6-1-1306(1)(a)(IV)(A) — 通用退出机制
- Connecticut CTDPA Section 42-520(b)(5) — 通用退出机制
- Montana MCDPA Section 30-14-2807 — 退出偏好信号
- Texas TDPSA Section 541.055 — 退出方式
- Oregon OCPA Section 646A.578 — 退出偏好信号
- Sephora Settlement (California AG, August 2022) — 首例 GPC 执法案例