本地案卷脱敏工具
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/lextech--legal-case-desensitize.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @lextech/legal-case-desensitize。- 本地案卷脱敏工具:① 在律师把敏感案卷交给云端 AI / 类案比鉴 / 外部协作前,于本机完成身份证、手机号、银行卡、统一社会信用代码、住址、姓名、机构名的脱敏,敏感数据不出域
- ② 多格式文本识别——txt/md/json/csv/代码等纯文本(零依赖)与 Word/WPS(.docx)(需 python-docx,本地,docx 保留 run 级排版)
- 订单号/案号等长数字保护(不误当银行卡)
- ③ 生成可还原映射表(去标识化,占位符唯一包裹〈〉、还原多轮、逐字一致)与脱敏质检报告,提示间接识别符由律师复核
- ④ 写入不含敏感明文的可审计日志(含还原实体统计)。纯本地、核心仅标准库、可审计、可还原
- AI 不替代律师对脱敏彻底性的判断,仅作辅助。
阅读全文 (展开查看完整说明)
概述
定位
本 skill 是律师保密义务的落地闸口,不是一项普通文本处理功能。它站在"敏感案卷要出门(给云、给人、给工具)之前",在本地把直接标识符拦下,只让脱敏稿外流。
核心判断:律师达不到本地部署大模型,不等于不能使用云端 AI。 路径是"本地先脱敏 → 云端只分析脱敏稿 → 本地还原或保持脱敏态交付"。敏感数据不出本机,正是不少法律科技 SaaS 难以做到的差异化底线。
能力范围(格式维度):覆盖多格式文本识别——txt/md/json/csv/代码等纯文本(零依赖)、Word/WPS(.docx)(需 python-docx,保留 run 级排版)、PDF(本地抽文本生成脱敏副本,原件不动)。
用本 skill,你可以:
① 在把卷宗喂给云端大模型 / 类案比鉴 / 对外分享前,于本机一键脱敏(身份证、手机、银行卡、邮箱、住址、姓名、机构名);支持 txt/md/json/csv/代码等纯文本、Word/WPS(.docx) 文档,以及 PDF(本地抽文本后生成脱敏副本,原件不动);多格式直接吃、脱敏后原格式出(PDF 为副本模式、丢失原版式);② 拿到一份脱敏质检报告,看清"脱了哪几类、还剩哪些间接识别符要你亲自复核";③ 留下一份不含敏感明文的可审计日志,应对执业纪律与合规查验;④ 用本地保管的映射表把脱敏稿还原回原文(去标识化,可还原),或保持脱敏态对外交付。
⚠ 免责声明(每次启用前置必读)
本工具是脱敏辅助工具,非法律意见,不替代律师的专业判断与执业责任。使用即视为你已知悉并同意下列条款:
1. 工具定位(辅助,非判断)本工具仅对文本中的直接标识符做规则化识别与替换,辅助律师完成技术脱敏;它不判断"脱敏是否充分"、不决定"哪些间接识别符必须处理"、不替代你对外提交材料的审查义务。
2. 执业责任不转移脱敏充分性、材料对外提交的合法性,其执业责任始终在律师本人。脱敏稿 / 质检报告 / 审计日志是核查与留痕手段,不构成对任何执业责任的免除,也不替代律师独立复核与法院判断。
3. 不保证绝对脱敏 / 绝对还原本工具基于规则与可选本地模型,存在已知局限(见"四、权责边界"与 references/法律逻辑说明.md):机构名可能漏脱或切碎、启发式姓名可能误判官职、长数字保护边界外仍可能误判、docx 还原依赖 run 级结构、映射表加密为演示级、PDF 为单向提取脱敏(丢失原版式/表格/签章、无法还原回原 PDF 版式)。工具不承诺、不暗示脱敏结果 100% 完整或绝对安全,也不作"逐字一致还原"的死承诺;是否达到对外交付标准,由律师自行判定。
4. 风险自担因使用(含误用、过度依赖脱敏结果、映射表保管或外传不当等)产生的任何后果——包括但不限于信息泄露、脱敏不彻底导致的责任、第三人损害——工具开发方与分发方不承担任何责任。涉密、重大敏感案件仍应遵守律所内部保密规程与法律法规。
5. 数据主权与合规本工具全程本地运行、敏感数据不出本机;但工具不掌控你的操作环境(本机安全、是否误传脱敏稿或映射表)。映射表(map.json)含真实值,须本地妥善保管、绝不随脱敏文本外传;其丢失将无法还原,其泄露将使去标识化失效。
完整免责条款见
references/免责声明.md,使用前请务必阅读。
安全使用边界(防错解 · 强本地如何真正不出域)
关键澄清(避免错解):本工具的"强本地"指脱敏引擎(脚本)在用户本机运行;但通过 Agent 对话使用时,你输入/粘贴的文本会被发往云端大模型上下文——这一步发生在脱敏脚本运行之前,脱敏救不了已经发出去的东西。"用了这个本地 skill 就安全"是常见错解,须先点破。
要让"敏感不出域"在 Agent 场景下物理成立,遵循以下调用约定:
- 【推荐·零上云】GUI 文件上传:运行
desensitize_gui.py,浏览器打开127.0.0.1,用「上传文件」入口选案卷。文件在浏览器本地读取、POST 到本机服务,全程不经过云端大模型——最干净的不出域路径。 - 【Agent 调度·只传路径】:Agent 调用脚本时只传文件路径、禁止用 Read/Grep 拉取案卷原文,并加
--agent参数。脚本只回传统计 JSON(类别/计数/是否通过/文件路径),Agent 上下文里不会出现任何案卷正文或真实值。
python scripts/desensitize.py mask -i 卷宗.docx -o 卷宗_masked.docx --names 名单.txt --heuristic --org --agent- 【红线】:案卷正文永不进入对话输入框;映射表(map.json)绝不随脱敏稿外传。
- 【直接跑·最彻底】:在终端直接执行 CLI(不经 Agent),敏感数据只在 本地文件 ↔ 本地 Python 之间流动,绝对不出域。
一句话原则:脱敏稿 / 质检报告 / 统计摘要不含原文,可安全查看;案卷原文只走本地文件与本地处理,绝不走对话。
一、义务来源(为何必脱)
- 《中华人民共和国律师法》第三十八条:律师应当保守在执业活动中知悉的国家秘密、商业秘密,不得泄露当事人的隐私;委托人或者其他人准备或正在实施的危害国家安全、公共安全及严重危害他人人身安全的犯罪事实和信息除外。
- 《个人信息保护法》:区分"匿名化"(无法识别且不能复原)与"去标识化"(在不借助额外信息情况下无法识别),二者术语与合规效果不同。
- 《数据安全法》:建立数据分类分级保护,重要数据处理者负更重义务。
这些共同构成"敏感案卷在交付外部前须做技术处理"的硬约束——脱敏在此不是可选项,而是保密义务的工程化落地。
二、风险识别(脱什么)
法律人眼里分两类:
- 直接标识符(法定须保护,工具自动处理):身份证号、手机号、银行卡号、统一社会信用代码、邮箱、住址、姓名、机构名(机构名默认关,由
--org开启,避免误伤"苹果公司"之类的普通指代)。 - 间接识别符(quasi-identifier,工具提示、律师裁量):职位("某区副区长")、亲属关系("副区长之子")、特殊情节、可组合反推身份的表述。AI 无法安全自动判断其脱敏边界,质检报告第三部分会逐一列出,由你定夺。
三、处置层级(怎么脱)
对应术语澄清:
- 去标识化 / 假名化(可还原):把真实值换成占位符,本地保存映射表。本工具主用此层——兼顾"可还原回原文"与"脱敏稿可自由外流"。
- 匿名化(不可逆):处理后无法复原,是兜底手段。当某份材料确定不再需要还原时,可直接销毁映射表,使其退化为匿名化状态。
本工具的默认定位是去标识化;是否进一步匿名化,由律师按用途决定。
四、权责边界(红线)
- AI 不替代律师判断:工具识别 + 替换,但"是否脱得充分""间接识别符要不要动"由律师拍板。
- 启发性姓名识别对官职可能误判(如"董"事长被识别为姓"董"),精准场景请用
--names名单兜底。 - 机构名正则的残余局限:中文无词边界,纯正则无法 100% 区分"机构名"与"紧邻的前文动词/介词"。现已做到——绝不丢字、敏感机构(含下属单位"分局/支队/派出所"、多级行政区划法院/公安局、市场监督管理局)基本捕获;处理顺序已调整为"机构名优先于启发式姓名","最高人民法院"类长机构名不再被切碎。仅极个别情形(如"人向北京市公安局")会把机构名前 ≤4 个汉字一并纳入,属过度脱敏(不泄露、不丢字);个别机构名仍可能漏脱,由律师复核。更高精度请结合
--names名单或本地 LAC NER。 - 涉密案件红线:敏感不出域——本工具全程本地,正是为此。
- PDF 为单向提取脱敏:PDF 是固定版式二进制,工具只能抽取"文本层"脱敏并生成新副本(
.txt文本稿或.pdf新副本),原件始终不动;副本会丢失原版式、表格、签章,且无法还原回原 PDF 版式(还原为文本稿)。扫描型/图片型 PDF(无文本层)因无文本层,当前免费版暂不支持,需另行本地 OCR 处理。
五、合规闭环(如何留痕)
一次脱敏动作产出四样:脱敏稿、map 钥匙、质检报告、审计日志。
- 质检报告 = 脱敏充分性自查(直接标识符残留 + 间接识别符提示);
- 审计日志 = 执业行为留痕(谁、何时、脱了哪几类、是否通过),不含原文与映射明文,可随流程合规流转;
- map 钥匙 = 控制权留在律所本地。
三者合起来,应对监管或行业纪律查验时,你拿得出闭环证据。
六、程序节点(何时启用)
落在办案流程里:收悉委托人材料 → 内部协作权限隔离(助理/实习生看脱敏版) → 喂法律 AI 前置 / 提交法院前终检 / 对外分享前 → 本地脱敏 → 使用脱敏稿 → 审计留痕。
七、使用方法
CLI
# 脱敏(纯文本 / 多格式,自动识别扩展名)
python scripts/desensitize.py mask -i 卷宗.txt -o 卷宗_masked.txt
--names 名单.txt --heuristic --org --audit audit.log --operator "张律师/2026刑字第12号"
python scripts/desensitize.py mask -i 卷宗.docx -o 卷宗_masked.docx
--names 名单.txt --heuristic --org
# 批量脱敏(一次多个文件,-i 与 -o 数量一一对应;各文件独立生成映射表与质检报告)
# 免费版单次批量上限 2 份;定制版加 --unlimited 解除上限、不限量批量
python scripts/desensitize.py mask -i 甲案.docx 乙案.txt
-o 甲案_masked.docx 乙案_masked.txt --heuristic --org
# 还原(同样支持 .docx,格式与正文保留)
python scripts/desensitize.py restore -i 分析稿_masked.txt -m 卷宗_map.json -o 分析稿.txt
python scripts/desensitize.py restore -i 分析稿_masked.docx -m 卷宗_map.json -o 分析稿.docx参数说明:
| 参数 | 作用 |
|---|---|
--names | 当事人/证人姓名名单(每行一个,高可靠,优先于启发式) |
--heuristic | 启用启发式中文姓名识别 |
--lac | 接入本地 LAC NER(需已 pip 安装,可选增强) |
--org | 开启机构名脱敏(法院/检察院/公安局/公司等,默认关) |
--pass | 映射表口令加密(演示级 XOR,生产换 cryptography.Fernet) |
--report | 质检报告输出路径(默认 <out>_report.md) |
--audit / --operator | 审计日志路径 / 操作人备注 |
--unlimited | 定制版专属:解除免费版批量上限 2 份的限制,开启不限量批量(免费版保留参数但不对外宣传) |
处理顺序(已调优,避免正则相互"吞字"):名单姓名 → 机构名 → NER 姓名 → 直接标识符(正则)。机构名先于启发式姓名,避免"最高人民法院"被切碎。
GUI(纯本地 Web,仅绑定 127.0.0.1)
python scripts/desensitize_gui.py # 浏览器自动打开 http://127.0.0.1:8731/图形界面提供:原文/姓名名单/前缀/口令/操作人输入,启发式/LAC/机构名勾选,脱敏并质检 / 还原,结果框与质检报告框。所有脱敏、还原、质检均在本地完成,数据不离开本机。
八、产品化串联
它是你现有 skills 的前置网关:
敏感案卷 → 脱敏 skill(本地前置)→ 脱敏稿 → 类案比鉴 / 法律热点分析师 → 本地 map 还原 → 审计留痕与"敏感不出域"的大厂 SaaS 拉开差异:本地先把关,云只碰脱敏稿。脱敏 skill + 类案比鉴/热点分析师 组合,即是一个能对外讲的完整产品故事。
依赖与边界
- 核心仅 Python 标准库;处理 Word / WPS(.docx) 需
pip install python-docx(本地运行,敏感不出域);LAC / HanNLP 为可选本地增强(需自行 pip 安装)。 - 映射表口令加密为演示级 XOR;生产环境请改用
cryptography.Fernet。 - 本工具为辅助手段,不替代律师独立复核与执业判断。