Office 文档脱敏
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_4d625638/doc-desensitize。
技能介绍
解决什么问题
办公文档里常混杂姓名、手机号、身份证、地址、单位、联系方式等敏感信息。直接复制粘贴容易漏掉批注、页眉页脚和文档属性;人工打码又慢,且不同文件里的星号长度不一,阅读节奏容易被破坏。doc-desensitize 针对 .docx 与 .xlsx,用纯 Python 标准库处理 ZIP 包内部 XML,对命中内容做等长星号替换,在尽量不改变原排版的前提下完成批量脱敏。
如何工作
- 先确认规则:可先用
--dry-run预览命中的类型和数量,再选择name、phone、id_card、email、school、company、address_*等规则,或用--rules只启用指定子集。 - 目录批处理:只处理 Word/Excel,不复制 PDF、图片等非文档文件;可用
--move-original将原始文档剪切到「原始文档」子目录,并生成脱敏统计报告。 - 覆盖范围:包括正文、页眉页脚、批注、目录域、超链接、文本框、修订痕迹和文档属性。
适用边界
- 仅支持
.docx/.xlsx,不支持旧格式、加密文件、嵌入 OLE 对象和超过500MB的大文件。 - 若 Excel 将身份证存为数值并显示科学记数法,需先改为文本格式。
- 文件被 Word/Excel 打开时无法处理,正则也可能误伤正常文本,建议先预览并人工复核。
使用场景
- 发布客户反馈汇总前,把 .docx/.xlsx 里的姓名、手机号、身份证按指定规则替换成等长星号。
- 交付外包前批量处理目录中的 Word/Excel,先用 --dry-run 预览命中数量,再生成脱敏副本。
- 归档病历时只脱敏姓名、病历号、微信和 QQ,避免整段文本被过度替换。
- 从共享目录取出待发送文档,用 --move-original 将原始文件移入子目录,输出目录只留脱敏版。
适合人员
- 负责客户数据合规的运营,需在发送前批量替换表格中的姓名、手机号和联系方式。
- 处理病历或档案的行政人员,想只按指定规则打码姓名、病历号、微信,避免误删正常文本。
- 向外包团队交付文档的负责人,要在不复制无关文件的前提下批量生成脱敏副本。
- 维护自动化流程的工程师,需要零依赖、可预览、可过滤规则的 .docx/.xlsx 脱敏脚本。