Community生产力与协作github.com

shannonmcgivney/consent-preflight

发布前10分钟隐私检查:针对任何新增或修改的 Vibe Coding 应用、落地页、课程网站或营销漏斗,进行10项通过/失败检查,核心问题是“在用户点击接受之前是否就开始了追踪?”,源于追踪像素诉讼视频的教训。失败时移交 consent-audit 和 consent-gate。也是面向使用 Lovable、Bolt、v0 或 Replit 构建的学生的一课。在有人说“我准备发布了”、“准备上线”、“上线前检查”、“新”时使用。

consent-preflight 是什么?

Consent Preflight 是一个 AI 助手技能,旨在帮助开发者在发布 Vibe Coding 构建的应用、落地页或营销漏斗前,执行快速但关键的隐私合规检查。该技能围绕 10 项通过/失败检查展开,核心关注点在于“任何追踪像素、分析工具或第三方脚本是否在用户点击接受 Cookie 横幅前就已加载”。它直接取材于著名的追踪像素诉讼案例,强调横幅与等待许可之间的本质区别。该技能支持 Claude Code、Cursor 等基于 AI 的编码环境,通过结合浏览器网络请求分析(例如在无 Cookie 标签页中使用 `read_network_requests`)与本地代码扫描(如 `scan_trackers.py` 脚本)来检测 Facebook、Google Analytics、TikTok 等常见追踪器。当检查失败时,它会指导用户使用 `consent-audit` 工具进行完整清单盘点,或用 `consent-gate` 工具来修复横幅和同意逻辑。其最终输出是一个清晰的预检报告,附带红绿灯状态和按风险排序的待修复项列表。该技能不仅是一个自动化检查工具,还是一份教学材料,可以帮助学生直观理解为何在发布前移除或正确封堵追踪器至关重要,从而避免高昂的法律风险。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shannonmcgivney/consent-before-tracking/tree/HEAD/skills/consent-preflight

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

同意预检:发布前检查清单

为什么要这样教: Vibe Coding 让一个下午就能上线一个应用变得很容易,但也同样容易招来官司。常见的陷阱是追踪像素(Meta、Google、TikTok)在页面打开那一刻就开始运行。在加州,未经同意的追踪可能被视为窃听,每次违规最高罚款 5,000 美元。如果像素在用户点击横幅之前就触发,那么 Cookie 横幅并不能保护你。有横幅和等待许可是两件完全不同的事情。 解决方法就是给你的 AI 构建工具一个指令,并确认它已生效。

一个必须记住的提示: “确保所有追踪像素、分析工具或第三方脚本在用户点击 Cookie 横幅上的‘接受’之前都不会加载。”

这不是法律建议。它能捕捉常见的高代价错误,但不做任何认证。

10 项检查

在一个全新的、无 Cookie 的标签页中运行预览或真实 URL(Claude 内置浏览器:清除存储,然后在任何点击之前使用 read_network_requests),如果可以获取代码,还要进行代码扫描: python3 ~/.claude/skills/consent-audit/scripts/scan_trackers.py <app-dir>

#检查项通过标准
1全新访问,无点击: 是否向任何广告/分析/回放域名(facebook, google-analytics, googletagmanager, tiktok, licdn, hotjar, clarity, posthog, segment, heycatch…)发送了请求?无
2点击前有 Cookie: 是否存在 _ga、_fbp、_gcl_au、_ttp、_hj*、ph_* 等?无
3宿主附加组件已关闭或受控: Lovable Visitor analytics、Vercel/Netlify/Cloudflare 分析服务、网站构建器的像素字段已关闭,或已受控
4拒绝生效: 点击拒绝,浏览 2 个页面,没有任何可选追踪触发是
5横幅公平性: 接受和拒绝按钮同样醒目;开关默认未选中。如果没有任何可选追踪器,则无需横幅(直接不需要)是
6回退路径: 页脚提供“隐私选择”链接,用于更改或撤回同意是(如果有横幅)
7追踪器不接收身份信息: 使用测试账户登录;追踪请求中不含邮箱或用户 ID无发送
8发送出去的 URL 中不含秘密: 追踪请求中不含 ?code=、?token=、?email= 或搜索文本无
9隐私声明: 公开页面,链接在页脚和注册页,列出真实供应商和真实联系方式是
10发布范围: 你知道此版本将发布的所有未发布更改已列出并确认

结果

PREFLIGHT: <应用名称> - <通过 / 先修复>   (<日期>)
1 ✅/❌ ... 10 ✅/❌   (每项一行证据:发现的域名、找到的 Cookie,或“无”)
先修复:<失败的检查项,按风险排序:1、7、2、3 优先>
  • 全部通过: 发布,然后在真实 URL 上重新运行检查 1、2 和 4。托管服务可能会添加预览中没有的脚本。
  • 1-4 或 7-8 中任意一项失败: 不要发布。运行 consent-audit 进行完整清单盘点,然后运行 consent-gate(或移除追踪器)。
  • 仅 5、6 或 9 失败: 使用 consent-gate 的横幅/声明部分修复,然后发布。

教学笔记(面向学生)

  • 眼见为实: 在新标签页中打开他们的网站,打开开发者工具 → 网络,过滤“facebook”或“google”,刷新页面,让他们亲眼看着像素在他们碰到横幅之前就触发了。那一刻会让教训深植于心。
  • 更少的追踪器就是简单的胜利。 如果他们还不需要运行广告,就不需要像素。没有追踪器 = 没有横幅 = 没有风险。
  • 分析与自有数据: 关闭追踪器不会删除应用为用户保存的数据(账户、进度、表单答案)。那是第一方数据,受隐私声明管辖,而非 Cookie 横幅。
  • 课程和视频网站: 在播放视频的页面上放 Meta 像素会带来额外的联邦风险(VPPA)。保持像素远离课程页面。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能