CryptPad 介绍与选型指南
CryptPad 端到端加密协作办公套件的定位、双域沙箱与零知识架构边界解析,与 Google Docs、OnlyOffice、Etherpad、Skiff 的量化选型对比,全部结论标注官方来源与查询日期。
CryptPad 介绍与选型指南
目标:本文面向需要在自建服务器上落地「隐私优先」在线协作平台的运维与架构人员,系统介绍 CryptPad 的定位、端到端加密架构、功能边界与同类方案量化对比。本文全部结论来自官方站点、官方仓库与官方文档的联网溯源(逐条标注来源与查询日期 2026-10-22),不含未经实测的部署结论;生产级部署实操见 《CryptPad 2026.5.1 Docker Compose 部署指南》,配置项逐项解读见 《CryptPad 2026.5.1 配置参数详解》,服务端管理命令见 《CryptPad 2026.5.1 常用 CLI 命令与工具详解》。
一、环境信息(资料来源与查询日期)
本文为认知与选型篇,所有事实均于 2026-10-22 从下列官方渠道联网取证,未引入第三方评测结论:
| 来源 | 地址 | 用途 |
|---|---|---|
| 官方站点 | https://cryptpad.org | 产品定位、应用套件清单、用户画像 |
| 官方源码仓库 | https://github.com/cryptpad/cryptpad | 版本发布、许可协议、社区数据、配置文件注释 |
| 官方文档站 | https://docs.cryptpad.org | 用户指南、管理员指南、硬件与软件要求 |
| 官方镜像仓库 | https://hub.docker.com/r/cryptpad/cryptpad | 官方镜像版本节奏 |
版本实查结果(查询日期 2026-10-22):
- GitHub 仓库最新稳定版 Release 为 2026.10.0(「Autumn Release」,发布于 2026-10-21),来源:https://github.com/cryptpad/cryptpad/releases/tag/2026.10.0 ;
- 官方镜像仓库最新已发布版本标签为 version-2026.5.1(2026-05-26 更新),
version-2026.10.0标签当日尚不存在(HTTP 404),来源:https://hub.docker.com/v2/repositories/cryptpad/cryptpad/tags/ ; - 即:源码最新版(2026.10.0)领先于镜像最新版(2026.5.1),选型部署时以镜像仓库实际可拉取的版本标签为准。本系列部署、配置与命令三篇均基于 2026.5.1 实测。
二、软件概述
2.1 一句话定位
官方站点首页对 CryptPad 的定义为:「CryptPad is a collaborative office suite that is end-to-end encrypted and open-source.」(CryptPad 是一套端到端加密的开源协作办公套件,来源:https://cryptpad.org ,查询日期 2026-10-22)。它可以理解为「自带加密云盘的在线 Office」,覆盖文档协作、文件存储、表单收集、日历与团队协作等日常办公场景。
2.2 身份与维护方
| 维度 | 事实 | 来源(查询日期 2026-10-22) |
|---|---|---|
| 软件性质 | 开源免费软件,可自建私有实例,官方同时运营公共实例 cryptpad.fr | 官方站点 https://cryptpad.org |
| 维护方 | XWiki SAS 及社区贡献者(文件头署名 XWiki CryptPad Team contact@cryptpad.org) | 仓库源码文件版权头 / docker-compose.yml 注释 |
| 开源许可 | AGPL-3.0(仓库 License 徽章实测值,与源码 SPDX 头 AGPL-3.0-or-later 一致) | https://img.shields.io/github/license/cryptpad/cryptpad.json |
| 技术栈 | 服务端 Node.js(官方文档要求 Active LTS 版本并附带 NPM),客户端浏览器内 JavaScript 加密 | 官方文档「Software」节 https://docs.cryptpad.org/en/admin_guide/installation.html |
| 版本节奏 | 季度大版本:2024.12.0 → 2025.3.x → 2025.6.0 → 2025.9.0 → 2026.2.x → 2026.5.x → 2026.10.0 | Docker Hub 标签更新时间与 GitHub Releases 页对照 |
2.3 社区活跃度(shields.io 徽章实测值,查询日期 2026-10-22)
💡 说明:GitHub 星数等社区指标通过 shields.io 徽章接口取证(如 https://img.shields.io/github/stars/cryptpad/cryptpad.json ),避免直连 GitHub API 触发限流;以下均为徽章返回的实测原值。
| 指标 | 实测值 | 徽章接口 |
|---|---|---|
| Stars | 8k | img.shields.io/github/stars/cryptpad/cryptpad.json |
| Forks | 866 | img.shields.io/github/forks/cryptpad/cryptpad.json |
| 贡献者 | 104 | img.shields.io/github/contributors/cryptpad/cryptpad.json |
| Open Issues | 308 | img.shields.io/github/issues/cryptpad/cryptpad.json |
| 最近提交 | today(当日仍有提交) | img.shields.io/github/last-commit/cryptpad/cryptpad.json |
结论:CryptPad 是一个持续高频维护的中型开源项目——星数中等但提交活跃(最近提交为当日)、贡献者过百、Issue 有持续响应,作为长期自建依赖的风险可控。
三、核心架构
3.1 双域沙箱架构(理解 CryptPad 的钥匙)
CryptPad 的服务端把内容拆到两个不同源的域名上提供:main domain(主域)承载账户密码与加解密逻辑,sandbox domain(沙箱域)仅加载用户界面。官方仓库 config/config.example.js 对该机制的原注释为:账户密码与加密内容在主域处理,用户界面在沙箱域加载,沙箱域只能访问主域主动共享的信息;当界面代码出现 XSS 漏洞时,该体系可阻止攻击者借界面漏洞拿到账户凭据(来源:github.com/cryptpad/cryptpad 仓库 config/config.example.js 头部注释,2026.5.1 版实查)。
由此带来两个工程后果,官方注释原话点明:
- 「Most problems with new instances are related to this system blocking access because of incorrectly configured sandboxes.」——新实例的绝大多数问题都源于沙箱域配置错误,典型症状是页面白屏(同上来源);
httpSafeOrigin必须与httpUnsafeOrigin不同源,生产环境必须为沙箱提供一个独立域名或子域名(同上来源)。
3.2 端到端加密与「零知识」架构边界
「零知识(zero-knowledge)」是 CryptPad 的核心卖点,但它的边界必须写清楚,避免过度承诺:
| 层面 | 事实 | 来源(2026-10-22 实查) |
|---|---|---|
| 文档内容 | 加解密在浏览器端完成,密钥包含在文档链接片段(# 之后)中,服务器存储的是密文 | 官方站点/文档总体描述 + 仓库架构注释 |
| 服务器可见信息 | 密文块、块尺寸、访问时间等元数据;默认不记录用户 IP(logIP 默认 false,开启后按合规要求记录) | 仓库 config/config.example.js 中 logIP 参数注释原文 |
| 账户体系 | 注册不强制邮箱;账户由加密密钥对标识(文档「No unique usernames」亦说明用户名非唯一标识) | 官方文档 User Guide → Security 章 https://docs.cryptpad.org/en/user_guide/security.html |
| 管理员能力 | 自建实例的管理员能看到服务器层面的一切(日志、密文、磁盘),但读不出文档明文;官方同时提醒「即便主机被攻破,泄露的有用信息也已被架构最小化」,并要求管理员自行承担主机加固(禁 SSH 密码登录、及时打补丁、控制访问人数等) | 官方文档管理员指南「Warning」节 https://docs.cryptpad.org/en/admin_guide/installation.html |
| 传输安全 | 生产实例必须 HTTPS(非 443 端口或明文 HTTP 仅适合本机开发) | 仓库 config/config.example.js 中 httpUnsafeOrigin 参数注释原文 |
💡 技术拓展:「端到端加密(E2EE)」与「传输加密(TLS)」「静态加密(at-rest encryption)」是三层不同承诺——TLS 只保证链路上第三方读不到,静态加密只保证磁盘偷走读不到,两者场景下服务端仍持有明文;E2EE 则保证服务端也只持有密文。协作类产品中 Google Docs 仅做前两层,OnlyOffice DocumentServer 服务端处理明文,Etherpad 数据明文落库,CryptPad 是四者中唯一默认 E2EE 的(各产品架构为公开事实,详见第七章对比表)。本文介绍的 CryptPad 采用 E2EE 路线,理由是其目标用户(记者、律所、医疗援助 NGO 等,见官方站点用户证言区)对「服务端不可读」有硬性要求。
3.3 数据存储模型
服务端把数据拆成多个目录落盘(来源:仓库 config/config.example.js 的 DATABASE VOLUMES 段注释,2026.5.1 实查):
| 目录 | 职责(官方注释原意) |
|---|---|
datastore/ | 每个协作文档(pad)以单个文件存储 |
blob/ | 用户上传的加密文件块(blob-store) |
block/ | 用户认证块(登录凭据派生) |
data/pins/ | 注册用户「钉住(pin)」文档的引用记录 |
data/archive/ | 删除数据的归档区(默认保留 15 天后由脚本清理) |
data/tasks/、data/logs/、data/decrees/、data/blobstage/ | 定时任务、磁盘日志、操作 decree、上传暂存 |
这一模型决定了备份策略=整目录快照,也决定了磁盘占用与「钉住配额」的治理方式( inactive 文档默认 90 天未钉住即过期,来源同上)。
四、功能特性
4.1 应用套件清单(官方文档 User Guide 与仓库构建日志交叉印证)
CryptPad 内置的协作应用覆盖「文档 + 云盘 + 协作流程」三层(来源:https://docs.cryptpad.org/en/ 目录结构 与 仓库构建脚本输出的应用清单,2026-10-22):
- 文档编辑类:Rich Text(富文本)、Code(代码)、Markdown 渲染、Slide(幻灯片)、Sheet/Doc/Presentation(基于 OnlyOffice 的表格/文档/演示三件套,不随主程序捆绑,需单独安装,来源:官方文档 OnlyOffice (optional) 节);
- 协作流程类:Kanban(看板)、Form(表单)、Poll(投票)、Calendar(日历)、Whiteboard(白板)、Diagram(图表);
- 存储与社交类:CryptDrive(加密云盘,含历史版本、标签、模板、配额展示)、Teams(团队盘,成员角色权限)、Contacts(联系人)、Chat(加密聊天)、Profile(个人资料)。
4.2 安全特性
- 文档与文件夹可设二级密码(官方文档 User Guide → Security → Passwords for documents and folders);
- 支持阅后即焚文档(Self-destructing documents)、远程断开登录会话(Remote Disconnect);
- 账户可启用 OTP/TOTP 多因素认证,管理员可强制(
enforceMFA参数,来源:仓库 config 注释); - 支持对接企业 SSO 登录(OIDC/SAML,配置样例见仓库
config/sso.example.js,2026.5.1 实查); - 实例内置管理面板,凭管理员公钥(
adminKeys)授权访问。
五、快速开始(最小可用示例)
5.1 官方推荐安装路径(转述自官方文档,未在本文实测)
以下步骤转述自官方文档管理员指南(https://docs.cryptpad.org/en/admin_guide/installation.html ,查询日期 2026-10-22),本文不对其逐条验证;生产级实测流程见本系列部署篇:
- 硬件最低要求(官方原文):2 GB 内存、2 CPU、20 GB 磁盘(视用量增加),官方团队使用 Debian 12 开发;
- 软件前置:Git、Node.js(Active LTS,建议用 NVM 管理)、(可选)Docker 引擎;
- 源码安装主线:
git clone -b <版本tag> --depth 1 https://github.com/cryptpad/cryptpad.git cryptpad→npm ci→npm run install:components→ 复制config/config.example.js为config/config.js并改域名 →node server.js启动; - OnlyOffice 三件套(可选):官方已不再捆绑,需执行仓库附带的
./install-onlyoffice.sh安装; - 生产部署:官方文档同时提供源码安装与容器安装两条路径,并在仓库中给出 NGINX 反向代理样例(
docs/example.nginx.conf)。
5.2 官方部署支持立场(选型必读)
仓库 config/config.example.js 的 DISCLAIMER 原文明确:官方仅正式推荐「独立 Node.js 服务器(本地开发)」与「NGINX 处理 HTTPS 与 WebSocket 反代」两种运行方式,不正式推荐也不支持 Apache、Docker、Kubernetes、Traefik 等其他配置,相关支持请求应转向对应工具的社区(来源:2026.5.1 源码原文,查询日期 2026-10-22)。
同一仓库又长期维护官方镜像与 docker-compose.yml(来源:仓库根目录 compose 文件)。选型解读:镜像可用且官方出品,但容器化路径遇到问题时官方支持渠道有限——这是评估「出问题找谁」时必须计入的成本。本系列部署篇按官方 Compose 方案完整实测并沉淀排障实录,可作为该路径的补位参考。
六、适用场景与限制
6.1 典型适用场景(官网用户证言区归纳,来源 https://cryptpad.org ,2026-10-22)
- 隐私敏感协作:官网证言区收录了法国国民教育(Education Nationale)、德国海盗党(Piratenpartei Deutschland)、危机地区医疗援助 NGO 等机构用户,共同关键词是「加密、匿名、无追踪」;
- 内部知识库与轻办公:云盘 + 富文本 + 看板 + 表单的组合足以支撑中小团队日常;
- 对外安全收集:Form 表单天然端到端加密,适合问卷、报名、敏感信息收集。
6.2 已知限制(全部来自官方源,逐条标源)
| 限制 | 事实与来源(2026-10-22) |
|---|---|
| OnlyOffice 不捆绑 | 表格/文档/演示三件套需单独执行安装脚本(官方文档 OnlyOffice (optional) 节) |
| 双域配置门槛 | 沙箱域配置错误直接导致白屏,生产需两个不同源域名(仓库 config 注释原文) |
| 强依赖安全上下文 | 生产必须 HTTPS;明文 HTTP 仅适合本机开发(config 注释原文) |
| 单文件上传上限 | 默认 20 MB(maxUploadSize 默认值,config 注释原文),可调但受反代 client_max_body_size 约束 |
| 未钉住数据默认过期 | 未被任何注册用户钉住的文档默认 90 天后被清理(inactiveTime 默认值,config 注释原文) |
| 官方支持范围 | 不正式支持 Docker/K8s 等部署形态(config DISCLAIMER 原文,见 5.2) |
七、同类选型对比(量化)
7.1 对比表(数据来源与查询日期见行内标注)
| 维度 | CryptPad | Google Docs | OnlyOffice(DocumentServer) | Etherpad | Skiff |
|---|---|---|---|---|---|
| 定位 | E2EE 协作办公套件 + 加密云盘 | 通用在线文档套件(SaaS) | 自托管在线 Office(文档/表格/演示) | 实时协同纯文本编辑器 | 隐私优先邮件 + 文档套件 |
| 内容加密 | 端到端加密,服务端仅密文 | 无 E2EE,明文在服务商侧 | 无 E2EE,服务端处理明文 | 无存储加密,明文落库 | 曾主打加密,已停服 |
| 部署形态 | 自建 / 公共云(cryptpad.fr) | 仅官方云 | 自建 / 云服务 | 自建为主 | 仅官方云(已终止) |
| 开源许可 | AGPL-3.0(shields.io,2026-10-22) | 闭源 | AGPL-3.0(仓库声明) | Apache-2.0(仓库声明) | 部分开源,已关闭 |
| GitHub Stars | 8k(shields.io 实测) | 不适用(闭源) | 7k(shields.io 实测) | 19k(shields.io 实测) | 不适用 |
| 最新版本 | 2026.10.0(2026-10-21 发布) | SaaS 持续更新 | 持续更新 | 持续更新 | 2024-08-09 停服 |
| 维护方 | XWiki SAS + 社区 | Ascensio System SIA / 社区 | ether 社区 | Notion(收购后终止) | |
| 编辑能力 | 富文本 + OnlyOffice 三件套(需另装) | 最完整 | 桌面级 Office 兼容 | 仅纯文本 | 曾覆盖文档 |
| 适用前提 | 双域名 + HTTPS | 无 | 自建需 Middle-Tier 或直连 | 无双域要求 | 无 |
7.2 选型解读(如何用这张表)
- 核心硬指标是「服务端是否可见明文」:只有 CryptPad 做到端到端加密;如果这一条不是硬需求,编辑体验与生态更成熟的 OnlyOffice / Google Docs 反而是更省心的选择;
- 「要重 Office 编辑 + 自建」→ OnlyOffice:其三件套兼容性最好,但请把它当作「在线 Office 引擎」而非知识库(无云盘/表单/看板);
- 「要轻量纯文本实时协作」→ Etherpad:19k 星的老牌项目,部署最简单,但只有一块「白板纸」,无权限体系与文件管理;
- 「隐私套件选型要查活状态」→ Skiff 警示案例:官网 skiff.com 原文(2026-10-22 查证)「On Feb 9th, we announced that Skiff was acquired by Notion and that services would be sunset on August 9th」——2024-02-09 被收购、2024-08-09 停服。第三方托管的隐私服务存在被收购即关停的风险,这是「自建 CryptPad」相对「订阅隐私 SaaS」最刚性的论据;
- 「团队已在 Google 生态且无合规约束」→ Google Docs 仍是效率最优解,CryptPad 与之并非同类替代关系(协作体验有差距),迁移前先明确隐私需求的真实强度。
八、参考链接
| 资料 | 链接 | 查询日期 |
|---|---|---|
| 官方站点 | https://cryptpad.org | 2026-10-22 |
| GitHub 仓库 | https://github.com/cryptpad/cryptpad | 2026-10-22 |
| 最新 Release | https://github.com/cryptpad/cryptpad/releases/tag/2026.10.0 | 2026-10-22 |
| 官方文档(管理员指南) | https://docs.cryptpad.org/en/admin_guide/installation.html | 2026-10-22 |
| 官方镜像 | https://hub.docker.com/r/cryptpad/cryptpad | 2026-10-22 |
| Stars 徽章取证 | https://img.shields.io/github/stars/cryptpad/cryptpad.json | 2026-10-22 |
| 许可徽章取证 | https://img.shields.io/github/license/cryptpad/cryptpad.json | 2026-10-22 |
| Skiff 停服声明 | https://skiff.com | 2026-10-22 |
| 本系列部署篇(实测) | 《CryptPad 2026.5.1 Docker Compose 部署指南》 | — |
| 本系列配置篇(实测) | 《CryptPad 2026.5.1 配置参数详解》 | — |
| 本系列命令篇(实测) | 《CryptPad 2026.5.1 常用 CLI 命令与工具详解》 | — |