云端项目可以被“封存”:服务器保存它,却永远读不了它——正文、标题、插图都读不了。本指南说明这样做换来什么、付出什么,以及如何避免把自己锁在门外。
为项目开启端到端加密后,你的设备会生成一把 256 位密钥,在上传之前用 AES-256-GCM 加密每一篇文档、每个资源文件和活页夹清单。服务器收到的是密文,保存的也是密文。它知道项目存在、有多大,但看不到任何标题、句子或图片。
密钥只在一个地方传递:分享链接 # 之后的片段——…/p/‹id›#‹token›.‹key›。浏览器从不把 URL 片段发给服务器,Mac 与 iOS 应用也把它保存在同样的位置,所以密钥只会到达你的设备和你把链接交给的人。
凡是在设备上完成的事都和从前一样,因为密钥在设备上:在 Mac、iPhone、iPad 和浏览器里编辑;设备之间同步;实时协作——更新经服务器转发时仍是密文,只在对方设备上解开;版本历史——在你的设备上合并,而不是在服务器上;以及分享——把含密钥的完整链接发给合作者,对方就拥有了这个项目。
密码保护的分享是另一回事,也轻量得多:密码由服务器校验,而服务器能读取项目内容。图方便时用密码;内容本身必须保密时用封存项目。
有些功能之所以存在,正是因为服务器能读取你的项目,封存后它们便停止了。服务器无法编译自己保存的副本,所以从 iPhone 或 iPad 生成 PDF 要走另一条路(见下)。封存项目不能成为社区模板,也不能移入公共空间,更没有已发布的只读视图——读者必须拿到密钥才能阅读。服务器端搜索和浏览器中的排版预览同样需要可读副本。
在 Mac 上这些几乎无关紧要:Mac 应用用自带的 pandoc、LaTeX 和 Typst 在本地编译,文件从不离开你的电脑。
手机没有排版引擎,所以“编译”通常在 Folio Writer 服务器上进行。对于封存项目,应用会先说明将要做什么并征得同意:在编译期间向服务器发送一份可读副本,编译一结束立即删除——不保存、不记录、不作他用。拒绝则什么都不会发送。设备上的预览手稿 ▸ 分享为 PDF 从不上传任何内容,无论项目是否封存。
服务器从未持有密钥,所以也无法归还。如果你丢失了所有设备和链接的所有副本,项目将无法恢复——这是有意为之。两道保险:把分享链接存放在安全的地方(密码管理器最合适),并设置一个恢复口令。口令在你的设备上封装密钥(先 PBKDF2,再 AES-GCM),封装后的“密钥盒”随项目保存;服务器持有的是一个打不开的不透明数据块,并只交还给所有者,在设备上用口令解开。
若链接已经泄露,所有者可以轮换密钥:所有文档与资源在设备上用新密钥重新封存,正在打开的会话被挡在门外,旧链接失效,然后用新链接重新分享。