documenso/documenso

Documenso

从文档发送到签署审计,学习高信任 SaaS 的边界设计

难度
较难
适合
进阶
主要语言
TypeScript
GitHub
14.3k
许可证
AGPL-3.0
快照日期
2026年8月9日

先判断要不要学

这个项目值得拆什么?

Documenso 是开源电子签名平台,涉及 PDF 显示与修改、收件人角色、邮件交付、签名证据、审计日志、团队和支付。当前仓库采用 React Router v7、Hono、Prisma、tRPC 与 TypeScript PDF 工具链,并提供 ARCHITECTURE.md。

  1. 01

    文档状态机、收件人权限与审计记录是高信任产品的典型案例。

  2. 02

    将 PDF 渲染、操作与签名库分开,适合学习复杂文件管道。

  3. 03

    架构、代码风格、签名和安全文档较齐全。

可以学什么

不只是看代码,而是找到产品的骨架

  • 学产品结构
  • 学数据库
  • 学用户登录
  • 学支付
  • 学完整项目组织
  • 学部署
01

签署状态机

跟踪 document、recipient、field 与 signature 状态,理解多参与者流程。

apps · packages · ARCHITECTURE.md
02

PDF 处理与业务审计分层

区分 PDF 字节操作、可视化定位、签名证据和审计日志。

packages · apps · SIGNING.md
03

事务邮件与幂等事件

观察邀请、提醒、完成邮件如何与真实文档状态对齐。

packages/email · apps · packages/prisma

三段学习路径

从理解、修改到做出你的版本

0130 分钟先跑通

画出最小签署流

  1. 读 README 与 ARCHITECTURE.md
  2. 列出 sender/recipient/document/field/signature
  3. 标注邮件与审计节点

完成标志:一张多参与者状态图。

022 小时动手改

设计不处理真实 PDF 的签署原型

  1. 用合成文档定义收件人顺序
  2. 实现状态迁移
  3. 生成审计事件
  4. 测试重复签署与错误收件人

完成标志:一个可测试状态机。

031 天做变体

增加可验证的文档产物

  1. 只使用合成 PDF
  2. 定义字段坐标与类型
  3. 将签署事件与输出文件 hash 关联
  4. 测试篡改、重放、越权与邮件失败

完成标志:一个不宣称法律合规、但技术证据链可解释的签署样片。

评分解释

每一分都要说清楚为什么

可复刻性12 / 25
12 / 25

外部服务与高信任要求导致复刻成本高。

文档与代码清晰度18 / 20
18 / 20

架构、签名与安全文档良好。

新手学习价值10 / 20
10 / 20

适合进阶者,不适合第一个项目。

产品完整度15 / 15
15 / 15

签署 SaaS 链路完整。

vibe coding 代表性6 / 10
6 / 10

适合学习高风险产品不能只靠生成。

活跃度5 / 5
5 / 5

持续发布与维护。

新颖性5 / 5
5 / 5

PDF 签名与审计链具鲜明差异。