Desensitization(脱敏)
先用一句话说清楚
Desensitization(脱敏)是把身份证号、手机号、地址、客户姓名、密钥等敏感信息隐藏、替换或缩略后再展示、记录或发送给模型。
实战知识卡
| 维度 | 要点 |
|---|---|
| 项目里看什么 | 看输入、检索、模型调用、日志和审计里是否处理敏感信息。 |
| 新手最该记住 | 脱敏(Desensitization)不是删掉所有信息,而是保留判断所需的最小信息。 |
| 作品集证据 | 展示手机号、身份证、客户名等字段如何被遮蔽或摘要化。 |
| 面试回答公式 | 先说哪些数据敏感,再说进入模型、日志和审计前怎么处理。 |
| 常见扣分点 | 只在前端隐藏敏感信息,日志和向量库里仍然保存原文。 |
新手通俗解释
脱敏不是“把资料删掉”,而是在保留业务判断所需信息的同时,减少隐私泄露风险。比如客服要判断订单是否本人,不一定需要把完整手机号展示给模型;审计(Audit)记录要复盘问题,也不一定要保存完整对话原文。
为什么岗位会问它
AI Agent(人工智能体)经常接触客户资料、内部文档和业务系统。面试官问 Desensitization(脱敏),是在看你是否知道模型不是保险箱,日志也不是随便存。
| 敏感信息 | 脱敏方式 |
|---|---|
| 手机号 | 只保留前三位和后四位 |
| 身份证号 | 只保留必要校验位或完全隐藏 |
| API Key(接口密钥) | 不展示、不入库、不进模型上下文 |
| 客户姓名 | 用客户 A、客户 B 替代 |
| 原始对话 | 保存摘要和风险标签 |
它在项目里怎么用
作品集里可以把 Desensitization(脱敏)写在三个位置:
| 位置 | 做法 |
|---|---|
| 输入前 | 敏感字段先识别,再决定是否发送给模型 |
| 输出时 | 避免把隐私信息完整返回给无权限用户 |
| 审计(Audit)时 | 记录脱敏摘要、Trace ID(追踪编号)和必要字段 |
常见误解
| 误解 | 为什么不对 | 正确理解 |
|---|---|---|
| 内部系统不用脱敏 | 内部越权也会造成泄露 | 按角色和必要性展示 |
| 脱敏会影响模型效果 | 关键字段可以保留类别和摘要 | 不需要完整隐私才能判断业务 |
| 只要不展示就行 | 日志、向量库、审计记录也可能泄露 | 全链路都要考虑 |
面试官可能怎么追问
1. 哪些信息不能直接放进模型上下文?
考察点: 是否有隐私和密钥意识。
参考回答: API Key(接口密钥)、Cookie(浏览器登录凭据)、完整身份证号、银行卡、客户隐私、内部未授权文件和无关原始对话都不应该直接放进模型上下文。需要使用时应最小化字段、做 Desensitization(脱敏),并记录调用目的和权限。
容易扣分: 说“模型不会泄露”。
2. 脱敏和权限有什么关系?
考察点: 是否理解安全分层。
参考回答: 权限(Permission)决定谁能看什么,Desensitization(脱敏)决定即使允许查看,也只展示完成任务必要的信息。两者配合可以降低越权、误展示和日志泄露风险。
容易扣分: 认为登录后就可以看全部字段。
作品集里怎么展示它
- 给客服、简历筛选、人事问答等项目加一张敏感字段处理表。
- 展示审计(Audit)记录里的脱敏摘要。
- 准备一条“用户请求查看他人隐私被拒绝”的验收样例。
- 在简历项目描述里写“设计敏感信息脱敏与权限校验”,不要写成“绝对安全”。