版权与内容来源声明
本文为原创整理。文中涉及官方文档、开源仓库、论文与公开报道的内容,均在附表 A 中标注来源;引用官方原文保持原样,不作改写。文中命令、版本号与界面截图以本文成文时的实测/核验结果为准,标注「待验证」的部分请以你本地环境实际输出为判断依据。本文不推荐任何不合规的软件获取方式,也不对任何收益结果作承诺。转载请注明出处。
一、先把三条义务线分开
1.1 一个很常见的开场
客服问答助手上线三个月,工单库里躺着手机号、地址、通话摘要,模型走外部接口,日志表存着完整提示词。老板问了一句「我们做没做个人信息合规审计」,技术负责人翻开法条,看到「定期」两个字,不知道从哪下手。
问题不在法条难,在于三件事被混成了一件:合规审计、影响评估、安全措施。三者触发条件、产出、责任人都不同。
- 合规审计:对「处理个人信息是否遵守法律、行政法规」做审查和评价。《个人信息保护合规审计管理办法》第二条把它定义为一种监督活动。翻成人话:有人拿着证据问「你说你合规,凭什么是真的」。
- 影响评估:事前判断处理活动对个人权益的影响、风险能不能控住,并留下报告。触发情形与内容见第五十五条、第五十六条。
- 安全措施:第五十一条列的六项日常动作——制度与操作规程、分类管理、加密与去标识化、权限与培训、应急预案、其他法定措施。
| 维度 | 合规审计 | 影响评估 | 安全措施 |
|---|---|---|---|
| 依据 | 《个人信息保护法》第五十四条;审计办法 | 第五十五条、第五十六条 | 第五十一条 |
| 触发 | 定期;处理超过 1000 万人个人信息的每两年至少一次 | 事前,五种情形触发 | 持续 |
| 产出 | 审计报告与整改记录 | 评估报告与处理记录,至少保存三年 | 制度、权限、加密与预案 |
| 回答什么 | 做的和说的是不是一回事 | 这件事该不该做、风险能不能控 | 平时靠什么防 |
1.2 审计办法把「定期」变成了时间表
截至 2026-10-19,现行有效的是国家互联网信息办公室令第 18 号:2024 年 5 月 20 日经第 15 次室务会审议通过,2025 年 2 月 12 日公布,2025 年 5 月 1 日施行。它把第五十四条那句「定期」拆成了可执行的几条:
- 自己做:由内部机构或委托专业机构,定期审(第三条)。
- 频次:处理超过 1000 万人个人信息的,每两年至少一次(第四条)。
- 部门要求做:发现较大风险、可能侵害众多个人权益、发生安全事件导致 100 万人以上个人信息或 10 万人以上敏感个人信息泄露等三种情形,可要求委托专业机构(第五条)。
- 怎么做:参照附件《个人信息保护合规审计指引》,指引按主题列了二十七项审查内容(第六条)。按部门要求做的,整改完成后 15 个工作日内报送整改情况报告(第十一条)。
还有一个门槛:处理 100 万人以上个人信息的,应指定个人信息保护负责人负责审计工作(第十二条)。这不是建议,是「有没有人签字」的问题。
1.3 我不是法务,我能做什么
本文不构成法律意见。技术人能做的只有三件事,也是审计里最花时间的部分:把处理活动列全、把每件事留成能查的样子、把不合格的处置做成有档位的开关。
合法性基础怎么选、告知文本怎么措辞属于法务判断;但「系统实际怎么跑、数据流到哪」只有工程能回答。审计现场卡住,多半不是法条理解,而是没人能当场调出那条记录。
二、审计范围:按目的划,还是按系统划
2.1 按系统划:最省事,漏得也最整齐
按系统划就是打开架构图逐个过。它和责任人、发布流程对得上,落地最快,但有四个固定漏项:
- 同一目的跨多个系统。招聘场景里,简历库、面试记录、背调、入职登记是四套系统,合起来才是一个「招聘」目的。
- 同一个人对不上号。手机号、员工号、微信标识分散在不同表里,回答不了「这个人的全部信息在哪」。
- 一条数据流被切成几段。采集在 App、清洗在数仓、训练在算法侧,每段都合规,接起来不一定。
- 影子 AI。员工拿个人账号把表格贴进外部对话工具,任何架构图上都没有它。
2.2 按目的划:覆盖全,但落不到系统
按目的划是从「我们为什么处理」出发,能回答必要性问题。它的问题是另外三个:
- 一个系统承载多个目的(客服系统同时做服务记录、质量抽检、语料积累),只登记了其中一个;
- 目的写得过粗,比如「提升服务质量」,粗到无法判断某个字段是否必要;
- 目的变更没有触发重新告知与重新同意(第十四条要求目的、方式、种类变更时重新取得同意)。
2.3 交叉之后,锚点只有一个
判据可以写死:一条「处理活动」= 一个目的 + 一组字段 + 一条数据流 + 一个责任系统。四者任一变化,就是新的一条,需要重新挂证据。
这张清单是审计范围的边界,也是所有证据的主键。没有它,证据散在各组手里,审计时只能靠人回忆。
| 划法 | 好处 | 会漏什么 | 补法 |
|---|---|---|---|
| 按系统 | 和架构图、责任人一一对应 | 跨系统的同一目的;身份对不上;影子 AI | 加一列「目的」,做系统与目的的矩阵 |
| 按目的 | 覆盖完整,能回答必要性 | 一系统多目的;目的过粗;变更不触发复核 | 每个目的下挂责任系统与字段清单 |
三、一张表:环节、风险、证据
3.1 三列对照
合规审计最后要落到「哪一条处理活动、哪一份证据」。把大模型应用拆成七个环节,每一格都能对应到具体文件或配置。
| 处理环节 | 大模型应用特有的风险 | 应留的证据 |
|---|---|---|
| 收集:注册、对话输入、文件上传 | 对话里自然带出他人信息;附件含证件照、病历;最小必要没有按字段判断 | 字段清单与必要性说明;输入框提示文案版本;上传类型与大小限制配置 |
| 训练与微调语料 | 工单、录音、网页抓取、开源数据集混入个人信息;把去标识化当成匿名化 | 数据集清单(来源、字段、条数、版本);来源授权或公开页面快照;清洗与去标识化脚本及运行记录 |
| 提示词与上下文拼装 | 检索把他人记录拼进上下文;多轮记忆串号;整段上下文发给外部模型 | 上下文组装规则;检索过滤条件(按租户、按用户隔离);脱敏与截断逻辑的测试用例 |
| 推理与输出 | 输出复述上下文里的手机号、地址;生成结果写进下游系统被二次留存 | 输出过滤规则与命中记录;下游写入字段清单;定期抽样复核记录 |
| 日志与留存 | 完整提示词与响应落库;日志含非必要个人信息;留存期限写成永久 | 日志字段说明与脱敏样例;留存期限配置;到期清理任务的成功记录 |
| 删除与撤回 | 只删业务表,向量库、缓存、备份、日志仍有副本 | 删除链路图(覆盖哪些存储);删除任务回执;抽样验证结果 |
| 向第三方提供 | 模型接口、向量库、标注外包、埋点服务;合同里没写「不得用于训练」 | 合同编号与条款位置;受托方清单与角色定性;定期检查记录 |
3.2 三处大模型特有的地方
第一处是训练与微调语料。《生成式人工智能服务管理暂行办法》(七部门令第 15 号,2023 年 7 月 13 日发布,2023 年 8 月 15 日施行)第七条第(三)项:涉及个人信息的,应当取得个人同意或者符合法律、行政法规规定的其他情形;第(一)项要求使用具有合法来源的数据和基础模型。常见误解是把去标识化当匿名化。《个人信息保护法》第七十三条写得很清楚:去标识化是「不借助额外信息无法识别特定自然人」,匿名化是「无法识别且不能复原」。去标识化之后仍然是个人信息,只是风险降低了。
第二处是提示词与上下文。检索增强(把外部资料检索出来拼进提示词)最容易出的事,是把甲客户的记录拼进乙客户的回答。另一件事是整段上下文发往外部模型接口——这可能构成向其他个人信息处理者(自主决定处理目的与方式的组织或个人)提供,第二十三条要求告知接收方并取得单独同意(针对这项处理单独作出,不打包授权)。暂行办法第十一条还压了一条:不得收集非必要个人信息,不得非法留存能够识别使用者身份的输入信息和使用记录。
第三处是日志与输出留存。为了排障把完整提示词和响应落库,是最顺手也最难解释的做法。用户要求删除时,业务表删了,日志表、缓存、向量库、备份还在,第四十七条第二款对「技术上难以删除」给的是「停止除存储和采取必要安全保护措施之外的处理」,不是「留着继续用」。
四、证据清单:看懂就能查
4.1 六类证据的最低形态
审计不是听汇报,是看东西。六类证据各给了最低要求与常见不合格形态,可以直接对照手里的材料。
| 证据 | 看懂就能查的最低要求 | 常见不合格形态 |
|---|---|---|
| 数据来源记录 | 每个来源有地址或合同、采集时间、采集人、许可范围、是否含个人信息 | 只写「公开数据」「历史工单」 |
| 授权文本版本 | 版本号、生效时间、对应界面截图、单独同意的独立勾选 | 只有一份最新隐私政策,历史版本说不清 |
| 影响评估报告 | 触发情形、三项评估内容、结论、日期、签署人 | 一份模板套所有系统,结论都是「风险可控」 |
| 访问日志 | 谁、何时、以什么身份、查了哪些字段、导出了多少条 | 只有登录日志,没有查询与导出日志 |
| 训练数据清单 | 数据集名、字段、条数、来源、处理方式、版本 | 一句「用了公开数据集」 |
| 第三方协议条款位置 | 合同号、条款号、页码;写明目的期限、是否用于训练、删除与审计配合 | 只有框架协议,数据处理附件没签 |
第三类要多说一句。影响评估报告不是越厚越好,是能不能对上第五十六条的三项内容:处理目的方式是否合法正当必要、对个人权益的影响及安全风险、保护措施是否合法有效且与风险相适应。三项缺一项,这份报告在审计里就是半成品。
第五类有个外部压力:暂行办法第十九条要求提供者配合监督检查,按要求对训练数据来源、规模、类型、标注规则、算法机制机理等予以说明。说不清来源,本身就是不合格。
4.2 把一条处理活动写成结构化记录
文字描述没法比对,结构化可以。模板每一行对应一条要留的证据,open_items是待办,也是下次审计的输入。
⚠️代码待验证
activity_id:cs-chat-001name:客服问答助手purpose:处理售后工单并生成回复建议legal_basis:履行合同所必需# 第十三条第一款第二项,需法务书面确认systems:-crm-ticket-llm-gateway-vector-storefields:-name:手机号necessary:truemasked_in_prompt:truein_log:masked-name:通话摘要necessary:truecontains_personal_info:truein_training:falsethird_parties:-vendor:模型服务商role:受托处理contract_no:2026-CS-013clause:第 7.2 条(不得用于训练)、第 9.1 条(删除与返还)page:12evidence:source_record:evidence/cs-chat-001/source.xlsxnotice_version:privacy-2026-07-01consent_capture:screenshot/2026-07-01-单独同意.pngimpact_assessment:ia/cs-chat-001-2026-08.pdfaccess_log_retention_days:180training_data_list:dataset/cs-chat-001-v3.csvopen_items:-owner:数据平台组due:2026-11-15issue:日志表仍保留完整手机号几个字段值得解释:legal_basis要写具体条款,写「用户同意」等于没写;clause要能翻到页码;in_training单独列出,因为「能不能进语料」和「能不能存」是两个判断。
4.3 先用脚本找出候选,再用人定性
准备阶段最费时间的是翻表和翻日志。写个只做「发现」的脚本捞可疑字段,再人工判断是否属于个人信息、是否必要。
⚠️代码待验证
"""只做发现候选;是否属于个人信息、是否必要,仍要人判断。"""importrefrompathlibimportPath PATTERNS={"手机号":r"1[3-9]\d{9}","身份证号":r"\d{17}[\dXx]","邮箱":r"[\w.+-]+@[\w-]+\.[\w.]+","银行卡号":r"\d{16,19}","详细地址":r"(省|市|区|县)[^,。;\s]{2,12}(路|街|道|号)",}defscan_text(text):hits=[]forlabel,patterninPATTERNS.items():forminre.finditer(pattern,text):hits.append((label,m.start(),m.group()[:4]+"****"))returnhitsdefscan_tree(root):forpathinPath(root).rglob("*"):ifpath.suffix.lower()notin{".csv",".jsonl",".log",".txt",".md"}:continuetext=path.read_text(encoding="utf-8",errors="ignore")forlabel,pos,sampleinscan_text(text):print(f"{path}|{label}| 偏移{pos}| 样例{sample}")if__name__=="__main__":scan_tree("work/samples")脚本刻意只打印前四位并打码:审计工具自己不能成为新的泄露点。命中不等于违规,它只说明这里需要一句解释;解释不出来,才进第三档处置。
五、不合格怎么处置:三档
5.1 判据不是「严重程度」,是「能不能证明」
很多团队把处置都写成「限期整改」,因为听起来最不伤感情。但整改只能补记录,补不了合法性基础。
| 档位 | 触发判据 | 工程动作 | 恢复条件 |
|---|---|---|---|
| 限期整改 | 合法性基础在,缺记录、缺版本、缺签署、缺演练 | 建工单,定责任人与到期日,到期复核 | 补齐并抽验通过 |
| 暂停相关功能 | 说不出数据来源;缺单独同意;第三方无书面约定 | 关掉该功能或该条数据流,保留只读 | 来源可证明、同意可追溯、协议已签 |
| 下线 | 删除、更正、撤回入口缺失或不可用;存量副本清不掉 | 停止服务,出公告与迁移方案 | 入口可用、存量清理完成、抽样验证通过 |
5.2 为什么「补一份同意书」不算整改
第十四条要求同意由个人在充分知情的前提下自愿、明确作出。事后补签,改变不了当时没有取得同意这个事实。所以「缺单独同意」不能放在第一档——它是第二档,暂停功能,直到新的处理方式能重新取得同意。
业务常说「先关两天影响太大」。可以谈恢复条件,但不能改档位。档位是可审计的结论,不是谈判结果。
5.3 处置记录本身就是证据
每一档都要留三样:判定依据(哪条事实对应哪条义务)、动作时间(何时关了、关了什么)、验证方式(怎么确认真的关了)。第二、三档还要留恢复评审记录。审计看的不是解释得多好,是这条时间线连不连得上。
处置与证据对照表:把第 4 章的六类证据与第 5 章的三档判据排成一张对照表,左边填证据,右边勾档位。放在资料包里,扫码即可获取:
六、上线前自查 8 问
6.1 八个问题,答不上来就是不合格
八问按「字段—告知—第三方—语料—评估—日志—权利—事件」排,覆盖审计最常抽到的面。每问都要求给出具体位置,不接受「应该有」。
- 这个功能处理的个人信息,能逐字段列出来吗?每个字段对应第十三条的哪一项合法性基础?
- 告知文本里写清楚「用于模型训练或微调」了吗?目的变更后重新告知了吗?
- 有没有把个人信息发给第三方(模型接口、向量库、标注外包)?有单独同意和书面约定吗?
- 训练与微调语料有来源记录吗?去标识化之后,是否仍可能借助额外信息识别到人?
- 影响评估做了吗?属于第五十五条五种情形里的哪一种?报告在哪、谁签的、存几年?
- 日志里有没有非必要个人信息?谁能查、能导出多少、留存多久?
- 用户要查阅、复制、更正、删除、撤回,入口在哪、多久响应?日志与向量库同步清了吗?
- 出安全事件时,多久能定位到「哪些人的哪些字段、流到了哪里」?
6.2 每问背后都是一条可查的义务
第 1、2 问对应第十三条、第十七条;第 3 问对应第二十一条、第二十三条;第 4 问对应暂行办法第七条;第 5 问对应第五十五条、第五十六条;第 6 问对应第五十一条与暂行办法第十一条;第 7 问对应第四十五条至第四十七条、第五十条;第 8 问对应第五十七条。
答「没有」时按第 5 章的档位走:第 1、2、5、6 问缺的是记录与文本,通常进第一档;第 3、4 问答不上来,进第二档;第 7 问答不上来,直接进第三档。第 8 问答不上来意味着出事时说不清范围,按第二档处理更稳妥。
七、落地顺序:先清单,再证据,最后门禁
7.1 三步,每步都有可验收的产出
| 步骤 | 产出 | 验收判据 |
|---|---|---|
| 第一步:处理活动清单 | 一条活动一行,含目的、字段、数据流、责任系统 | 任取一条,能说清数据从哪来到哪去 |
| 第二步:证据补齐 | 六类证据归档到统一目录 | 任取一类,五分钟内能调出原件 |
| 第三步:发布门禁 | 上线、换模型、加数据源都触发复核 | 缺证据时构建失败,而不是上线后补 |
第一步别从法条开始,从数据库表和接口文档反推目的更快。第二步按「审计最容易被问到」排序:训练数据清单、第三方协议条款位置、影响评估报告、授权文本版本、访问日志。第三步才是自动化。
7.2 门禁要卡在发布链路上
写在文档里的检查表没人看,卡在流水线里的才会被执行。下面这份规则的意思是:证据不全就不许发。
⚠️代码待验证
gate:llm-feature-releaseblocking:-id:gate_01check:处理活动清单中存在对应 activity_id-id:gate_02check:每个字段都有 legal_basis 且经法务签署-id:gate_03check:第三方条款位置可定位(合同号 + 条款号 + 页码)-id:gate_04check:触发第五十五条情形时,影响评估报告已归档-id:gate_05check:删除与撤回链路在预发环境跑通,含日志与向量库副本warn:-日志中命中疑似个人信息字段但未登记-训练数据清单版本落后于当前模型版本gate_05是最值得先做的一条。删除链路跑不通,后面所有证据都只是纸面合规;而它恰好可以在预发环境用一条测试数据完整验证。
7.3 变更才是审计的真正起点
换模型、加数据源、开新入口、把内部工具挂到公网,任何一件发生,原来的清单和证据就开始过期。把「变更触发复核」写进发布流程,比每年集中补一次材料省力——审计要求的是「定期」,而变更从不按年度发生。
最后提醒一句:本文给的是工程动作和判据,不是法律意见。合法性基础的选择、告知文本的措辞、跨境场景的判断,仍然要法务签字。技术人能保证的是——当有人问「凭什么是真的」,你能在五分钟内把东西调出来。
上线门禁检查表:把第 6 章八问和第 7 章门禁规则做成发布前逐项打勾的清单,含责任人栏。放在资料包里,扫码即可获取:
附表 A:本文引用事实与出处对照表
| 事实 | 出处(法律名称、条号、施行日期、链接) | 核验 | 本文位置 |
|---|---|---|---|
| 《中华人民共和国个人信息保护法》,2021-08-20 通过,2021-11-01 施行(第七十四条);第五十四条定期合规审计 | 中国网信网,https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm | 2026-10-19 直连核原文 | 1.1、1.2 |
| 第五十五条:影响评估五种情形并记录;第五十六条:三项内容,报告至少保存三年 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 1.1、4.1、6.2 |
| 第五十一条:六项安全措施 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 1.1、6.2 |
| 第四十五至四十七条、第五十条:查阅复制与转移、更正补充、删除、申请受理 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 3.2、5.1、6.2 |
| 第十三条、第十四条、第十七条:合法性基础、同意与变更、告知 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 2.2、5.2、6.2 |
| 第二十一条、第二十三条、第二十九条:委托、向他人提供、敏感信息单独同意 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 3.2、6.2 |
| 第六十四条:较大风险或安全事件可要求委托审计 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 1.2 |
| 第七十三条:处理者、自动化决策、去标识化、匿名化 | 同上(2021-11-01 施行) | 2026-10-19 直连核原文 | 3.2 |
| 《个人信息保护合规审计管理办法》,国家互联网信息办公室令第 18 号,2024-05-20 通过,2025-02-12 公布,2025-05-01 施行;第二至四条 | 中国网信网,https://www.cac.gov.cn/2025-02/14/c_1741233507681519.htm | 2026-10-19 直连核原文 | 1.1、1.2 |
| 第五条委托情形;第十一条整改后 15 个工作日;第十二条 100 万人以上指定负责人 | 同上(2025-05-01 施行) | 2026-10-19 直连核原文 | 1.2 |
| 第六条参照附件指引;指引一至二十七项(委托处理六、删除权十六、个人权利十七、措施二十、影响评估二十三、应急二十四与二十五) | 同上(2025-05-01 施行,附件全文) | 2026-10-19 直连核原文并计数 | 1.2、3.2、4.1、5.1 |
| 《生成式人工智能服务管理暂行办法》,七部门令第 15 号,2023-07-13 发布(落款 07-10),2023-08-15 施行;第七条第(一)(三)项 | 中国网信网,https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm | 2026-10-19 直连核原文 | 3.2、6.2 |
| 第九条承担处理者责任;第十一条不得收集非必要个人信息、不得非法留存可识别身份的输入与使用记录 | 同上(2023-08-15 施行) | 2026-10-19 直连核原文 | 3.2、6.2 |
| 第十九条:配合检查,按要求说明训练数据来源、规模、类型、标注规则 | 同上(2023-08-15 施行) | 2026-10-19 直连核原文 | 4.1 |
| 三个代码块均为示意结构,未实际运行 | 本文说明 | 待验证 | 4.2、4.3、7.2 |
附表 B:术语速查表
| 术语 | 一句话解释 | 在本文哪里用到 |
|---|---|---|
| 个人信息处理者 | 自主决定处理目的与方式的组织或个人 | 1.1、3.2 |
| 影响评估 | 事前判断个人权益影响与风险 | 1.1、4.1 |
| 合规审计 | 审查处理活动是否守法 | 1.1、1.2 |
| 单独同意 | 针对单项处理单独作出的同意 | 3.2、5.2 |
| 去标识化 | 不借助额外信息无法识别特定人 | 3.2、4.1 |
| 匿名化 | 无法识别且不能复原 | 3.2 |
| 自动化决策 | 用程序自动分析评估并作出决定 | 1.1 |
| 处理活动 | 目的、字段、数据流、责任系统的组合 | 2.3、4.2 |
| 影子 AI | 员工私自用外部 AI 处理业务数据 | 2.1 |
| 提示词上下文 | 每次实际发给模型的全部内容 | 3.1、3.2 |
| 留存期限 | 保存个人信息的时间上限 | 3.1、4.1 |
| 处置档位 | 整改、暂停、下线三级 | 5.1、6.2 |
写在最后:这篇用到的资料
写这篇文章时,把相关的官方文档和源码又翻了一遍,顺手也整理了几份配套的东西:
- 大模型学习路线图:从零基础到能自己动手做 Agent,按阶段说明每一步该学什么、哪些可以先跳过
- 《LangChain + LangGraph + MCP 智能体开发实战》视频课:7 个模块,从私有化部署、Embedding+RAG 到 MCP+Agent 全流程
- AI 大模型知识库(在线可查):Agent Skills 从入门到落地、Claude Skills 完全指南等专题,按目录浏览即可
- 640 套 AI 大模型行业报告 + 经典 PDF 书籍:看行业落地案例和别人怎么做的时候用得上
- 大模型零基础到精通教学视频:跟着敲一遍,比只读文档快得多
资料是我自己整理的,放在下面这个码上,扫码即可获取:
添加时备注「AI」,优先通过。
资料按「先路线、再动手、最后查漏」的顺序整理好了,建议先看学习路线那一份,照着它挑一条适合自己当前基础的路径再往下看。