---
title: "15.4 法律合规"
description: "隐私政策、用户协议与 ICP 备案"
---

# 15.4 法律合规

> 法律合规不是可选项，而是必修课。不要等被举报了才想起来合规。

---

## "个人项目也需要？"

小明的网站开始有用户了。不多，每天几十个，但确实有真实的人在使用他做的东西。他正沉浸在看 Umami 数据的快乐中，老师傅突然严肃起来。

"你收集了用户数据，有隐私政策吗？"

"啊？个人项目也需要这个？"小明觉得隐私政策是大公司才需要操心的事情。

"只要你收集用户数据——哪怕只是 Umami 的访问统计——严格来说就需要。"老师傅顿了顿，"知道 GDPR 违规罚款多少吗？全球年营业额的 4%，或者 2000 万欧元，取较高者。"

小明吓了一跳。虽然他的个人项目大概率不会被欧盟盯上，但老师傅的意思很清楚：**合规意识要从一开始就有，不要等项目做大了才补课**。

---

## 为什么需要法律合规

互联网产品涉及用户数据和商业行为，必须遵守相关法律。这不是"大公司的事"——法律对个人开发者和大公司一视同仁。

| 风险 | 后果 |
|------|------|
| 违反数据保护法 | 巨额罚款、应用下架、服务被封 |
| 缺少用户协议 | 发生纠纷时没有法律保护 |
| 未备案网站 | 在中国大陆被封禁访问 |
| 侵犯用户隐私 | 声誉损失、用户流失、媒体曝光 |

好消息是：对个人项目来说，合规并不复杂。你不需要请律师（虽然正式产品建议请），也不需要读完整部 GDPR。搞清楚你需要什么，让 Claude Code 根据你的实际情况帮你生成合规文档，比你想象的简单得多。

---

## 隐私政策：告诉用户你拿了什么数据

隐私政策是一份公开文档，说明你的网站或应用收集了哪些用户数据、为什么收集、怎么存储、怎么使用、用户有什么权利。

### 什么时候需要隐私政策

很多人以为只有"收集个人信息"才需要隐私政策。其实不是——只要你收集了以下任何数据，就需要：

- **账户信息**：邮箱地址、用户名、密码（哈希后的）
- **行为数据**：页面浏览记录、点击行为——是的，Umami 统计也算
- **个人身份信息**：姓名、电话、地址
- **位置信息**：IP 地址、GPS 定位
- **Cookie 和类似技术**：如果你用了 Cookie（Umami 不用，但很多其他工具用）

纯静态展示网站——没有任何统计代码、没有表单、没有登录功能——可以不需要隐私政策。但只要你加了 Umami 的追踪代码，严格来说就需要了。虽然 Umami 不追踪个人身份，但它确实在收集匿名的访问数据。

### 隐私政策该包含什么

一份合格的隐私政策需要回答以下问题：

| 内容 | 说明 |
|------|------|
| 数据收集 | 你收集了哪些数据？为什么要收集？ |
| 数据使用 | 收集的数据用来做什么？ |
| 数据存储 | 数据存在哪里？保留多久？ |
| 数据共享 | 会不会把数据给第三方？什么情况下会？ |
| 用户权利 | 用户能不能查看、修改、删除自己的数据？ |
| Cookie 政策 | 有没有用 Cookie？用来做什么？ |
| 联系方式 | 用户有问题找谁？ |

这些内容看起来很多，但对个人项目来说，大部分答案都很简单。比如"数据共享"——你大概率不会把数据卖给第三方，直接写"我们不会出售您的个人信息"就行。

### GDPR：如果你有欧盟用户

GDPR（General Data Protection Regulation，通用数据保护条例）是欧盟的数据保护法，被认为是全球最严格的隐私法规。如果你的网站有欧盟用户访问（即使你的服务器不在欧盟），理论上就需要遵守 GDPR。

GDPR 的额外要求包括：

- 明确的数据处理法律依据（你凭什么收集这些数据？）
- 用户有权要求你删除他们的所有数据（"被遗忘权"）
- 数据泄露时必须在 72 小时内通知用户和监管机构
- 如果大规模处理个人数据，需要指定数据保护官（DPO）

