法律合规
让项目在法律上准备好上线:法律文档、同意捕获、同意证据、Cookie 处理、退款规则、数据最小化、媒体权利和地方法律检查。
输出的是供审查的草稿,而非直接应用的更改。开发者阅读草稿并批准后,代理才会实施。这样可以确保每个法律和代码决策都是可见且可逆的。
重要限制
您不是律师,法律会变化。在每次运行时请执行以下操作:
- 搜索网络以确认您所引用的每条法律的当前状态。记录来源 URL 和检查日期。本技能中的参考文件可能已过时。
- 对您不确定的每个法律主张标记
(verify)。 - 告诉用户,当地律师必须在发布前审查文档,特别是针对受监管行业(医疗、金融、未成年人、赌博、加密货币、涉及人的 AI 决策)。
- 永远不要承诺“完全保护”。目标是消除常见且代价高昂的漏洞。
工作流程
步骤 1:先检查项目
在提问之前,先了解代码已经告诉您的信息。这可以将问题减少到只有用户才能回答的问题。查找:
- 技术栈、前端和后端、移动端或 Web 端、数据库位置。
- 现有的法律页面(搜索 "terms", "privacy", "cookies", "refund", "legal", "términos", "privacidad")。
- 注册和登录流程,以及每个收集个人数据的表单。列出每个字段。
- 第三方脚本和 SDK:分析、广告、像素、会话回放、聊天小部件、地图、嵌入式视频、来自 CDN 的字体、错误跟踪、A/B 测试。
- 应用程序设置的 Cookies 和本地存储。
- 支付:提供商、一次性或订阅、数字或实物商品。
- 电子邮件和短信:事务性和营销性。
- 仓库中或从 URL 加载的图片、视频、字体、图标和音频。
- 托管和数据位置(云区域)。
- 任何处理用户数据的 AI 功能。
如果还没有代码,请跳过此步骤,并在步骤 2 中多问一些。
步骤 2:访谈用户
阅读 references/intake-questionnaire.md。只询问步骤 1 未回答的问题。每次询问一小部分(5 到 8 个问题),从最重要的问题组开始:法律实体和国家。尽可能提供合理的默认答案,以便用户快速回答。
不要猜测关于业务的事实。在法律文档中错误的公司名称、国家或数据使用比缺失一个更糟糕。如果用户不知道答案,请写一个清晰的 [TODO: ...] 占位符,并将其添加到未解决问题列表中。
步骤 3:找到适用的法律
法律的适用基于企业所在和其用户所在的地区。一家向墨西哥和美国销售的哥伦比亚初创公司必须遵循三个地区的部分法律。
- 从访谈中构建国家(和美国州)的列表。
- 读取
references/jurisdictions/中匹配的文件:latam.md适用于哥伦比亚、墨西哥、巴西、阿根廷、智利、秘鲁以及一般拉丁美洲注释。united-states.md适用于联邦和州法律。other.md适用于任何其他国家(欧盟和英国的简短注释,以及研究未知国家的方法)。
- 搜索网络以确认每条法律仍然有效,并查找参考日期之后的变化。
- 当规则冲突且使用单一全局流程更简单时,使用最严格的适用规则。例如,满足最长法定最低期限的单一退款期比每个国家一个退款期更容易。当您做出此选择时,请告知用户,并说明其成本。
步骤 4:审计和设计每个项目
逐一处理以下每个项目。对于每个项目,请阅读其所命名的参考文件。
| 项目 | 参考文件 |
|---|---|
| 条款与条件 | references/documents.md |
| 隐私政策 | references/documents.md |
| Cookies 政策和同意决定 | references/cookies.md |
| 带有链接的注册表单复选框 | references/consent-records.md |
| 可追踪的同意记录 | references/consent-records.md |
| 退款政策 | references/documents.md (退款部分) 和管辖文件 |
| 数据最小化 | references/data-minimization.md |
| 图片和媒体权利 | references/media-rights.md |
| 地方法律检查清单 | 管辖文件 |
退款期限规则:用户的默认期限是购买后 5 天。使用此默认期限与适用的每个国家法定最低期限中的较长者。注意法律是按工作日还是日历日计算,以及从哪一事件开始(购买日期、交付日期或合同日期)。
步骤 5:撰写草稿
在项目中创建草稿文件夹。默认路径:docs/legal-compliance/。使用 assets/draft-structure.md 中的结构。简而言之:
docs/legal-compliance/
├── README.md # 摘要、业务概况、法律、检查清单、未解决问题
├── documents/
│ ├── terms-and-conditions.md
│ ├── privacy-policy.md
│ ├── cookies-policy.md
│ └── refund-policy.md
├── data-inventory.md # 每个数据字段、其用途、法律依据、保留期限
├── media-inventory.md # 每个媒体资产、来源、许可证、状态
└── implementation-plan.md # 要进行的代码更改,逐步完成,使用项目的技术栈
使用目标用户的语言(或多种语言)撰写法律文档。使用访谈中的真实业务数据。使用通俗语言:短句、清晰的标题。通俗语言使用户更容易理解,并且许多法律(例如巴西、墨西哥和加利福尼亚州)要求清晰易懂的通知。
编写 implementation-plan.md 以适应项目的实际技术栈,包含文件路径和代码草图,以便代理无需更多设计工作即可实施。如果没有代码,则以技术栈中性的术语描述更改(数据模型、UI 行为、API 行为)。
步骤 6:呈现并等待批准
向用户提供一个简短摘要:
- 适用的法律及其原因。
- 带有状态的检查清单:已完成、缺失或需要决策。
- 高风险漏洞优先(例如:在同意之前加载的跟踪器、没有同意证据、没有许可证的媒体)。
- 未解决的问题和
[TODO]项。 - 律师必须审查的项目。
然后停止。在用户批准计划之前,不要更改应用程序代码。当他们批准后,逐步实施 implementation-plan.md,并在 README.md 中更新检查清单,随着项目的完成而更新。
需要告知用户的持续义务
合规不是一次性任务。将这些内容添加到 README 中:
- 当产品、数据使用、第三方或法律发生变化时,更新文档。增加版本号,保留旧版本,并在更改重大时要求用户重新同意。
- 按法律要求保存同意记录(参见
references/consent-records.md)。 - 在法律期限内回应数据主体请求(访问、更正、删除、退出)。
- 制定数据泄露响应计划,遵守每个国家的截止日期。
- 在进入新国家或增加新数据用途之前再次检查。