---
name: data-privacy
when: '数据隐私, 脱敏, 敏感数据, 个人信息, PII, GDPR, 数据保护, 数据安全, 手机号, 身份证, 银行卡, 数据加密'
scope:
  - backend
  - frontend
products:
  - '*'
id: ka-pattern-data-privacy
asset_kind: pattern
lifecycle_status: active
authority: supporting
routes:
  - '*'
primary_triggers:
  - 数据隐私
  - 脱敏
  - 敏感数据
  - 个人信息
  - PII
  - GDPR
  - 数据保护
  - 数据安全
  - 手机号
  - 身份证
  - 银行卡
  - 数据加密
priority: P2
specificity: 3
version: 1.0.0
last_reviewed: '2026-05-22'
consumes: []
emits: []
secondary_triggers: []
negative_triggers: []
type: pattern
status: active
---

## 决策规则
- 手机号、身份证号、银行卡号、邮箱、地址等 PII 字段必须脱敏展示（手机号 138****1234，身份证 310***********1234）
- 数据库中密码必须 BCrypt 哈希，身份证/银行卡等必须 AES 加密存储，禁止明文
- 日志中禁止打印完整 PII 字段，必须脱敏或掩码处理
- 接口响应中敏感字段必须默认脱敏，需要明文的场景必须单独授权接口
- 数据导出（Excel/CSV）包含 PII 字段时必须有权限控制和操作审计
- 用户注销/数据删除请求必须级联清理所有关联 PII 数据，包括备份中的软删除标记
- 数据查询接口禁止支持全量导出 PII 数据，必须分页且有导出上限
- 前端禁止在 URL 参数、LocalStorage 明文存储敏感信息
- 个人敏感信息（身份证、手机号、银行卡）存储必须加密或脱敏
- 数据删除必须支持真删除（不只是软删除标记），满足 GDPR/个人信息保护法要求
- 用户注销必须清除或匿名化关联个人数据，不能只禁用账号
- 用户数据导出必须经过审批，导出文件必须加密传输

## 验收项
- [AC-01] PII 字段展示时有脱敏处理
- [AC-02] 敏感字段加密存储非明文
- [AC-03] 日志不含完整 PII 数据
- [AC-04] 数据导出有权限控制和审计
- [AC-05] 用户注销关联数据已清理
- [AC-06] 敏感信息加密存储
- [AC-07] 接口/日志中敏感信息脱敏
- [AC-08] 支持数据真删除和匿名化