听起来很吓人，但好消息是：**如果你用 Umami 做统计，GDPR 合规压力小很多**。Umami 不使用 Cookie、不追踪个人身份、不收集可识别数据——这些正是 GDPR 最关心的点。你需要在隐私政策里说明你使用了匿名统计工具，但不需要 Cookie 同意弹窗。

### 怎么生成隐私政策

不要复制别人的隐私政策。每个产品收集的数据不同，使用的第三方服务不同，隐私政策也应该不同。复制来的隐私政策可能包含你根本没有的功能（"我们使用 Google Analytics 追踪用户行为"——但你用的是 Umami），也可能遗漏你实际收集的数据。

正确的做法：告诉 Claude Code 扫描代码库，你的产品收集了哪些数据（注册信息、统计数据、支付信息等）、用了哪些第三方服务（Umami、Stripe、Supabase 等），让它根据你的实际情况生成一份隐私政策。AI 生成的隐私政策比通用模板更贴合你的产品，也比你自己从零写更专业。

生成后，把隐私政策放在一个独立页面（通常是 `/privacy`），然后在网站底部加上链接。

---

## 用户协议：定义游戏规则

用户协议（Terms of Service，简称 ToS）定义了用户使用你的服务时的权利和义务。如果说隐私政策是"我怎么对待你的数据"，用户协议就是"我们之间的游戏规则"。

### 为什么需要用户协议

没有用户协议，当出现纠纷时你没有法律依据。比如：

- 用户在你的平台上发布了违法内容——谁负责？
- 用户说你的服务导致了他的损失——你要赔偿吗？
- 你想关停某个用户的账号——你有权这么做吗？

这些问题，用户协议都需要提前说清楚。

### 核心内容

| 内容 | 说明 |
|------|------|
| 服务描述 | 你提供什么服务，服务范围是什么 |
| 用户责任 | 用户不能做什么（发布违法内容、攻击系统等） |
| 内容责任 | 用户发布的内容由谁负责——通常是用户自己 |
| 知识产权 | 你的代码归你，用户的内容归用户 |
| 服务变更 | 你有权修改、暂停或终止服务 |
| 免责声明 | 服务按"现状"提供，不保证 100% 可用 |
| 争议解决 | 出了问题怎么解决，适用哪里的法律 |

### 怎么生成

和隐私政策一样，告诉 Claude Code 你的产品做什么、用户能做什么（能不能发布内容？能不能上传文件？有没有付费功能？），让它帮你生成用户协议。

生成后放在 `/terms` 页面，在网站底部加上链接。如果你的产品有注册功能，注册流程中应该让用户勾选"我已阅读并同意用户协议和隐私政策"。

---

## ICP 备案：中国大陆的特殊要求

ICP 备案是中国大陆特有的制度。如果你的服务器在中国大陆，网站必须完成 ICP 备案才能正常访问，否则会被运营商封禁。

### 什么时候需要

| 服务器位置 | 是否需要备案 |
|-----------|-------------|
| 中国大陆 | 必须备案 |
| 中国香港、澳门 | 不需要 |
| 其他国家/地区 | 不需要 |

小明的服务器在香港，所以不需要备案。但老师傅让他了解规则——如果以后产品做大了，想迁到国内服务器以获得更好的访问速度和百度 SEO 效果（15.2 提到百度对未备案网站收录意愿很低），就需要备案了。

### 备案类型

| 类型 | 说明 | 适用对象 |
|------|------|---------|
| ICP 备案 | 基础备案，所有大陆网站必须完成 | 所有在大陆托管的网站 |
| 公安备案 | 向公安机关备案 | 部分省市要求，ICP 备案后 30 天内完成 |
| 经营性 ICP 许可证 | 提供有偿信息服务的网站 | 有付费功能的商业网站 |

大部分个人项目只需要做 ICP 备案。如果你的网站有付费功能（比如会员订阅、在线购物），可能还需要经营性 ICP 许可证，但这个门槛较高，通常需要企业资质。

### 备案流程

