commercial-saas-msa-review · git:20260529.efece30 · 2026-05-29 · sha256 edf1ec00c581db2a

commercial-saas-msa-review git:20260529.efece30A

Immutable. This exact content is served forever at /api/v1/blob/edf1ec00c581db2a.

---
name: commercial-saas-msa-review
description: >
  参考:SaaS订阅协议审查,重点关注订阅交易中最关键的条款——自动续约机制、
  价格调整、数据可迁移性、运行时间SLA以及再处理者权利。当 commercial-review
  检测到SaaS或订阅协议时加载。
user-invocable: false
---

# SaaS / 订阅协议审查

## 事项上下文

**事项上下文。** 检查业务领域级 CLAUDE.md 中的 `## 事项工作区`。如果 `Enabled` 为 `✗`(法务用户的默认值),跳过本段其余内容——技能使用业务领域级上下文,事项机制不可见。如果已启用且没有活动事项,询问:"这是哪个事项的?"加载活动事项的 `matter.md` 获取事项特定上下文和覆盖设置。

---

## 目的

SaaS协议的风险画像与一次性供应商合同不同。金额随续约累积,数据不断积累,切换成本每月都在增长。本技能以此为核心进行审查。运行标准审查指引检查并叠加SaaS专项审查层。

## 管辖假设

SaaS条款对法域敏感。中国法下,SaaS服务协议受《民法典》合同编(第463条以下 `[元典法规]`)调整,数据安全问题受《个人信息保护法》《数据安全法》《网络安全法》三部法律共同规制 `[元典法规]`。如果协议选择不同的管辖法律,或交易跨越有法定优先规则的法域,请标注——分析可能不能照搬。

> **不得无声补全。** 研究查询返回结果很少时,报告查询到的情况并停止。不要未经询问就从网络搜索或模型知识填补空白。由律师决定是否接受较低置信度的来源。
>
> **来源归属。** 引用法规、规章或案例时标注来源:`[ft_info — 法条精确]`、`[law_vector_search — 语义检索]`、`[qwal_search — 权威案例]`、`[kb_sfgd — 最高法司法观点]`、`[kb_xzcf_2025 — 新仲裁法解读]`、`[联网检索 — 需复核]`、`[模型知识 — 需核验]`、`[user provided]`。

## 加载审查指引

**哪一方?** 在适用审查指引之前,确定公司在此SaaS协议中处于哪一方。通常很明显:如果对方是向你销售其平台的SaaS供应商,你是采购方。先阅读审查指引,运行来自供应商协议审查技能的所有标准检查。然后查找 `SaaS立场` 部分。

**审查指引未涵盖该条款时的处理。** 如果协议包含审查指引中未涉及的条款(如新型AI使用授权、边缘计算条款、主权云要求),不要静默跳过。询问律师:

> 你的审查指引未涵盖 [条款名称]。你的立场是什么——何时可接受,何时需要推回?我会将答案记录入审查指引,以便下次审查保持一致。

然后将答案追加至 `$LEGAL_AGENT_PROFILE_HOME/commercial-legal/profile.md` 相应部分,并以新立场继续审查。

## SaaS专项审查层

对于以下每个类别,列出合同中找到的内容并与团队立场进行对比。不要使用硬编码阈值。

### 1. 自动续约机制

检查:续约期限长度、取消通知窗口、通知方式、续约价格机制(是否有涨价上限或恢复标价条款)。

**提取并记录**确切的续约日期、通知窗口和通知送达要求,为续约追踪器提供数据。注意区分:
- **取消截止日**(通知须送达对方的最后日期)
- **发送截止日**(为确保送达,须*发出*通知的日期——通常更早)

**引用纪律:** 引用续约和通知条款时,引用**完整的附条件句子**。"除订单表单另有明确规定外,促销价或一次性定价订阅的续约价格恢复标准价"与"续约价格恢复标准价"含义不同——截断删去了例外,可能导致误解。

### 2. 价格调整

