legal-pages 是做什么的?
非法律建议。 本技能根据用户回答生成模板。它不了解用户所在司法管辖区的具体义务,也不能替代律师。你必须在最终消息中告知用户这一点,生成的页面会带有审查通知,用户只有在审查文本后才能删除该通知。切勿声称这些页面“合规”。
步骤 1 — 收集事实(提问,不要猜测)
首先检查代码库以预填你能获取的信息(认证服务商、分析脚本、支付 SDK、邮件服务商、数据库主机、设置的 Cookie)。然后与用户确认。将 assets/legal-config.example.json 复制到项目根目录下的 legal-config.json 并填写:
| 字段 | 示例 | 查找位置 |
|---|---|---|
company_name、product_name、website_url、contact_email | “Acme Studio” | 询问;页脚;环境变量 |
legal_entity_type、address、governing_law | “individual”、“Hebei, China”、“People's Republic of China” | 询问——切勿编造 |
merchant_of_record | creem / paddle / lemonsqueezy / none | package.json 依赖项(creem、@paddle/paddle-js、@lemonsqueezy/...、stripe) |
data_collected | email, name, payment handled by MoR, IP/usage logs | 认证服务商 + 数据库模式 |
processors | Resend(邮件)、Plausible(分析)、AWS(托管) | 环境变量、SDK 导入 |
uses_cookies、analytics_cookies | true / false | 由认证/分析服务设置的 Cookie |
sells_subscriptions、sells_one_time | 定价页面 | |
refund_mode | window(N 天)/ case_by_case / none | 询问——必须与服务商规则一致 |
serves_eu、serves_california、serves_china | 询问;影响添加的章节 | |
min_age | 13 或 16 | 如果服务欧盟用户,默认为 16 更安全 |
用户不知道的内容在输出中保留为 [[TODO: …]] 标记——不要用看似合理的值填充法律事实(地址、实体、管辖法律)。
步骤 2 — 渲染
python3 scripts/render_legal.py --config legal-config.json --out legal --format md
python3 scripts/render_legal.py --config legal-config.json --out app/(legal) --format nextjs # Next.js App Router
python3 scripts/render_legal.py --config legal-config.json --out public/legal --format html
生成 privacy、terms、refund 文档。如果缺少必填字段,脚本会失败;打印所有剩余的 [[TODO]];并用 effective_date(或当前日期)标记“最后更新”日期。--format nextjs 会写入 privacy/page.tsx、terms/page.tsx、refund/page.tsx,包含静态 HTML 和 metadata——无需额外依赖。根据需要配合你的网站布局/排版。
步骤 3 — 链接配置
- 在每个页面的页脚中链接所有三个页面(支付服务商会查找它们)。
- 结账:在购买按钮附近链接条款和退款政策(“购买即表示您同意…”)。
- 如果
analytics_cookies为 true 且serves_eu为 true:告知用户在加载分析服务前可能需要 Cookie 同意横幅(或改用无 Cookie 分析工具)。不要静默添加横幅。 - 注册表单:链接隐私政策。
步骤 4 — 服务商特定检查
阅读 references/provider-notes.md,了解所选记录商户(Merchant of Record)的详细信息。关键点:使用记录商户时,该商户是面向客户的销售方,因此条款必须如此说明,退款政策不得承诺与其自身买家条款相矛盾的内容。
步骤 5 — 交接消息(必需)
用用户的语言告知用户:
- 创建了哪些文件以及它们链接的位置。
- 仍然未完成的
[[TODO]]项列表。 - 文本是模板,非法律建议,应由合格律师审查,特别是针对:管辖法律、责任限制、消费者撤销权(欧盟数字内容 14 天规则)以及用户所在国的数据转移。
- 当他们添加处理用户数据的新工具时,必须保持页面准确。
文件
assets/templates/*.md— 三个模板(mustache 风格的{{field}}、{{#flag}}…{{/flag}})。assets/legal-config.example.json— 包含所有字段的问卷。scripts/render_legal.py— 渲染器(仅标准库)。references/provider-notes.md— Creem / Paddle / Lemon Squeezy / Stripe 注释及链接。references/regional-notes.md— GDPR、英国 GDPR、CCPA/CPRA、PIPL 指引(仅供参考)。