```mermaid
graph TD
    A[购买域名] --> B[购买大陆服务器]
    B --> C[在接入商备案系统提交申请]
    C --> D[填写网站信息和负责人信息]
    D --> E[上传身份证、核验照片等材料]
    E --> F[接入商初审 1-2 天]
    F --> G[管局审核 7-20 天]
    G --> H[备案完成，获得备案号]

    style G fill:#fff3e0
    style H fill:#e8f5e9
```

整个流程大约需要 2-4 周。几个注意事项：

- **备案期间网站可能无法访问**——首次备案时，管局审核期间网站需要关闭
- **备案信息必须真实**——虚假信息会被驳回，严重的会被列入黑名单
- **备案号要放在网站底部**——备案完成后，你会拿到一个备案号（如"京ICP备XXXXXXXX号"），必须放在网站底部并链接到工信部查询页面
- **信息变更要及时更新**——换了服务器、换了域名、换了负责人，都需要去更新备案信息

### 备案时间

| 阶段 | 时间 |
|------|------|
| 接入商初审 | 1-2 个工作日 |
| 管局审核 | 7-20 个工作日 |
| 总计 | 约 2-4 周 |

---

## 合规检查清单

老师傅给小明列了一份清单："让 Claude Code 生成合规文档后，过一遍这个清单，确保不遗漏。"

**隐私和数据**
- [ ] 隐私政策已由 Claude Code 根据代码扫描生成并部署到 `/privacy` 页面
- [ ] 隐私政策链接在网站底部显著位置
- [ ] 审核隐私政策内容是否准确反映你的实际数据收集（数据类型、用途、存储位置）
- [ ] 确认提供了用户数据访问和删除的机制（至少提供联系邮箱）
- [ ] 如果服务欧盟用户，审核是否符合 GDPR 基本要求

**用户协议**
- [ ] 用户协议已由 Claude Code 根据你的产品功能生成并部署到 `/terms` 页面
- [ ] 注册流程中要求用户同意协议
- [ ] 审核协议内容是否准确反映你的服务范围和责任划分

**中国大陆特定**
- [ ] 如果服务器在大陆，已完成 ICP 备案
- [ ] 备案号放在网站底部并链接到工信部
- [ ] 内容符合中国法律法规

**其他**
- [ ] 网站底部有联系方式（至少一个邮箱）
- [ ] 如果使用 Cookie，有 Cookie 使用说明
- [ ] 如果有用户举报需求，提供投诉举报渠道

---

## 常见问题

### Q1: 个人项目真的需要隐私政策吗？

严格来说，只要你收集任何用户数据（包括匿名统计），就需要。实际操作中，一个小型个人项目不太可能被监管机构盯上。但养成合规习惯是好事——如果项目以后做大了，你不需要从零补课。而且生成一份隐私政策只需要几分钟，成本几乎为零。

### Q2: GDPR 违规真的会被罚吗？

会。虽然大部分罚款案例针对的是大公司（Meta 被罚过 12 亿欧元，亚马逊被罚过 7.46 亿欧元），但也有小公司和个人被罚的案例。罚款金额取决于违规严重程度——对个人项目来说，做好基本合规（隐私政策 + 数据最小化原则）就足够了。

---

## 小明的合规之路

小明让 Claude Code 根据自己的产品情况生成了隐私政策和用户协议。他告诉 Claude Code：

- 产品是一个 Web 应用，有用户注册功能（收集邮箱和用户名）
- 使用 Umami 做匿名访问统计
- 使用 Supabase 存储数据，服务器在新加坡
- 没有付费功能，不收集支付信息

Claude Code 根据这些信息生成了两份文档，小明检查了一遍，放到了网站底部。合规检查清单也过了一遍——除了 ICP 备案（服务器在香港，不需要），其他项目都打了勾。

第十五章到这里就结束了。回顾一下小明的旅程：

- 他的链接从一串蓝色 URL 变成了精美的分享卡片（OG）
- 他的网站从搜索引擎的"隐形人"变成了可以被搜到的存在（SEO）
- 他从"不知道有没有人用"变成了"每周看数据做决策"（Umami）
- 他从"个人项目不需要合规"变成了"隐私政策和用户协议都有了"（法律合规）

网站从"能用"变成了"能被发现、能被理解、能被信任"。

下一章，我们用数据和用户反馈来驱动产品迭代——不是你觉得该改什么，而是数据告诉你该改什么。
