卓卓安Claw项目方案库
展示首页/方案库/产品与需求
产品与需求

卓安Claw 电子签适配层设计 v0.1

约 6 分钟·卓安Claw · 2026.11
本页目录
  1. 0. 结论摘要
  2. 1. 法律边界
  3. 2. 范围
  4. 2.1 V1 范围内
  5. 2.2 范围外
  6. 3. 架构
  7. 3.1 适配层接口
  8. 3.2 厂商无关原则
  9. 4. 数据模型
  10. 5. 签署流程
  11. 5.1 对外合同(厂商)
  12. 5.2 内部审批(自研)
  13. 5.3 线下签署(兜底)
  14. 6. 厂商准入清单
  15. 7. 安全与审计
  16. 8. V1 范围与降级
  17. 9. 验收用例
  18. 10. TBD

版本:v0.1(草案)
日期:2026-11-06
适用范围:内部审批签署、对外合同/委托书签署、CA 厂商适配、证据链
依据:《业务流蓝图 v0.1》《接口清单 v0.1》《待确认事项总表 v0.1》
状态:需求/设计草案,不改代码


0. 结论摘要

  1. 自研签署流程和证据链,不自研 CA 信任根。
  2. 内部审批(用章/报销/采购/费用/个人账发款):自研账号 + 企业微信确认 + 哈希 + 时间戳 + 审计即可。
  3. 对外合同/委托书:接有资质的 CA/电子签厂商(e签宝、法大大、上上签等),做厂商无关适配层。
  4. V1 厂商未就位时,走“线下签署 + 扫描上传 + 登记”,不阻塞业务。
  5. 哪些文件必须纸质原件,由卓安法务出清单;系统保留“纸质原件已收”登记。
  6. 可靠电子签名的法律边界要在合同/产品说明里写清楚,不能把“点一下确认”宣传成可靠电子签名。

1. 法律边界

《电子签名法》第 13 条的可靠电子签名,核心是:

  1. 签名制作数据用于签名时,属于签名人专有;
  2. 签署时,签名制作数据仅由签名人控制;
  3. 签署后,对签名的任何改动能够被发现;
  4. 签署后,对数据电文内容和形式的任何改动能够被发现。

结论: - 自研可以做“签署流程、身份确认、哈希、时间戳、证据链、审计”; - 但“专有控制”和“可信身份”最好由 CA 证书/可信时间戳锚定; - 对外合同不要用“自研点选签名”替代可靠电子签名; - 具体哪些文件可电子签、哪些必须纸质,由卓安法务确认。


2. 范围

2.1 V1 范围内

  • 内部审批签署(用章/报销/采购/费用/个人账发款)。
  • 对外合同/委托书/授权委托书的厂商签署流程(厂商就位后)。
  • 线下签署登记 + 扫描件上传。
  • 证据链:哈希、时间戳、签署人、IP/设备、审计。
  • 与案件、合同、归档打通。

2.2 范围外

  • 自建 CA。
  • 自建可信时间戳服务。
  • 法院/仲裁机构的电子提交。
  • 公章电子化的物理制作。

3. 架构

业务页面(合同/审批)
   │
[SignService 签署服务]
   ├─ EnvelopeService 信封/签署顺序
   ├─ IdentityService 身份校验(企业微信 + 短信/人脸,按厂商)
   ├─ ProviderAdapter 厂商适配
   │    ├─ VendorA Adapter
   │    ├─ VendorB Adapter
   │    └─ Offline Adapter(线下登记)
   ├─ EvidenceService 证据链(哈希/时间戳/存证)
   └─ CallbackService 回调/验签
   │
[Document/OSS] + [AuditLog]

3.1 适配层接口

方法 用途
createEnvelope 创建签署信封(文件、签署人、顺序、截止)
addSigner 添加签署人(姓名、手机、企业微信、身份信息)
send 发送签署
getStatus 查询状态
downloadEvidence 下载存证/签署报告
verify 验签
cancel 取消
handleCallback 处理厂商回调