检查:年度调价幅度(是否有CPI/行业指数上限)、超量使用计费方式、"费用"的定义范围(是否包含实施费、支持费、集成费)、多年合同的分阶段定价锁定。参照《民法典》第470条关于合同内容的规定 `[元典法规]`。标注无上限定价风险(审查备注和利益方摘要中均须标出)。

### 3. 数据可迁移性和退出

检查:导出格式(是否为行业标准格式还是专有格式)、导出可用性(是否需要额外付费)、终止后数据访问期限、删除证明的形式和时限、用户生成内容所有权。

中国法下,《个人信息保护法》第47条规定了个人信息处理者应在特定情形下主动删除个人信息 `[元典法规]`;第44条规定个人有权请求查阅、复制、转移其个人信息 `[元典法规]`。如果服务涉及个人信息,供应商须在合理期限内提供可转移的导出。

### 4. 运行时间和SLA

仅当业务真正依赖该服务保持运行时检查。检查:运行时间承诺百分比及测量周期(月度还是年度)、运行时间排除项(计划维护、不可抗力、客户端问题)、故障补救措施(服务积分还是实际损害赔偿)、服务积分请求程序和时限、**服务积分是否受责任上限约束**(如果是,实际补救价值极低)。

### 5. 再处理者

根据《个人信息保护法》第21条、第23条,委托处理个人信息需告知并取得同意,向第三方提供需单独同意 `[元典法规]`。

检查:当前再处理者列表是否公开可获取;新增再处理者的提前通知期;是否有反对权及行使后果(终止权还是仅反对权);再处理者变更通知是否自动视为同意。如果供应商未披露再处理者名单,这本身是一个🟠高风险发现。

### 6. 服务变更和功能弃用

检查:重大不利变更的定义和通知要求;功能弃用通知期(通知期不足可能构成合同违约);替换功能的"实质等效"标准;定价变更是否触发终止权。

## AI和机器学习权利

**AI/ML数据权利判定流程。** 逐一排查七个维度:

1. **明确授权。** 合同是否明确授予供应商AI训练权利?采购方通常是拒绝项。
2. **通过政策隐含授权。** 合同是否通过引用纳入隐私政策?能否通过单方政策更新增加训练权利?
3. **匿名化标准。** 供应商声称的"匿名化"标准是什么?参照GB/T 35273-2020关于匿名化和去标识化的技术标准。
4. **竞争污染。** 供应商是否为竞争对手服务?是否有竞争隔离承诺?
5. **退出范围和持久性。** 退出选项是否涵盖所有AI使用?是否在续约后仍有效?
6. **输出所有权。** 谁拥有AI生成的输出?供应商能否将输出用作训练示例?
7. **下游监管链。** 供应商使用你的数据训练AI是否为你带来监管风险?中国法下参照《生成式人工智能服务管理办法》。

将每项与审查指引立场匹配。如果协议对全部七项都没有规定,这仍然是一个发现。

## 责任上限判定流程

**上限金额是责任上限中最不重要的部分。** 逐一明确四个维度:

1. **直接损害 vs. 间接/附带损害。** 分别说明两种损害类型的处理方式。供应商通常排除间接损害赔偿——检查排除范围是否合理,是否排除了在SaaS故障场景下实际可能发生的损失(如业务中断损失、数据恢复成本)。

2. **上限基数——逐字引用。** "12个月上限"可能意味着多种不同计算方式。引用精确语言:是"索赔发生前12个月已付费用"还是"当前订单项下应付总费用"还是"过去12个月平均月费×12"?基数定义不同,实际可追偿金额可能相差一个数量级。

3. **上限与例外排除的互动。** 列举哪些索赔在上限之上(例外排除,如数据安全事件、知识产权赔偿、重大过失),哪些受上限约束。评估:SaaS场景下最可能发生的索赔是否在上限保护范围内?

4. **审查指引在每个维度上的立场。** 对照审查指引逐维度比较。如果审查指引只有一个"标准立场"字段,建议拆分为直接损害/间接损害/例外排除/基数四个子字段分别记录立场。

## 法域差异检查

