二十八页附件不是法律考试,是一张「你到底依赖谁」的清单。
一、二十八页附件与一个周五下午
2026 年 7 月 17 日 15 时 40 分,方工发来一封邮件,附件是一份 28 页的数据处理协议模板,正文只有两句话:「请在周一前把不适用的条款标出来,另外附一份子处理者清单。」程野把附件转成 PDF,从第一页开始读,读到第 19 页才意识到:客户真正想知道的不是条款写得多漂亮,而是这笔数据到底经了几个人的手。
以下情境为教学假设,人物、引语和数字不代表经核实的真实案例。
他把周末切成两段:周六 9 时 10 分到 12 时 40 分读前 14 页,周日 14 时到 16 时 30 分读后 14 页并做标记,合计 6 小时。周一上午又花了 40 分钟写回复邮件、20 分钟与方工通电话确认两条措辞,这一轮 DPA 在售前工时里记 7 小时。
读第一遍时他以为这是一份法务文件,读到第四组条款才发现它更像架构文档的另一种写法:每一条义务都指向一个具体位置。「采取适当技术措施」对应加密与访问控制,「协助数据主体权利请求」对应后台的导出与删除按钮,「子处理者变更通知」对应一份他一直没维护的供应商名单。
28 页里真正需要他动笔的只有三处。其余部分不是不重要,而是他已经在做,只是没有写成可引用的句子。比如备份保留 35 天、日志保留 90 天,这些数字在运维文档里躺着,在合同里却是空白。
他后来把这次核对的方法记成一句:先按数据流向列,再按条款组核。列流向用 40 分钟,核条款用 5 小时 20 分钟,比例大约是 1 比 8。顺序反了会白读——先读条款,你不知道「适当技术措施」指的是哪台机器、哪一层加密。
方工在电话里说了一句让他安心的话:「我们不看你有多少页,只看三件事:数据去哪、删不删得掉、换供应商说不说。」这句话后来成了他核对顺序的依据,也解释了为什么三处缺口都落在「去向、删除、通知」上。
二、七个子处理者与六组条款
他把生产环境的出网连接按域名拉了一遍,再去账单里对,最后确认是 7 家。判断标准不是「有没有签合同」,而是「请求里有没有带着客户的数据出去」。
| 供应商 | 处理的数据 | 所在区域 | 条款页数 |
|---|---|---|---|
| 云主机与对象存储 | 全部租户数据与每日备份 | 美国西部 | 4 |
| 邮件投递 | 收件人邮箱、通知正文 | 美国 | 3 |
| 支付与订阅 | 账单地址、卡令牌、发票号 | 美国 | 5 |
| 日志与监控 | 请求日志、IP、错误码 | 美国与欧盟 | 4 |
| 错误追踪 | 堆栈、用户标识、页面路径 | 欧盟 | 2 |
| 客服工单 | 工单正文、来信邮箱 | 美国 | 3 |
| 托管队列 | 任务载荷、重试计数 | 美国 | 2 |
七家自己的条款合计 23 页,加上客户模板的 28 页,一共 51 页。这个数字比 28 页更接近真实的阅读量,因为背靠背义务必须逐家对上:客户要求 30 天内删除,供应商条款写的是 60 天,中间那 30 天就得他自己补。
六组条款按顺序过:角色与处理范围、安全措施、子处理者、跨境传输、删除与返还、审计通知与责任。前两组只需确认「写了的确实在做」,后四组才是要谈的地方。跨境那组最容易被忽略:日志供应商同时在美国和欧盟落数据,而客户模板只允许在欧盟境内或经批准的国家处理,这一条如果不改,签约后每次故障排查都算违约。
审计那组有一个替代方案值得争取:客户模板默认「每年一次现场审计」,他改成「以最近一次安全问卷答案与 23 份证据替代,必要时一次 90 分钟线上访谈」。方工接受了,因为对方也不想飞过来。
六组过完,他给每一组标了三种状态:已满足、需补充说明、需修改条款。最后一类只有 3 条,其余是补说明。这个比例说明大部分 DPA 不是在谈判,而是在举证。
合并披露是一个省力但不总能用的做法。七家里有两家只处理元数据——错误追踪只存堆栈,队列只存任务号——他在清单里标了「仅元数据」,客户法务接受合并成一行;支付那家因为涉及卡令牌,必须单列。
区域这一栏比想象中难填。云主机的控制面在哪个区域、对象存储的副本在哪个区域、备份又落在哪个区域,三个答案可能不同。他最后填的是「数据实际落盘的区域」,不是合同签约主体所在地,因为客户问的是数据在哪,不是你和谁签的约。
三、三处缺口与两份补充页
三处缺口都不是「不愿意做」,而是「做了但说不清」。
| 缺口 | 客户会怎么问 | 补什么 |
|---|---|---|
| 保留期 | 「终止后到底几天删干净?」 | 保留期附表:生产 0 天、备份 35 天、日志 90 天、发票 7 年、工单 24 个月、邮件 30 天 |
| 子处理者披露 | 「换了供应商我怎么知道?」 | 一页清单加 30 天变更通知,给 10 个工作日异议期 |
| 删除义务 | 「删完能给我什么证明?」 | 删除证明模板:请求号、范围、完成时间、残留副本到期日 |
三处缺口只补了两页,因为保留期与删除证明是同一张表的两列。第一页《保留期与删除附表》列 6 类数据:生产库终止即删、备份 35 天滚动覆盖、日志 90 天、发票按税务要求留 7 年、工单 24 个月、通知邮件 30 天。第二页《子处理者清单与变更通知》列 7 家、处理目的、区域、条款版本号,以及变更时的通知路径。
保留期那一栏最容易被追问。客户问「30 天内删除」,他答「生产库当天删,备份 35 天覆盖,日志 90 天」,三个数字不一样,必须写在纸上而不是口头解释。写清楚之后,方工只回了一句「这样我们知道该等多久」。
删除证明那一栏,他原本打算说「后台点一下就有」。实际做了一次才发现,对象存储里的附件与队列里的残留任务不会被数据库删除动作覆盖,需要单独一次清理。证明模板因此多了两行:对象存储清理时间、队列残留到期时间。
子处理者清单还顺带解决了一个内部问题:他终于知道每年该找谁续条款。7 家里有 2 家的免费额度只覆盖到 2027 年 3 月,清单上标了到期日,比记在脑子里可靠。
补页不是重写合同。两页都以「附表」形式挂在 DPA 后面,编号 A1 与 A2,正文里只加一句「详见附表 A1 与 A2」。这样客户下次换模板时,附表可以整体搬过去,不用在 28 页里重新找位置。
有一个缺口他一开始想糊过去:日志保留 90 天。客户模板写「不少于 30 天」,他以为更长所以没问题,方工提醒他「更长也是一种不符合,因为我们要按 30 天画数据地图」。最后附表里写明「可按客户要求缩短至 30 天」,成本只是改一个环境变量。
四、三十天通知与每年两小时
通知条款写起来只有一句,执行起来是一条固定路径:确定变更、发邮件给已签 DPA 的客户、更新状态页上的清单版本号、等 10 个工作日、无异议则生效。30 天里真正需要他动手的只有前 3 步,合计约 40 分钟。
他把这条路径写成两页流程,附在 DPA 后面。客户法务看到「30 天前通知 + 10 个工作日异议 + 异议可解约并按比例退款」这三句,通常就不再追问细节。反过来,只写「会提前通知」而不写通知到哪、异议多久、异议后怎么办,几乎一定会被退回来重写。
每年 2 小时的复核是这套东西唯一重复发生的部分。动作只有四个:打开 7 家的条款页看版本号有没有变、核对处理区域、确认子处理者名单有没有新增、把变更记录进清单末尾的日期栏。2 小时里大约 90 分钟花在找入口,30 分钟在记录。
首年是 8 小时:6 小时逐条核对加 2 小时复核。第二年只剩 2 小时,因为核对过的六组条款不会每年重写,除非客户换模板。这也是为什么他后来接第二家企业时,DPA 部分只花了 2 小时——同一份模板,只需要改客户名称与席位数。
复算:客户模板 28 页 ÷ 6 h 逐条核对 = 4.7 页/h
七家条款:4 + 3 + 5 + 4 + 2 + 3 + 2 = 23 页;合计 28 + 23 = 51 页
售前口径:6 h 逐条核对 + 1 h 邮件与电话 = 7 h(对应 96 h 里的 DPA 7 h)
首年投入:6 h 核对 + 2 h 年度复核 = 8 h;第二年起每年 2 h
通知期:30 天 ≈ 4 周 + 2 天;异议 10 个工作日 = 2 周
一年接 4 家同模板客户:核对只做一次,6 ÷ 4 = 1.5 h/家
占全年:8 ÷ 1,920 = 0.42% ≈ 0.4%
这组数字里最容易被误读的是「8 h/年」。它不是每年都要花 8 小时,而是第一年 6 小时核对加 2 小时复核;第二年起只剩 2 小时。把 8 小时当成固定年费,会高估这套流程的维护成本,也会低估第一年的实际投入。
通知路径里最容易漏的是「已签 DPA 的客户」这个范围。线索表里有 9 家,签过 DPA 的只有 1 家;如果按线索名单发通知,等于把还没成交的客户拉进流程,既没必要也不专业。范围要从合同表里取,不从线索表里取。
有一个坑值得记下来:客户模板每年会更新版本。2026 版把「欧盟境内处理」改成「欧盟境内或经批准的国家」,看起来放宽了,实际上要求列出批准依据。版本号变了就重读一遍,比假设「去年签过」便宜。
五、行动清单与复算验收
- 按出网域名与账单拉出全部子处理者,逐个确认是否接触客户数据。
- 给每家记录处理的数据类别、所在区域、条款页数与版本号。
- 把客户模板拆成六组,每组标「已满足 / 需说明 / 需改条款」。
- 写一页保留期附表,6 类数据各自写明天数,不留「视情况而定」。
- 写一页子处理者清单,带 30 天通知路径与 10 个工作日异议期。
- 做一次真实删除,确认对象存储与队列残留也能清掉,并留证明模板。
- 在日历上固定每年 2 小时复核,核对版本号、区域与名单。
- 签约前把三处缺口逐条对客户复述一遍,确认对方接受书面补充而不是口头承诺。
验收标准:任取一个子处理者,都能在 1 分钟内说出它处理什么数据、放在哪个区域、条款第几版,以及变更时客户会在第几天收到通知。
前四条是「把依赖关系画出来」,后四条是「让它在一年后仍然成立」。如果只有半天,先做第一条和第二条:没有名单与区域,后面的通知与删除都无处落地。
清单不要写成一次性文档。它有三个会变的字段——版本号、区域、到期日——每次变更只需要改这三格,改完在末尾记日期。一年后回看,这三格的变化就是最诚实的合规记录。
清单最好和账单放在一起。账单里出现一个新供应商,通常意味着数据多了一个出口;每月对账时顺手看一眼域名,比半年后做一次全量扫描省时间。这是他能坚持下来的唯一原因:动作挂在一个本来就要做的流程上。
使用边界与实操验收
这不是法律意见。 本文给的是清点与举证的方法,条款是否满足某个司法辖区的要求,需要按当地法律与专业意见判断。GDPR 第 28 条列的是义务框架,不是可直接抄进合同的模板。
子处理者清单会过期。 新接一个邮件服务、换一次支付通道、加一个错误追踪,名单就该变。判断标准是:这次变更有没有让客户数据经过一个新的域名。
28 页不是标准长度。 客户模板从 12 页到 60 页都见过,页数不决定风险,缺哪一组才决定风险。六组里只要「删除与返还」和「子处理者」写得含糊,页数再多也要补。
30 天通知是商务承诺,不是技术能力。 能否在 30 天内完成迁移,取决于有没有第二家可用供应商;没有备份方案时,通知期写得再长也只是形式。
7 小时是这一轮的口径。 它对应第 1 节售前 96 小时里的 DPA 7 小时,不包含后续每年 2 小时的复核;两者不要相加成「每年 9 小时」。
附表减少的是解释次数,不是判断。 客户法务如果逐条追问,附表只能让你答得快,不能让你答得对;答得对的前提是真的做过一次删除、真的看过一次日志保留设置。
一个人做这件事有上限。 7 家还能逐家核对,20 家就该用自动生成的清单。判断线是「新增一家需要多少分钟」——超过 20 分钟,说明它该写进部署检查,而不是靠记忆。
关键参考与核验范围
- GDPR 全文(EUR-Lex) :用于核对处理者、控制者与跨境传输的定义框架。
- GDPR 第 28 条 :用于核对处理者义务、子处理者授权与删除返还的条款结构。
- NIST SP 800-53 :用于核对访问控制、审计与事件响应的控制项分类。
以上链接于 2026-10-26 实测可公开访问;未核验版本、功能范围与政策更新。核验日期:2026-10-26。
范围上只讨论一个人如何清点子处理者、拆解 DPA 条款与补齐书面附件,不讨论具体司法辖区的合规结论、跨境传输机制的适用判断,也不提供合同模板的法律意见。
系列导航
- 上一篇:安全问卷:一百四十八道题、十二类与一份可复用的答案库
- 下一篇:SLA:99.9% 是 43.2 分钟,以及为什么先承诺 99.5%
- 回到目录:一个人的企业客户:九家询价、一百四十八道问卷与 134 天的第一单
- 相关阅读:跨境与供应商:七个处理者、四十二个欧盟用户与一份传输评估
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。