| name | controlled-data-protocol |
| description | 处理受控访问的人类数据(dbGaP、All of Us、UK Biobank、EGA、TCGA controlled)时的合规操作规程。当用户提到这些数据源、提到 TRE/RAP/Workbench、问"能不能用 AI 分析患者数据"、需要申请数据访问、或需要把分析提交进安全计算环境时使用。 |
| allowed-tools | Read, Write, Grep, Bash(python -m bridge.tre_submit) |
| disallowed-tools | mcp__biomni__*, mcp__pubmed__*, mcp__ot__*, WebFetch |
| model | opus |
| effort | high |
受控数据操作规程
⚠️ 本 skill 刻意用 disallowed-tools 切断所有 MCP 与 WebFetch。
处理受控数据时,任何外呼通道都是潜在的数据出境路径。
第一件事:回答"智能体能持有数据访问权吗?"
不能。每一道闸门都要求一个具名、承担法律责任的自然人。
dbGaP 的四个阶段:
- 具有个人 eRA Commons 账号的 PI 提交项目,含研究用途说明(2000 字符)
与(如适用)IRB 批准
- 机构的人类 Signing Official 批准
- 研究的 DAC 依据 consent-based Data Use Limitations 审查
(官方说法:"average DAC review is two weeks")
- 批准后才解锁下载
Model DUC 的两句关键约束(逐字):
- "Approved Users agree not to use the requested datasets, either alone or in
concert with any other information, to identify or contact individual participants"
- "agree not to distribute controlled-access datasets and Data Derivatives… to
any entity or individual not identified in the submitted DAR"
第二句就是为什么受控数据不能进 LLM API: 模型提供方不是 DAR 上列明的实体。
注意这是从合同结构推出的结论 —— dbGaP / NIH GDS / All of Us / UK Biobank
都没有专门针对 AI 智能体的条款(已明确查找,未找到)。所以这里采取保守解释。
智能体的合法位置: 作为 Approved User 在获批环境内操作的工具,
法律责任始终在人身上。
已经生效的安全要求(不是未来的事)
NOT-OD-25-159 引入基于 NIST SP 800-171 的要求。研究者自
2025-01-25 起应开始遵循,对所有新签或续签的 DUC 自 2026-02-25 起强制生效
—— 即今天已经是硬约束。受控数据必须存放在符合 NIST SP 800-171 的系统内。
NIH 的云立场:允许使用商业云,前提是在 DAR 中披露,但
"will hold the institution, not the cloud service provider, responsible for
any failure" —— 责任在机构,不在云厂商。
工作模式:代码进去,聚合出来
本地(智能体) TRE / RAP / Workbench(人)
───────────────── ──────────────────────────
1. 读 study-level 元数据 ──▶
(DUL、变量字典 —— 这些是公开的)
2. 写分析脚本 + 测试
(用合成 fixture 跑通)
3. make submit-tre(仅准备审核包)▶ 4. Approved User 审阅并通过机构渠道提交脚本
5. 在 enclave 内执行
6. 导出前过小计数抑制
8. 收 aggregate 结果 ◀── 7. 记录导出日志
make submit-tre 不会联网,也不会持有 TRE 凭据。它只在
.lab/tre_outbox/ 生成代码哈希、目标说明和 transport_performed: false
的人工审核包;真正的传输必须由具名 Approved User 使用机构批准的渠道完成。
关键点:第 2 步的测试必须用合成 fixture 跑通。不能"先看真数据再调代码"——
那既违反预注册,也需要人反复搬运中间结果,每一次搬运都是一次出境风险。
合成 fixture 放 tests/fixtures/,文件头必须有
# SYNTHETIC-FIXTURE: no real subject data(否则 PHI 嗅探 hook 会拦)。
各平台的具体约束
| 平台 | 关键约束 |
|---|
| All of Us | "No participant count of 1 to 20 can be published or distributed directly (a count of 0 is permitted)",且不得发布任何能反推出该计数的统计量。三层 tier,培训需年度续期。这是对自动生成表格/图形的硬约束 —— hook 会拦,但你应主动设计成合规形态 |
| UK Biobank | 个体级数据不可下载,必须在 RAP 内计算。⚠️ 申请当前处于暂停状态(RAP 变更),官方页面对重开时间说法不一("late 2026" vs "September 2026")—— 开始规划前先核实。Tier 费用(前 3 年)£3,000 / £6,000 / £9,000 |
| EGA | 每个 study 由其 DAC 起草专属 Data Access Agreement。Federated EGA 三层架构覆盖 14+ 个 ELIXIR 国家 |
| TCGA / GDC | controlled 层包含 BAM、FASTQ、germline VCF、Protected MAF |
| dbGaP | consent code 可叠加:GRU / HMB / DS-[disease] + NPU / IRB / PUB / COL / GSO。DS- 类限定疾病范围,跨病种再利用需要新的 DAR |
不需要凭据就能做的事(先把这些做完)
- NCBI E-utilities:无 key 3 req/s,免费 key 10 req/s。
必须带
email 与 tool 参数(可追溯性要求);大批量作业官方要求
放到周末或美东 21:00–05:00
- ENA API:50 req/s
- dbGaP study-level 元数据:DUL、变量字典 —— 公开,可用来设计分析
- Beacon v2:只返回变异的存在/不存在,用 ontology 编码查询
- ⚠️ Zenodo 已于 2025-11-25 加限(匿名 25 结果/页、30 req/min,因机器人抓取)
—— 与智能体直接相关
值得知道的 GA4GH 机制
- DUO —— 机器可读的 data-use permission,让 DAC 决策可部分自动化
- Passports / Visas (AAI) —— 跨机构的授权凭证
- htsget —— 流式读取而不下载整文件
- DRS —— 数据对象解析
- Five Safes RO-Crate(v0.5, 2026, TRE-FX 的一部分)——
把可执行请求 + 批准元数据打包供 TRE 执行。
这是目前最贴合"智能体在受控临床数据上工作"的标准,值得优先采用
一个必须说清楚的规制空白
基因组序列不在 HIPAA Safe Harbor 列举的 18 类标识符中(指纹、声纹是明文
列举的,序列不是)。所以一份剔除了 18 项的基因组在技术上可以算 Safe Harbor
去标识,同时仍近乎唯一可识别 —— Gymrek et al.(Science 2013)用 Y-STR
姓氏推断 + 年龄/州信息重识别了"匿名"的 1000 Genomes 参与者。
未找到 HHS/OCR 或 NIH 解决这一问题的正式声明。 把它作为已记录的规制空白
陈述,不要说成已定论。本实验室的做法是:去标识基因组按 L2 而非 L1 对待
(章程 §1),这是有意的保守选择。
不要做的事
- ❌ 不要把受控数据的任何字节读进上下文
- ❌ 不要把受控数据目录挂载给任何 MCP server
- ❌ 不要假设"已签 BAA"就能传 —— 第三方集成(MCP / connector /
Enterprise Search)不在 BAA 覆盖范围内,且 Claude Science 本身
明确不在 BAA 覆盖内
- ❌ 不要在 L2 场景下启用 web search 或任何联网工具