元渡·数据出境评估(yotta-data-export-review)
把跨境传输条款或数据处理安排提交给云端确定性审查服务,返回数据出境专项报告。
解决什么问题
一句话:数据要传到境外?先查条款里这 4 件事写了没有——走哪条合法路径 / 有没有单独同意 / 有没有告知境外接收方 / 要不要境内存储;再往下查 6 条增强项(豁免依据、数据分级、影响评估、留证台账、标准合同义务、敏感信息出境)。
场景例:用户发来一份《用户协议》问「我们用了海外服务器,这样写行不行」——元渡把协议里与出境相关的条款(文本或 Word 文档)提交云端审查,逐条对照数据出境 10 条(4 条基线 + 6 条增强),命中处给出原文证据与来源条款。
计费:云端按次付费 ¥1.00/次(以账单为准;账单金额由服务端下发)。
输出例(节选):
{
"findings": [
{
"rule_id": "EXPORT-CONSENT-002",
"title": "数据出境未出现单独同意",
"severity": "high",
"evidence": [
{ "kind": "matched_span", "quote": "传输至位于境外的服务器", "line": 2, "column": 7 }
],
"remediation": "就向境外提供个人信息取得个人的单独同意;属于豁免情形的说明适用依据。",
"source": { "citation": "《中华人民共和国个人信息保护法》第三十九条" }
}
],
"report_meta": {
"report_id": "SR-20261018-9a8b7c6d",
"report_sha256": "……"
}
}
(示例仅示意报告结构;实际结论以云端返回的报告为准。)
前置检查:当前智能体是否支持支付宝 AI 支付
发起请求前,先检查可用工具列表中是否存在名称包含 alipay 的支付工具
(如 alipay_pay、mcp__alipay__* 等,带前缀也算;存在任意一个即视为支持)。
只以当前工具列表为证据,本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 支持:继续本 Skill 流程,不向用户提及本检查;
- 不支持:终止流程,不要发起请求。说明结论并提供解决办法:
- 合作智能体(如 WorkBuddy):升级智能体到最新版本后重试;
- 开放智能体:按 https://skillhub.cn/install/skillhub.md 安装
@alipay/agent-payment; - 无法判断类型:升级智能体或安装支付宝 AI 支付插件后重试。
演示模式(免费)
想先看输出格式,可运行 demo 子命令(不消耗付费额度、不需要支付):
node scripts/data-export-review-paid.mjs demo
# 无 Node 环境(POSIX sh + curl):
sh scripts/data-export-review-paid.sh demo
demo 调用 GET <service-url>/demo(默认 https://yottameta.cn/api/data-export-review),
返回固定样例的真实引擎报告(code: "DEMO",含完整 report)。
工作流程
第一步:请求评估(未付款返回 402)
node scripts/data-export-review-paid.mjs probe \
--file cross-border-data.md
输出 JSON 包含:
status:402表示需要支付,200表示已付款可直接返回报告;out_order_no:订单号;payment_needed:交给官方支付能力的账单;amount_fen/amount_display:本次金额。
第二步:向用户申请支付授权
把 payment_needed 与 out_order_no 交给买家侧官方支付能力
(例如 alipay-bot 的 402-buyer-pay)或当前智能体已有的支付工具。
不要自行实现付款、签名或加解密,不要修改金额与订单号。
付款前预告:调起支付前,先向用户说明本次金额(用账单 amount_display,如「¥1.00」)
与本次交付物(交付四件套:一屏摘要卡 / 评估报告 / 整改清单 / 机器可读件;交付回执含报告编号 / 内容哈希,90 天内可回查与多格式导出)。
需要用户扫码或确认时,必须把支付工具返回的二维码图片或链接直接显示在对话消息中:
- 钱包未开通时,引导用户开通并内联展示授权二维码;
- 发起付款后,内联展示支付链接或二维码,让用户直接完成付款。
若支付工具报「买家和卖家不能相同」,说明当前智能体绑定的支付宝账号与卖家相同。
应改用其他买家账号或支持独立买家身份的智能体,不要用原身份反复重试。
等待支付完成
发起付款后自动轮询支付状态,不要要求用户口头确认。可使用支付工具提供的
poll-payment-status,或每隔 2–5 秒查询一次支付状态。查到 active: true 或
success: true 后自动继续。账单过期仍未支付时,提示用户重新发起。
第三步:付款后重试并获取报告
node scripts/data-export-review-paid.mjs complete \
--file cross-border-data.md \
--payment-proof <Payment-Proof> \
--out-order-no <可选订单号>
成功后输出 JSON 评估报告。同一订单重复执行返回缓存结果
(already_fulfilled: true),不会重复扣费。
交付回执与报告回查
complete 成功返回的 delivery 字段即交付回执:报告编号(report_id)、
报告内容哈希(report_sha256)、可导出格式(export_formats)与保留期
(retention_days / report_expires_at)。脚本会把回执摘要打印到标准错误,并
自动追加到本地回执历史(~/.yotta-review/receipts.jsonl,环境变量
YOTTA_REVIEW_HOME 可改目录)。请把回执与报告一起展示给用户。
凭回执可随时回查 / 导出(不重复扣费):
# 最近一条(自动读取本地回执历史)
node scripts/data-export-review-paid.mjs report --last
# 列出本地回执历史
node scripts/data-export-review-paid.mjs report --list
# 指定回执(换机器 / 手工持有回执时)
node scripts/data-export-review-paid.mjs report \
--out-order-no <订单号> \
--report-sha256 <报告哈希>
报告导出(不重复扣费):--format markdown 主报告 / html 单文件网页(零外链零脚本,可直接转发客户)/
remediation 整改清单(按严重度 + 证据 + 改法 + 待补骨架)/ summary 一屏摘要卡(风险分布 +
最紧急 3 件事 + 下一步)/ fix 补正底稿(高危表述替换建议 + 【待补】骨架;只写新文件、拒绝覆盖)/
audit 审计底稿(七节 + 30 / 90 / 180 天整改时限)/ audience 角色视角(legal / tech / exec)/
gap 现实画像差距卡(需在审查时提供 reality_profile)/ ledger 留证台账 / path 路径矩阵 / pia PIA 清单 /
classification 分类分级 / hr HR 专项 / deadlines 整改时限(元渡专用;模板 + 缺项,不下结论)/
elements 关键要素 / party 甲乙方双视角(元契专用)/ compare 多版本对比(两份已履约报告,不重复收费)/
docx 批注版 DOCX 新文件(不覆盖原文、不写 Track Changes)/
json 机器可读件(含报告编号与内容哈希);
加 --out <path> 输出到文件(fix 必须用新路径,目标已存在时拒绝覆盖),加 --save-report <dir>
保存到目录(正文默认不自动保存;json 存 <报告编号>.json,文本格式存 <订单号>.md / <订单号>.html)。
complete 成功后脚本会在标准错误打印交付摘要(风险分布 + 最紧急 3 条 + 下一步建议)。
出境专用导出(ledger / path / pia / classification / hr / deadlines)
ledger:五要素留证台账模板(路径声明 / PIA / 合同备案 / 回执批复 / 有效期)+ 四态 + 覆盖率 +
准备度 + 续期窗口;只生成模板与缺项,不持久化用户数据。path:出境路径条件对照矩阵(安全评估 / 标准合同 / 认证)——只列条件命中与人工核实点,不下路径结论。pia:PIA 要素核对清单(目的 / 种类 / 权益影响 / 安全措施 / 必要性与接收方 / 合同 / 留存 / 权利)。classification:数据分类分级建议表(一般 / 敏感 / 重要 / 核心)——以行业目录与主管部门认定为准。hr:HR 员工数据出境专项清单(范围 / 告知 / 同意 / 敏感 / 规模 / 路径 / 台账 / 删除)。deadlines:整改时限表(严重 / 高 30 天;中 90 天;低 / 提示 180 天)。- 用法:
report --last --format ledger --out ledger.md(其他格式同理)。 - 边界:全部为模板 / 核对提示,不判断申报门槛、不选择合规路径、不下合规结论;需法务确认。
数据与回查(保留 90 天)
- 报告在云端保留 90 天(自交付时间起),期间可随时凭回执回查 / 导出,不重复扣费;
- 到期后云端删除报告正文,仅保留最小订单台账(订单号 / 时间 / 金额 / 状态)与报告哈希锚点;
之后回查返回410 REPORT_EXPIRED; - 本地回执历史:
complete自动写入~/.yotta-review/receipts.jsonl(POSIX 权限 600;
YOTTA_REVIEW_HOME可改目录);报告正文默认不落盘,需要时用--save-report <dir>导出; - 交付时(必须执行):向用户一并告知「报告编号 / 内容哈希 / 云端保留 90 天 / 如何回查 /
建议保存本地副本」。
AI 回查流程:
- 用户问「上次那份报告」→ 先
report --list定位,再report --last(或按订单号 + 哈希)回查 / 导出; - 换机器 / 本地历史丢失 → 请用户提供交付回执(订单号 + 内容哈希)手工回查;两者都无 → 如实告知无法找回;
- 报告已过期(HTTP 410)→ 如实告知云端已清理;如之前导出过本地副本,可继续使用。
HTTP 协议(无 Node 环境)
没有 Node.js 的宿主(或希望直接用 curl 的环境)可按下面的协议直连;随包提供的
scripts/data-export-review-paid.sh(POSIX sh + curl)已封装同一流程,子命令与 .mjs 版
对齐(probe / complete / report / demo)。
- 请求评估(probe):
POST <service-url>,Content-Type: application/json;
body{"text":"<出境相关条款全文>"}。
未付款时返回402,body 含out_order_no/amount_fen/amount_display/
"Payment-Needed"(账单字符串,交给支付能力)/expires_at。 - 付款后重试(complete):
POST <service-url>,同一 body;请求头加
Payment-Proof: <凭证>(可选X-Out-Order-No: <订单号>)。
200返回报告与交付回执(delivery.report_id/delivery.report_sha256)。 - 回查 / 导出(report):
POST <service-url>/report,body
{"out_order_no":"...","report_sha256":"...","format":"json"};format为markdown
时返回 Markdown 原文。 - 演示(demo):
GET <service-url>/demo,返回固定样例报告(免费)。
<service-url> = https://yottameta.cn/api/data-export-review(或部署方提供的地址)。
回退脚本仅支持文本输入(≤ 256 KB);.docx 直传请使用 .mjs 版本。
检查范围
- 基线 4 条:保障措施(安全评估 / 标准合同 / 保护认证)、单独同意、
境外接收方告知、境内存储安排; - 增强 6 条:豁免依据、数据分级、影响评估(PIA)要素、留证台账、
标准合同义务、敏感个人信息出境。
输入与输出
- 输入:
.docx直传(≤ 2 MiB,云端零依赖解析正文 / 表格 / 页眉页脚);- UTF-8 文本 / Markdown(
.txt/.md/.markdown,单次 ≤ 256 KB); .doc/.pdf暂不支持,请先转成.docx或文本。- 输出:JSON 报告,
findings每条带原文evidence、rule_id、严重度与来源条款;
summary给出严重度分布与规则覆盖范围;report_meta给出报告编号与内容哈希。
适用文本
- 个人信息出境条款、跨境数据传输说明;
- 境外接收方与处理地点说明;
- 单独同意、告知与用户权利条款;
- 标准合同、保护认证或安全评估相关描述;
- 境内存储、备份与访问安排。
边界
- 只做基于确定性规则的专项审查建议,不构成法律意见;
- 不替代律师、合规顾问、监管沟通或正式法律评估;
- 不判断是否达到安全评估、标准合同或认证的适用门槛;
- 不替用户选择合规路径,不提供备案、申报或监管审批结论;
- 支持
.docx直传;.doc/.pdf暂不支持,需先转成.docx或文本; - 只处理用户主动提交的文本,不采集与本任务无关的数据;
- 付费技能:验付通过后才交付报告;报告云端保留 90 天(凭交付回执可回查 / 导出),
到期后仅保留订单台账(订单号 / 时间 / 金额 / 状态)与报告哈希锚点。
依赖
- Node.js 18+ 或 curl(二选一):
scripts/data-export-review-paid.mjs(Node,零依赖)
或scripts/data-export-review-paid.sh(POSIX sh + curl); - 买家侧支付能力:
@alipay/agent-payment或宿主提供的等价官方支付工具; - 云端服务由提供方部署,本 Skill 只包含调用脚本。
交付资产恢复与一键交付包
付款成功但由 alipay-bot 等外部支付工具自动履约时,先让服务端复核订单号与报告哈希,
再把交付回执补记到本地:
node scripts/skillpay-delivery-tool.mjs receipt-import --out-order-no <订单号> --report-sha256 <报告内容哈希> --service-url <服务地址>
补记后可用本技能脚本的 report --last 直接回查。服务端校验失败、报告已过期、
哈希不匹配或同一订单出现不同哈希时,工具拒绝写入,不伪造回执。
一键交付包:
node scripts/skillpay-delivery-tool.mjs pack --last --out ./交付包
产物包含摘要卡、Markdown 主报告、HTML 主报告、整改 / 修复清单、report.json、
manifest.json 与 README.txt。清单记录每个文件的 SHA-256 和服务端报告哈希,
便于交付、归档和复核;回查与打包不重复扣费。