GDPR / CCPA 合规清单
只要你的 Agent 触达欧盟(GDPR)/ 加州(CCPA)/ 巴西(LGPD)用户,这 22 项就是合规底线。Hashee 平台已经替你做了一半(盲管道 + 关系撤销事件 + grant ledger);剩下你 Agent 侧必须自己做。
A. 数据流图(5 项)
- A1. 画出你 Agent 处理的全部数据类型(明文消息 / 用户档案 / embedding / 业务衍生数据 / 第三方 API 调用产生的数据)
- A2. 标出每类数据的存储位置(你 PG / Redis / Stripe / 第三方 API)
- A3. 标出每类数据的保留期(永久 / 30 天 / 跟随关系生命周期)
- A4. 标出法律基础(用户同意 / 合同必需 / 合法利益)
- A5. 在 privacy policy 公开发布(链接放在 Agent profile 描述里)
B. 用户 4 项核心权利实现(6 项)
| 权利 | 实现状态 |
|---|---|
| - [ ] B1. Right of Access | 用户能要求”导出我所有数据” → 业务侧提供 export 工具(24h 完成) |
| - [ ] B2. Right to Erasure (Right to be Forgotten) | relation.revoked event handler 删除该用户全部数据 |
| - [ ] B3. Right to Rectification | 用户能改 profile / 偏好(不限于”我们存了什么”) |
| - [ ] B4. Right to Data Portability | 导出可机读格式(JSON + Markdown 推荐) |
| - [ ] B5. Right to Restrict Processing | 用户能”暂停处理”(撤销 grant 即可) |
| - [ ] B6. Right to Object | 用户能反对自动化决策 / profiling — 简单解决:不做这类 |
C. 子处理方披露(3 项)
- C1. 列出你 Agent 用的全部第三方服务(LLM provider / DB host / embedding service / Stripe / 监控等)
- C2. 验证每个子处理方自身合规(OpenAI / Anthropic / Stripe 都有 DPA — 签)
- C3. 在 privacy policy 公开列出子处理方 + 跨境传输信息
D. 跨境传输(2 项)
- D1. 如服务欧盟用户,标准合同条款 (SCC) 签好(OpenAI / Anthropic 默认提供模板)
- D2. 如服务中国大陆用户:评估 PIPL 合规(Hashee 平台不服务中国大陆)
E. 安全措施(4 项)
- E1. 端到端加密:靠 Hashee 平台(你 Agent 不需做) + 你自己后端 PG/Redis 加密 at rest
- E2. 私钥不在 git / 不在明文配置
- E3. 访问控制:业务 PG 只有 Agent 进程能访问;不公开
- E4. 渗透测试 / 安全审计(年度)
F. 事件响应 (Incident Response)(2 项)
- F1. 数据泄露 72h 内通知监管 + 用户(GDPR Article 33-34)
- F2. 写下 incident runbook:发现 → 评估 → 通知 → 修复 → 复盘
G. Hashee 已经替你做的(不要重复)
| 项 | 谁做 |
|---|---|
| 消息明文加密(端到端) | Hashee 平台(盲管道) |
| 子处理方披露(Hashee 自己用的) | Hashee 平台(见 信任中心) |
| Grant access audit log | Hashee 平台(append-only) |
| Agent 治理(违规暂停) | Hashee 平台 |
| 用户主动撤销关系 → 事件通知 | Hashee 平台(你只需 handle event) |
数据流图模板
把下面填进你的 privacy policy / DPIA:
用户 (Hashee app) │ [E2EE: 消息明文不出客户端] ▼Hashee 后端 (Singapore + global edge) │ [盲管道,只看密文] ▼你的 Agent 进程 │ [解密后明文 → 业务处理] │ ├─ 暂存内存(处理后丢弃) ├─ 写 Postgres (Neon, us-east-1) — 保留: 与 H2A 关系同 ├─ 写向量 DB (pgvector, 同 PG) │ ├─ 调 OpenAI API (us-east) — 数据被 OpenAI 暂存 30 天用于滥用检测 ├─ 调 Stripe API (global) — 计费数据法定保留 │ └─ 关系撤销 → 上述全部 user 数据 DELETEExport 工具示例
// 业务侧暴露一个端点(HTTPS + auth)app.get("/export/:userId", async (req, res) => { // 验证调用者就是 userId 本人(用 Hashee 平台的 OAuth-like flow) if (!await verifyUserAuth(req, req.params.userId)) { return res.status(403).send("forbidden"); } const userId = req.params.userId;
const data = { profile: await db.query("SELECT * FROM user_profiles WHERE user_id = $1", [userId]), messages: await db.query("SELECT * FROM conv_messages WHERE user_id = $1 ORDER BY ts", [userId]), chunks: await db.query("SELECT * FROM doc_chunks WHERE user_id = $1", [userId]), subscriptions: await db.query("SELECT * FROM user_subscriptions WHERE hashee_user_id = $1", [userId]), audit_log: await db.query("SELECT * FROM audit_log WHERE user_id = $1", [userId]), exported_at: new Date().toISOString(), };
res.json(data);});提供 24h 有效的签名下载链接,邮件给用户。
Erasure 工具示例
// 见 [Examples — handle-revoke](/zh-cn/examples/handle-revoke)// 业务侧在 relation.revoked event 自动执行合规审计 trail
业务侧维护”对每个 user 做过什么”的审计:
CREATE TABLE compliance_audit ( id SERIAL PRIMARY KEY, user_id TEXT NOT NULL, action TEXT NOT NULL, -- 'data_exported' / 'data_deleted' / 'consent_changed' ts TIMESTAMPTZ DEFAULT NOW(), details JSONB);GDPR 监管来查时,这是你的证据。
Q&A
Q:Hashee 平台是子处理方吗?
是。把 Hashee 列入你 privacy policy 子处理方表:Hashee Pte. Ltd.(新加坡) — 消息传输 + 加密 routing。
Q:我能存用户消息明文做训练数据吗? 默认不行。必须明确征得用户同意(artifact form 让 user opt-in), 且关系撤销时也必须删除。
Q:第三方 LLM provider 看到我转发的明文怎么办? 披露在 privacy policy + 用户能选择”不要让 Agent 调外部 LLM”(如果你提供 本地 LLM fallback)。
Q:CCPA 卖数据条款? Hashee 平台不卖数据;你 Agent 也不应该卖。在 privacy policy 明示: “We do not sell your personal information.”
相关页面
- 信任中心 — Hashee 平台合规承诺
- 安全披露
- 更新与撤销
- Production Checklist — 合规