数据采集阶段(一):个人敏感信息识别与分类分级标准(GDPR/PIPL)
好,我们进入数据采集阶段。这是整个数据生命周期的起点,也是隐私保护的“第一道防线”。
说实话,很多团队在采集阶段就埋下了雷。我见过太多项目,数据哗啦啦地收进来,等到要合规审计了,才发现里面混着身份证号、医疗记录、甚至生物特征。那时候再想清洗,成本高得吓人。
所以,这一章的核心就两个词:识别和分类分级。说白了,你得先知道哪些是敏感信息,然后按风险等级把它们管起来。
1. 什么是个人敏感信息?
先别急着看法律条文。我习惯用一个简单的问题来判断:这条信息泄露了,会不会对个人造成实质性伤害?
比如,你的网名泄露了,顶多被骚扰一下。但你的银行卡号、医疗诊断、指纹数据泄露了,那可能就是财产损失、社会歧视、甚至身份盗用。这就是敏感信息。
GDPR和PIPL对敏感信息的定义,本质上都是这个逻辑。只是表述方式不同。
| 维度 | GDPR(通用数据保护条例) | PIPL(个人信息保护法) |
|---|---|---|
| 核心定义 | 特殊类别数据(Special Categories) | 敏感个人信息 |
| 列举范围 | 种族、政治观点、宗教、工会成员、基因、生物识别、健康、性生活/性取向 | 金融账户、行踪轨迹、生物识别、医疗健康、不满十四周岁未成年人信息 |
| 处理前提 | 明确同意 + 特定例外(如法律义务、重大公共利益) | 单独同意 + 必要性说明 + 影响评估 |
| 处罚力度 | 最高2000万欧元或全球年营收4% | 最高5000万元或上年度营收5% |
关键点:GDPR的“特殊类别”是列举式的,范围相对固定。PIPL的“敏感个人信息”是定义+列举,留有解释空间。我个人觉得PIPL更灵活,但也更考验企业的判断力。
2. 实战中的识别方法
理论说完了,咱们聊聊怎么落地。我在项目中常用的方法,分三步走。
2.1 字段级扫描
这是最基础的一步。用正则表达式、关键词匹配,把数据库表、API字段、日志文件里的敏感信息筛出来。
举个例子,识别中国大陆身份证号:
import re
def detect_id_card(text):
# 18位身份证号:前6位地区码 + 8位生日 + 3位顺序码 + 1位校验码
pattern = r'[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]'
matches = re.findall(pattern, text)
return matches
# 我遇到过一个问题:有些系统把身份证号存成了带空格的格式
# 比如 "110101 19900101 1234",正则就匹配不到了
# 所以扫描前,最好先做一次标准化处理
小技巧:别只盯着字段名。字段名叫“备注”、“描述”的,里面可能藏着大量敏感信息。我建议对全量数据做抽样扫描,尤其是文本型字段。
2.2 语义理解
正则只能解决格式固定的数据。像“我最近在XX医院做了手术”这种自然语言里的敏感信息,就得靠NLP了。
我记得有个项目,客户说他们的数据已经脱敏了。结果我用实体识别模型一跑,发现“患者主诉”字段里,医生直接写了患者的姓名和手机号。嗯,这属于典型的“人工埋雷”。
常用的语义识别工具:
- 命名实体识别(NER):识别人名、地名、机构名、医疗术语等
- 正则+词典:针对特定行业(如医疗、金融)构建敏感词库
- 大模型辅助:用LLM做上下文判断,比如“我的银行卡是6222...”这种明显是敏感信息
2.3 关联分析
单个字段可能不敏感,但几个字段组合起来,就能定位到具体个人。这就是“准标识符”问题。
比如,一个表里有“出生日期”、“性别”、“邮编”。单独看都不敏感。但三个字段组合,在某个区域里可能就能唯一确定一个人。这在GDPR里也算个人数据。
避坑指南:我曾经遇到一个团队,只对“姓名”和“身份证号”做了脱敏,但保留了“手机号”和“家庭住址”。结果攻击者通过手机号反查,轻松关联到了真实身份。记住:关联风险也是风险。
3. 分类分级标准
识别出来之后,就得给它们贴标签了。我习惯用三级分类法:
| 等级 | 定义 | 典型示例 | 保护要求 |
|---|---|---|---|
| L1 - 公开 | 公开可获取,无隐私风险 | 企业公开联系方式、公开职位 | 无需特殊保护 |
| L2 - 内部 | 内部使用,泄露有轻微影响 | 员工工号、内部邮箱、部门 | 访问控制、最小权限 |
| L3 - 敏感 | 泄露会造成严重损害 | 身份证、银行卡、医疗记录、生物特征 | 加密存储、脱敏展示、审计日志、单独同意 |
你可能会问:L2和L3的边界在哪里?我个人的判断标准是:这条信息能不能直接用于身份盗用或金融欺诈?能,就是L3。
4. 合规落地要点
最后,说几个我在项目中踩过的坑,也是合规检查的重点。
- 采集前必须告知:PIPL要求“单独同意”,不能混在用户协议里。我见过一个App,把“收集位置信息”藏在“改善用户体验”条款里,被罚了。
- 最小化原则:只采集业务必需的数据。比如,一个天气App不需要你的通讯录。别想着“先收着,以后可能有用”。
- 数据分类分级要动态维护:业务变了,数据用途变了,分类等级也得跟着变。我建议每季度做一次复核。
- 跨境传输要额外注意:GDPR要求“充分性认定”或“标准合同条款”。PIPL要求“安全评估”或“认证”。别以为数据出了境就管不着了。
总结一下:数据采集阶段,别急着收数据。先做识别,再做分类分级。把敏感信息管住了,后面的存储、使用、共享环节才能安全。否则,你就是在“带病运行”。
下一章,我们会聊数据采集阶段的另一个关键动作:知情同意与最小化采集。到时候我会分享一个我亲手设计的“同意弹窗”案例,踩过的坑可不少。