Appearance
隐私合规风险评估
本文档梳理识策AI产品上线前需关注的隐私合规风险、现有措施和待办事项。
1. 数据资产清单
| 数据类别 | 存储表 | 关键字段 | 敏感等级 |
|---|---|---|---|
| 用户账号 | users | email, phone, password_hash, nickname | 个人信息 |
| 自我画像 | users.self_profile | summary, goals, communication_style, boundaries | 个人信息 |
| 第三方人物档案 | people | name, gender, age_range, personality_tags, work_experience, education, notes | 他人个人信息 |
| 对话记录 | chat_messages | role, content | 可能含敏感信息 |
| 情绪快照 | emotion_snapshots | user_mood, other_mood, trend, tags | 敏感个人信息 |
| 互动记录 | interactions | content, context, ai_analysis | 个人信息 |
| 策略记录 | strategies | user_query, ai_response | 可能含敏感信息 |
| 订阅/支付 | subscriptions | tier, payment_method, external_id | 个人信息 |
2. 风险项
2.1 收集和处理第三方个人信息(高风险)
风险描述:用户为他人建立详细档案(姓名、性格、工作经历、教育背景等),被建档者完全不知情也未同意。导入功能(LinkedIn 抓取 / 截图上传)进一步加剧此风险。
法律依据:《个人信息保护法》第 13 条 — 处理个人信息需取得当事人同意。
缓解措施:
- [x] 用户协议中明确:用户对录入的第三方信息的合法性承担全部责任
- [x] 隐私政策中说明数据用途仅限个人参考
- [ ] P2: 考虑对第三方姓名做伪名化存储
2.2 数据传输给第三方 AI 服务(高风险)
风险描述:每次对话将人物档案、自我画像、情绪数据、对话历史发送到 DeepSeek / OpenAI API,可能包含 PII。若使用 OpenAI 则涉及跨境传输。
法律依据:《个人信息保护法》第 38-40 条 — 跨境传输需安全评估或标准合同。
缓解措施:
- [x] 隐私政策中披露数据会发送到第三方 AI 服务
- [ ] P1: 优先使用国内 API(DeepSeek),减少跨境传输
- [ ] P1: 与 AI 服务商签订数据处理协议 (DPA)
- [ ] P2: 在发送 AI 请求前对人物姓名做脱敏处理
2.3 缺少隐私政策和用户协议(高风险)
风险描述:上线前必须有完整的隐私政策和用户服务协议,并在注册时获取用户明确同意。
法律依据:《个人信息保护法》第 17 条 — 处理前应以显著方式、清晰易懂的语言告知。
缓解措施:
- [x] 创建隐私政策页面(
/privacy) - [x] 创建用户协议页面(
/terms) - [x] 注册页增加协议勾选确认
2.4 缺少账号注销和数据删除功能(中风险)
风险描述:目前只能删除单个人物档案,不支持账号注销和全量数据删除。
法律依据:《个人信息保护法》第 47 条 — 用户有权撤回同意并要求删除个人信息。
缓解措施:
- [ ] P1: 实现账号注销 API(级联删除 users + people + chat_sessions + chat_messages + emotion_snapshots + interactions + strategies + subscriptions)
- [ ] P1: 设置页增加「注销账号」入口
- [ ] P2: 实现数据导出接口(用户可导出全部数据)
2.5 敏感个人信息处理(中风险)
风险描述:情绪快照(emotion_snapshots)记录用户和他人的情绪状态,属于敏感个人信息。
法律依据:《个人信息保护法》第 28 条 — 处理敏感信息需有特定目的和充分必要性,取得单独同意。
缓解措施:
- [x] 隐私政策中专项说明情绪分析功能及数据用途
- [ ] P2: 首次使用情绪分析时弹窗单独告知并获取同意
2.6 数据安全措施不完善(中风险)
风险描述:敏感字段明文存储、缺少审计日志和数据保留策略。
现有措施:
- [x] 密码 bcrypt 哈希
- [x] MySQL / Redis 不暴露公网
- [x] JWT 认证
- [x] HTTPS (Certbot)
待完善:
- [ ] P2: 敏感字段应用层加密(人物姓名、备注等)
- [ ] P2: 操作审计日志
- [ ] P2: 数据保留策略(如对话记录 180 天自动清理)
- [ ] P2:
.env文件权限限制为 600
2.7 LinkedIn 抓取合规风险(中风险)
风险描述:ImportFromURL 直接抓取 LinkedIn 页面内容,可能违反 LinkedIn 服务条款和反不正当竞争法。
缓解措施:
- [x] 提供截图上传作为替代方案(用户主动提供)
- [x] 用户协议中声明用户须遵守第三方平台使用条款
- [ ] P2: 考虑移除直接抓取 LinkedIn 的功能,仅保留截图/文本导入
3. 优先级路线图
| 优先级 | 事项 | 状态 |
|---|---|---|
| P0 | 隐私政策页面 | ✅ 已完成 |
| P0 | 用户服务协议页面 | ✅ 已完成 |
| P0 | 注册时协议勾选确认 | ✅ 已完成 |
| P1 | 账号注销功能(API + 前端入口) | ⬜ 待做 |
| P1 | 优先使用国内 AI API | ⬜ 待做 |
| P1 | 与 AI 服务商签订 DPA | ⬜ 待做 |
| P2 | 敏感字段加密存储 | ⬜ 待做 |
| P2 | 操作审计日志 | ⬜ 待做 |
| P2 | 数据保留/过期策略 | ⬜ 待做 |
| P2 | 数据导出接口 | ⬜ 待做 |
| P2 | 情绪分析单独授权弹窗 | ⬜ 待做 |
| P2 | 第三方姓名脱敏 | ⬜ 待做 |
4. 合规参考法规
| 法规 | 关键条款 |
|---|---|
| 《个人信息保护法》(PIPL) | 第 13 条(合法基础)、第 17 条(告知义务)、第 28 条(敏感信息)、第 38-40 条(跨境传输)、第 47 条(删除权) |
| 《数据安全法》 | 数据分类分级、安全保护义务 |
| 《网络安全法》 | 网络运营者安全义务、个人信息保护 |
| GDPR(如服务欧洲用户) | Article 6(合法基础)、Article 17(删除权)、Article 44-49(跨境传输) |