3.2 厂商无关原则

  • 业务层只依赖 ESignProvider 接口,不直接调厂商 SDK。
  • 厂商字段映射在 Adapter 内完成。
  • 回调统一转成内部事件 esign.completed / esign.rejected。
  • 换厂商只改 Adapter,不改业务页面/合同流程。

4. 数据模型

对象 关键字段 说明
Envelope id, contract_id, case_id, status, provider, created_by 签署信封
Signer id, envelope_id, name, phone, wecom_userid, role, order, status 签署人
Signature id, signer_id, signed_at, ip, device, cert_serial, hash 签名记录
Evidence id, envelope_id, file_id, sha256, timestamp, provider_evidence_id 证据链
Certificate id, provider, subject, serial, valid_from, valid_to 证书信息
SignEvent id, envelope_id, event, at, payload 事件日志

状态机:

草稿 → 待发送 → 签署中 → 已完成 → 已归档
异常:已拒绝 / 已过期 / 已取消 / 验签失败

5. 签署流程

5.1 对外合同(厂商)

  1. 业务选择合同/模板,生成 PDF。
  2. 创建 Envelope,添加签署人(客户/律师/律所盖章人)。
  3. 身份校验(厂商能力:短信/人脸/企业微信)。
  4. 按顺序签署;每次签署写 Signature/Evidence。
  5. 厂商回调;验签;状态更新。
  6. 下载存证/签署报告;归档到案件/合同。
  7. 审计:谁发起、谁签、何时、什么设备、什么证书。

5.2 内部审批(自研)

  1. 审批单提交,附文件。
  2. 审批人企业微信确认 + 短信/密码二次确认(按安全等级)。
  3. 记录哈希、时间戳、审批人、IP/设备。
  4. 审批通过后生成带水印 PDF;归档。
  5. 审计可回放。

5.3 线下签署(兜底)

  1. 上传签字/盖章扫描件。
  2. 登记:签署人、日期、地点、原件份数、保管人。
  3. 标记“纸质原件已收/未收”。
  4. 归档;审计。

6. 厂商准入清单

项 要求
资质 CA 机构/电子认证服务许可;可靠电子签名能力
能力 实名认证、证书、可信时间戳、存证、验签、API/SDK
集成 企业微信/小程序;回调;批量签署
数据 境内存储;数据委托协议;删除/导出
合规 等保、ISO 27001、隐私政策
SLA 可用性、响应、故障赔付
商务 按份/按年/按席位;发票;试用
退出 存证可导出;换厂商可迁移

7. 安全与审计

  • 文件哈希 SHA-256;签署前后哈希比对。
  • 时间戳由厂商/可信时间源提供。
  • 证书序列号、签署人、IP、设备、时间入审计。
  • 下载水印;批量下载审批。
  • 证据链只追加,不修改。
  • 厂商回调验签;防重放(nonce/时间窗)。
  • 密钥/证书不落前端;服务端保管。

8. V1 范围与降级

场景 V1
内部审批签署 自研(企业微信确认 + 哈希 + 时间戳 + 审计)
对外合同 厂商(就位后);未就位走线下登记
委托书/授权书 优先纸质原件;电子签需法务确认
法院提交材料 按法院要求,不强制电子签
证据保全 厂商存证 + 本地哈希/归档

9. 验收用例

编号 用例 期望
ES-01 创建信封并发送 签署人收到通知
ES-02 签署人身份校验失败 不能签署;记录原因
ES-03 签署完成回调 状态更新;证据可下载
ES-04 文件被篡改 验签失败;告警
ES-05 重复回调 幂等;不重复归档
ES-06 厂商不可用 降级线下登记;不阻塞
ES-07 内部审批签署 审批人/时间/哈希可回放
ES-08 换厂商 只换 Adapter;业务无感

10. TBD

ID 事项 级别
E-04 CA/电子签厂商 B1
E-05 哪些文件必须纸质原件 B1
— 厂商报价/按份计费 B1
— 是否支持企业微信原生签署 B2
— 存证保留年限 B2

本文为设计草案,不构成法律意见;电子签合规性由卓安法务/合规最终确认。