技能|数据脱敏与跨文档安全替换法
适用场景
两类紧邻的安全动作:(A) 把文本送进非本地模型前做输入侧脱敏;(B) 在多份 Word 文档里批量改写/替换某些词时,确保只动该动的、不误伤其它文件。触发词:脱敏、隐私红线、送模型前过滤、跨文档替换、白名单改写。适用于任何"数据可能触网"或"要改一堆 docx"的场景。
操作步骤(A:输入侧脱敏)
- 脱敏必须在送入非本地模型之前完成:不能指望模型自查——模型会原样复述输入里的姓名、证件号、金额。
- 单趟联合正则:把 证件号 / 卡号 / 手机 / 邮箱 / 金额 用命名分组编进一条
MASTER正则,用sub一次性交替匹配。一处只会被一条规则处理(避免"脱敏后的文本再被金额规则吃掉")。 - 四类遮蔽:
- 证件/卡号:仅留后四位(****+ 末4);
- 手机:3位 + **** + 末4;
- 邮箱:名首字 +***@域名;
- 金额:→金额-已脱敏,或amount_to_range区间化(≤100/≤500/…/>5万)。 - 专名走外置词表:词表每行
原名=代号(如张三=U1)。代码里绝不内置真实姓名;词表缺失则跳过,不把真名写进源码。本地 L0 模型通道数据本就不出本机,可不开mask_amount保金额准确。
操作步骤(B:跨文档安全替换)
- 白名单制:只替换清单里的词;三类只读不替——被交叉引用的条号、保护型硬话(严禁/专款专用等)、"人名+年龄"组合。
- 逐文件干跑统计命中数:每份文件每个目标词必须恰好命中 1 处;命中 0 或 ≥2 一律中止,不允许"取第一条"蒙混。
- 写回兜底:先自动备份原文件,再全量读进内存 → 替换 → 临时文件 → 原子覆盖;禁止同一句柄先写后读。
注意边界
- 本地模型通道数据可保留金额准确性;非本地/公有模型一律强制脱敏。
- 词表文件不存在不报错,只是少了一层专名替换——不要因此把真名硬编码进代码。
- 跨文档替换的"白名单 + 命中数校验"是防误改的两道闸,缺一不可。
反例避雷
- 把脱敏交给模型"自觉" → 姓名/金额被原样回显、外泄。
- 用整篇重写去改一句话 → 表格、页眉、版式全丢。
- 跨文档替换不设白名单、不校验命中数 → 同名段落被批量误改、其它文件被波及。
- 在源码里写真实姓名做替换词 → 隐私红线失守。
关联笔记
- [[技能|家庭制度语言人性化改写方法]]
- [[技能|制度条款冲突合并与多文件同步改写SOP]]
实战战绩
2026-09-28 实测:脱敏单趟覆盖 5 类敏感值,单趟交替匹配无"脱敏后被吃掉";跨文档白名单替换零误改、零悬空引用。
版本记录
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0.0 | 2026-09-28 | 首版实战固化:输入侧单趟联合正则脱敏 + 跨文档白名单安全替换 |