中国法下核心规则——调用 `ft_info` 取法条原文,标注 `[ft_info — 法条精确]`:
- 《民法典》第506条明确无效的免责条款
- 《民法典》第584条可预见规则和第591条减损规则
- 竞业限制适用《劳动合同法》第23-24条

**仲裁条款专项核查:** SaaS协议常见仲裁条款。调用 `kb_xzcf_2025` 核实仲裁条款是否符合2025年新仲裁法要求(仲裁机构明确性、仲裁协议独立性、保全措施衔接),标注 `[kb_xzcf_2025 — 新仲裁法解读]`。如发现仲裁机构名称不明确或约定"由当地仲裁委员会仲裁"(无法确定唯一机构),标注为 🟠 高风险——仲裁条款无效将导致须另行诉讼,浪费已付仲裁程序成本。

## 修订粒度

默认选择能达到审查指引立场的最小编辑。按六级优先级从小到大选择:

1. **替换一个词语** — 最小改动,对方重读成本最低。("三十(30)天" → "六十(60)天")
2. **替换一个短语** — 保留句子结构,仅改动关键措辞。
3. **重构一个子条款** — 增加编号分项拆分复合条件。
4. **替换一句话** — 当整句无法通过词语或短语级编辑达到立场时。
5. **替换整个条款** — 仅当变更范围过大,精准编辑比重新起草更难读懂时。此时在转达函中说明。
6. **建议使用我方模板** — 仅当协议整体结构与我方立场不兼容时。

有疑问时,选更小的。

## 输出

使用供应商协议审查备忘录结构,在标准审查指引检查之后增加SaaS特定部分。

**双轴严重程度。** 每个SaaS特定发现携带两个轴:
- **法律风险:** 🔴严重 | 🟠高 | 🟡中 | 🟢低
- **商业摩擦:** 🔴阻碍交易 | 🟠减缓交易 | 🟡困扰客户 | 🟢不可见

```markdown
### 底线

[可以签 / 需要争取 / 退出]

### AI和机器学习权利

[#1新兴SaaS谈判点。标注七个维度的发现。]

## SaaS特定发现

### 自动续约
**续约日期:** [日期]
**通知窗口:** [详情]
**续约价格机制:** [按原文]
**审查指引匹配:** [在立场内 / 偏离 / 未涉及]

### 价格调整
[对照审查指引立场的发现]

### 数据退出
[发现——业务负责人应阅读此项]

### SLA
[发现,或"已跳过"]

### 再处理者
[对照审查指引立场的发现]

### 服务变更
[对照审查指引立场的发现]
```

## 交接

**给续约追踪器:** 当找到续约日期和通知窗口时,准备以下格式的交接数据并传递给续约追踪器(模式1):

```yaml
counterparty: "[对方当事人名称]"
agreement: "[协议标题]"
signed_date: "[ISO日期]"
current_term_end: "[ISO日期]"
renewal_mechanism: "[按合同原文,如:自动续约年度,提前60日书面通知可取消]"
notice_period_days: [天数]
notice_method: "[书面通知/邮件/挂号信——按合同约定]"
transit_buffer_days: [建议缓冲天数,根据通知方式确定]
price_on_renewal: "[按合同原文,如:按届时适用标准价目表 / 涨价不超过CPI+5%]"
annual_value: [年度金额,单位:元]
business_owner: "[业务负责人联系方式]"
```

续约追踪器将运行工作日回退流程计算 `cancel_by_effective` 和 `send_by_effective`,展示计算结果请用户确认后写入登记册。

**给上报标注器:** 如果任何SaaS特定检查命中"永不接受"或上报触发列表,由 `commercial-escalation-flagger` 技能路由,生成正式上报草稿。

## 关于什么该争取的说明

根据合同价值和切换成本进行校准。每年5000元且有容易替代方案的工具,相较于每年500,000元且将在此基础上构建的平台,处理力度更轻。

## 以下一步行动决策树收尾

以 CLAUDE.md `## 输出` 中的下一步行动决策树收尾。决策树是输出;律师选择。