v1.0 发布工程 — Article 50 透明标注落地点、脱敏演示集与发布检查清单
v1.0 发布工程 — Article 50 透明标注落地点、脱敏演示集与发布检查清单
日期: 2026-09-10 阶段: Phase 3 - AML 调查 Copilot 标签: #release-engineering #article-50 #transparency-labeling #de-identification
核心问题
AML Copilot v1.0 要作为求职作品集公开发布(部署到 momoweb3.pages.dev,任何人可访问)。这一步把前面所有合规设计从「文档里的主张」逼成「线上可被人点开验证的事实」。三件事必须在发布前钉死:
- Article 50 透明标注到底标在哪、标几处? Day 49 已论证 SAR 因「非公众发布」首先不触发 50(4)、且 HITL 触发豁免。但今天(语境 2026-09-10)已过 50(1)/50(4) 生效日(2026-08-02)——50(1) 交互披露义务已生效、必须落地,不是「示意」。直觉是「标一处『AI 生成』就够」,今天证明 50 条按款分了多个独立落地点,且 50(5) 还管「标在什么时机、是否无障碍可达」。
- 演示数据集怎么脱敏才既真实又零隐私风险? 作品集用真实交易会捅破隐私/合规;纯随机数据又不像真案子。本项目用合成数据,但「合成」不等于「免责」——发布前要有可声明的数据来源链路。
- 发布检查清单怎么定,才让「合规」可被外部审计而非自说自话? 2026 共识:治理文档必须从运行系统持续生成,不是审计前手工拼。
核心反直觉先抛出来:透明标注不是「打个 AI 水印」就完事,它是分款、分时机、分可达性的多点义务——50(1) 管「交互时告知」、50(2) 管「机器可读标记」、50(5) 管「首次接触时以清晰且无障碍方式呈现」。把它当单点任务,会漏掉 50(5) 的时机与无障碍要求,而这恰是公开 web 应用最容易翻车的地方。
关键内容
A. Article 50 分款落地点:标几处、标在哪、什么时机
精读 artificialintelligenceact.eu 权威转录的条款级文本,把每款映射成 v1.0 的具体 UI/代码落地点。注意区分已生效(2026-08-02)与Omnibus 推迟(2026-12-02):
| 款 | 条款原文要点 | 状态(2026-09-10) | v1.0 落地点 |
|---|---|---|---|
| 50(1) | 「natural persons concerned are informed that they are interacting with an AI system, unless this is obvious」 | 已生效 | aml-copilot 页顶固定披露条(已有「非 LLM」标注,需补「与自动化系统交互」语义) |
| 50(2) | 「outputs... marked in a machine-readable format and detectable as artificially generated」「effective, interoperable, robust and reliable as far as technically feasible」 | 推迟至 2026-12-02 | SAR 产物 provenance 字段 + 审计轨迹留痕(Day 49 过渡方案,非脆弱内容水印) |
| 50(4) | 公共利益文本披露 + 「human review or editorial control... natural or legal person holds editorial responsibility」豁免 | 已生效 | 不触发(SAR 非公众发布)+ HITL 豁免双保险(Day 49) |
| 50(5) | 「clear and distinguishable manner at the latest at the time of the first interaction or exposure」「conform to the applicable accessibility requirements」 | 已生效 | 披露条须在首屏首次曝光即可见 + 满足无障碍(语义标签/对比度/屏幕阅读器) |
50(5) 是 Day 49 没展开、但发布工程必须处理的款——它管两件 web 应用的硬细节:
- 时机:披露必须在「首次交互或曝光时」就清晰可辨,不能藏在折叠面板或滚动到底才出现。本项目的
AmlSarPanel顶部披露条已满足(首屏可见),但要确保它不被懒加载/折叠默认隐藏。 - 无障碍:披露须符合无障碍要求——披露条不能只靠颜色传达(色盲)、要有语义
role/aria-label、对比度达标、屏幕阅读器可读。这是公开 web 应用容易漏的——一个视觉上的灰色小字披露条,对屏幕阅读器用户可能完全不可达,技术上不满足 50(5)。
反直觉洞察①(透明标注的合规风险不在「标没标」,在「首屏可见 + 无障碍可达」这两个 web 细节):直觉是「我加了一行『AI 生成』披露,合规了」。但 50(5) 把义务钉到时机(first interaction/exposure)和可达性(accessibility requirements)两个维度上。一个写在页面底部、或默认折叠、或灰色低对比度小字、或没有
aria语义的披露条——内容上「标了」,但 50(5) 上没满足:它没在首次曝光时清晰可辨,对屏幕阅读器用户不可达。公开 web 应用的透明合规,一半在文案,一半在前端可访问性工程。把它当纯文案任务,会在 50(5) 上留缺口——而这恰恰是最容易被外部审计一眼看穿的地方(打开 DevTools 看有没有 aria,比读法务文档容易得多)。
B. 脱敏演示数据集:合成 ≠ 免责,要有可声明的来源链路
作品集公开后,任何人能点开看到「交易」「主体」「对手」。这些必须零真实个人数据。本项目从 P1 起就用 generator.ts 生成的合成数据——但「合成」不是发布的免责金牌,要有可声明、可审计的数据来源链路(2026 合规共识:document data lineage):
| 脱敏层 | 做法 | 声明依据 |
|---|---|---|
| 数据来源 | 全部由 generator.ts 确定性合成,无任何真实交易导入 | data lineage:种子→生成器→数据集,可复现 |
| 主体标识 | 主体/账户/对手均为合成 id(P-03/A-01),无真实姓名/账号 | 无 PII,无需 GDPR 脱敏 |
| 金额/时序 | 围绕 CTR $10,000 门槛等真实监管参数合成,形态真实但数值虚构 | 形态真实(教学价值)+ 数值虚构(零泄露) |
| 自由文本 | memo/对手名为模板生成 + Day 87 注入测试用例显式标注为「对抗样本」 | 注入样本不混入正常演示,避免误导 |
关键设计:合成数据的可复现性本身是合规资产——给定种子,generator.ts 能确定性重建整个数据集,这条 data lineage(种子→生成器→80 案 V11)可被外部审计验证「这里没有真人数据」。这比「我手工脱敏过了」可信得多——手工脱敏可能漏,确定性合成从源头就没有真实数据可漏。
反直觉洞察②(合成数据的合规价值不在「假」,在「可复现地证明它假」):直觉是「用合成数据就没隐私问题了」。但「我用了合成数据」是一句不可验证的声明——审计者凭什么信你没偷偷混入真实案例?真正的合规资产是确定性可复现:种子 +
generator.ts→ 完全相同的数据集,任何人可重跑验证「输入只有一个数字种子,输出是全部'交易',中间无真实数据接入点」。可复现性把「相信我是合成的」变成「你自己跑一遍就知道是合成的」——这与 Day 86「可复现度量即差异化」、Day 49「流程留痕代替易碎内容标记」是同一信念:合规的可信度来自可被独立验证,不来自声明。
C. 发布检查清单:让合规可被外部审计而非自说自话
2026 AI 合规共识(NeuralTrust / GuardionAI checklist):治理文档必须从运行系统持续生成,不是发布前手工拼。本项目 v1.0 发布检查清单按「可被外部一键验证」组织——每条都指向线上可点开/可跑的证据,而非一句承诺:
v1.0 发布检查清单(每条须指向可验证证据)
─────────────────────────────────────────────
[透明 · Article 50]
□ 50(1) 披露条首屏可见,文案含"与自动化系统交互" → 打开页面即见
□ 50(5) 披露条满足无障碍(aria/对比度/非纯色编码) → DevTools 可查
□ 50(2) SAR 带 provenance(aiDrafted/reviewedBy/时间) → 审计轨迹可见
□ 全站"非 LLM/规则引擎/合成数据"标注一致,无夸大 → grep 一致性
[数据 · 隐私]
□ 演示集 100% 合成,种子可复现,无真实 PII → 跑 generator 验证
□ 注入对抗样本与正常演示数据隔离,显式标注 → 数据集分区
[评测 · 诚实]
□ 规则基线 recall/FPR 为真实跑出,非声称 → 测试可复现
□ judge/SAR 质量维标"待 P3 LLM",不谎称已评 → 头注一致
□ ASR before/after 标"设计目标+行业锚定",非真实复测 → 头注一致
[运营 · 留痕]
□ HITL 流程在 UI 可走通(批准/退回/修改记审计轨迹) → 交互可验
□ 模型/数据/限制以 model-card 式文档随发布 → 文档可读
□ 已知局限显式列出(规则误报案/检索遗漏) → 局限清单
清单的设计原则——每条都能被一个不信任你的外部审计者独立验证:透明项打开页面/DevTools 就能查,数据项重跑 generator.ts 就能验,评测项重跑测试就能复现,诚实项 grep 标注一致性。这正是 2026 合规共识「continuously generated from operational systems, not manually assembled before audits」的落地——把「相信我合规」变成「你自己验」。这条贯穿 Day 86(可复现度量)、Day 87(架构防线)、本日(可验证发布)。
设计要点/决策表
| 要点 | 决策 | 理由 |
|---|---|---|
| 50(1) 交互披露 | 已生效,披露条文案补「与自动化系统交互」语义 | 2026-08-02 已生效,非示意(Day 49 时是「即将」) |
| 50(5) 时机+无障碍 | 首屏首次曝光可见 + aria/对比度/非纯色 | 50(5) 钉到时机与可达性,web 应用易漏(洞察①) |
| 50(2) 机器可读标记 | 走 provenance + 审计轨迹留痕,非内容水印 | 推迟至 2026-12-02;内容标记脆弱(Day 49) |
| 演示数据 | 确定性合成 + 种子可复现 data lineage | 合规价值在「可复现证明它假」(洞察②) |
| 对抗样本隔离 | Day 87 注入用例显式标注,不混入正常演示 | 避免误导 + 数据集分区可审计 |
| 发布清单 | 每条指向线上可一键验证证据 | 合规须可外部审计,非自说自话 |
| 诚实标注一致性 | 全站「非 LLM/合成/设计目标」口径统一 | grep 可验一致性,杜绝局部夸大 |
对本项目的落地
app/aml-copilot/page.tsx+AmlSarPanel强化 50(1)/50(5):现有披露条文案「由自动化系统生成(规则模板引擎,非 LLM)」补足 50(1) 的「与自动化系统交互」语义;确保披露条在首屏首次曝光即可见(不折叠/不懒加载);加role="note"+aria-label+ 校验对比度,满足 50(5) 无障碍。把 Day 49 的「示意」措辞改为「已生效义务」口径(语境已过 2026-08-02)。- 计划新建
src/aml/compliance/releaseChecklist.ts:导出RELEASE_CHECKLIST(C 节清单的结构化常量,每条带verifyHow字段指向验证方式)+article50DropPoints()(A 节四款落地点表,复用 Day 49 计划的article50.ts的article50Obligations,按当前日期判定已生效/推迟)。纯数据 + 纯函数,可单测断言「50(1)/50(4)/50(5) 已生效、50(2) dueDate=2026-12-02」。 - SAR provenance 字段(承 Day 49)落地
sarDraft.ts:SarDraft增{ aiDrafted: true, reviewedBy: string|null, editorialResponsibility: string|null, draftedAt },作为 50(2) 留痕式标记 + 50(4) 豁免证据;AmlSarPanel审计轨迹区渲染 provenance。 - 演示数据 data lineage 文档化:
generator.ts头注补「确定性合成 + 种子可复现 + 零真实 PII」的 data lineage 声明;Day 87 注入对抗样本在数据集里显式标isAdversarial: true分区,不混入正常演示。 - 诚实标注:
releaseChecklist.ts头注明确——本清单是发布工程的合规自检,非法律意见;Article 50 时间线引 Omnibus 2026-05-07 临时协议(最终文本待通过,须复核);50(2) 机器可读标记技术标准(Code of Practice,2026-06 终稿预期)仍在制定,本项目先落审计轨迹留痕过渡,待标准定稿评估接 C2PA;评测/ASR 数字均标「设计目标」非真实结果,全站口径一致。
参考资料
- artificialintelligenceact.eu — Article 50: Transparency Obligations:50(1)「informed that they are interacting with an AI system, unless this is obvious」;50(2)「marked in a machine-readable format and detectable as artificially generated」「effective, interoperable, robust and reliable as far as technically feasible」;50(4) 豁免「human review or editorial control... natural or legal person holds editorial responsibility」;50(5)「clear and distinguishable manner at the latest at the time of the first interaction or exposure」「conform to the applicable accessibility requirements」(权威转录,持续)
- European Commission — Code of Practice on Transparency of AI-Generated Content / Draft Guidelines on Transparency Obligations:50(2) 机器可读标记技术标准;第二版草案,终稿预期 2026-06(赶 2026-08 deadline)(2026-01/2026)
- Bird & Bird / Jones Day / HSF Kramer — Article 50 Transparency Code of Practice 实务解读:50 条义务 2026-08-02 适用;Omnibus 临时协议给已上市生成式 AI 系统宽限至 2026-12-02 满足 50(2);50(4) 编辑责任豁免 (2026-01/2026-03)
- NeuralTrust / GuardionAI — AI Compliance Checklist 2026(EU AI Act + NIST AI RMF + OWASP LLM Top 10):治理文档须从运行系统持续生成、非审计前手工拼;data lineage 文档化;可重构输入/输出/工具调用 (2026)
- 本仓库
app/aml-copilot/page.tsx+src/components/aml/AmlSarPanel.tsx(披露条落地点)、src/aml/generator.ts(确定性合成数据来源)、src/aml/sarDraft.ts(provenance 字段)、Day 49article50.ts(义务映射,扩展点)、Day 87 注入对抗样本(数据集分区) (2026-06)
SOTA 检查 (2026-06-11)
- Article 50 时间线在 2026-06 是 live 且本笔记语境(2026-09-10)已过生效日:50(1)/50(4)/50(5) 自 2026-08-02 生效,50(2) 经 Omnibus(2026-05-07 临时协议)推迟至 2026-12-02。本笔记把 Day 49 的「即将生效/示意」口径更新为「已生效义务」——这正是顶层时效性硬规则要求的「基于当前日期感知,不用过时口径」。Omnibus 最终文本仍待通过,须 2026-12 前复核。
- 50(5) 时机+无障碍是 Day 49 未展开、发布工程新增的关键款:公开 web 应用的透明合规一半在前端可访问性(aria/对比度/首屏可见),这是 2026 易被忽视、却最易被外部审计验证的点(洞察①)。
- 机器可读标记技术标准(Code of Practice)2026-06 预期终稿:C2PA 是候选但挺不过有损变换(Day 49 arXiv 2603.26983)。本项目选审计轨迹留痕过渡方案,待终稿定再评估接 C2PA——不押注未定稿标准。
- 「合成数据=免责」是过时认知:2026 合规要求 data lineage 可声明可审计;合成数据的合规价值在确定性可复现(你自己跑一遍验证它假),非「合成」二字本身(洞察②)。
- 待跟踪:(1) Code of Practice 终稿(决定 50(2) 是否从留痕升级 C2PA);(2) Omnibus 最终文本通过时间;(3) AML Copilot 若被归类涉 Annex III 高风险(Omnibus 已将该义务推迟至 2027-12-02),则触发更重义务,须持续监控分类口径;(4) 发布后实测披露条无障碍是否真达标(屏幕阅读器实测),回填清单。