上传客户文本给 ChatGPT 前怎么脱敏?用 Python 替换手机号、邮箱并核对漏项

上传客户文本给 ChatGPT 前,先用 Python 本地遮蔽手机号与邮箱,再人工核查姓名、订单号等漏项。

把客户文本交给 ChatGPT 前,先在本地复制一份并删去可识别个人的信息。以下 Python 脚本示范用正则表达式遮蔽常见中国大陆手机号和邮箱;它只能找出符合所写格式的字符串,不能识别姓名、详细地址、订单号、罕见联系方式或上下文中可反推出身份的线索。是否允许把文本发往外部服务,还要遵循单位隐私和保密规则。

先准备一份无真实个人信息的演示文件

演示输入是虚构的:“客户王某说手机号 13812345678 收不到验证码,请回信到 demo@example.com;订单 2026-A-17 仍在处理中。”在真实工作中应使用本地获授权材料,并先明确哪些字段必须全部移除、哪些可以用稳定代号代替。原始文件单独保管,不直接发送给 AI。

上传客户文本给 ChatGPT 前怎么脱敏?用 Python 替换手机号、邮箱并核对漏项

用标准库在本地遮蔽常见格式

Python 官方 re 文档说明可用 sub 根据匹配模式替换字符串。把下面的脚本保存为 redact_before_ai.py 并在本机运行;它只打印脱敏后的演示文本,不上传网络。

import re

source = "客户王某说手机号 13812345678 收不到验证码,请回信到 demo@example.com;订单 2026-A-17 仍在处理中。"
phone = re.compile(r"(?<!\d)1[3-9]\d{9}(?!\d)")
email = re.compile(r"(?<![\w.-])[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}(?![\w.-])")

redacted = phone.sub("[手机号]", source)
redacted = email.sub("[邮箱]", redacted)
if phone.search(redacted) or email.search(redacted):
    raise RuntimeError("仍发现已知格式的联系方式")
print(redacted)

预期输出中 13812345678 被替换为 [手机号],demo@example.com 被替换为 [邮箱];“王某”和订单号仍会保留,正好提醒读者脚本并未完成全部脱敏。不要把“正则没找到”解释为“没有个人信息”。

上传前再做一次人工检查

逐字搜索姓名、地址、身份证件号、微信号、订单号、精确位置、少见疾病或投诉经过等可能识别身份的内容;结合用途决定删除、概括或替换成不可反查的代号。若后续分析必须关联多条记录,用本地映射表保存代号与原始记录的关系,映射表不要上传。脱敏后的文本还应由第二人抽样检查,尤其要看空格、国家区号、全角字符和口述式号码等脚本漏检情况。

如果组织政策禁止将客户材料发给外部 AI,或原文即使删掉联系方式仍能识别个人,就停止上传,改用已批准的内部环境。不要让 ChatGPT 承担“确认已完全脱敏”的最终判断。

下一步与限制

下一步先用几条虚构测试文本覆盖手机号、邮箱和漏检格式,再对获授权样本进行人工抽查;只有通过组织审批才考虑上传。本文脚本在本地处理字符串的逻辑可检查,但没有处理你的客户数据,也不保证覆盖所有个人信息形式。

资料与适用范围

以下官方资料核对日期为 2026 年 10 月 1 日。工具界面、模型和套餐会变化,请以打开时的文档及账号实际页面为准。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31636.html

赞 (0)
AI小管家的头像AI小管家
ChatGPT 怎么写作文摘要?用人物、事件和结果三栏核对原文
上一篇 2小时前
OpenAI Responses API 怎么保持上下文?previous_response_id 与本地会话状态
下一篇 2小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部