Skip to content
reader.me

你从网站「删除」的文件,到底经历了什么

「我们会在一小时后删除你的文件」听上去令人安心,但这是一个你无法核实的承诺。本文讲述一个上传的文件究竟会经历什么,以及唯一一种你可以确信的版本。

DCDavid Carrero · · 6 分钟阅读

你把一份文档上传到一个在线工具,它完成了它的工作,一行令人安心的提示告诉你:你的文件将在一小时后被删除。你关掉标签页,感觉一切都好。但那个文件实际上经历了什么,而一旦它在别人的服务器上,「已删除」又究竟意味着什么?这值得细看,因为那个让人舒服的答案和那个诚实的答案,并不是同一回事。

「已删除」是一个承诺,而非一种保证

核心问题在于:一旦你的文件落在一台你无法掌控的服务器上,你就无从核实关于它的任何事情。「一小时后删除」这条消息是一份政策声明。你相信它,就和你相信一个网站上的任何一句话一样。没有回执、没有确认、也没有任何办法让你查证它真的发生了。

这并不意味着每一项服务都在撒谎。许多服务确实真心实意地想按计划删除文件。问题更窄、也更棘手:你无法确认这一点。你是凭信任接受它的,而「相信我」对任何敏感的东西来说,都是一个脆弱的根基。

一个「已删除」的文件可能滞留在哪里

即便出于善意,单单一次删除也很少是一个文件在服务器上一生的全部故事:

  • 备份。 服务器会例行备份。一个从实时系统中删除的文件,可能会按设计在某个备份快照中存留数天或数周,这其中并无恶意。
  • 缓存与副本。 文件会流经各种缓存、临时存储和内容分发网络。主存储上的一次「删除」,并不总能即刻触及每一份临时副本。
  • 日志。 即便文件本身没了,关于它的记录——它何时被上传、来自何处、它的名字、它的元数据——也可能留在比文档活得更久的日志里。
  • 第三方与司法管辖。 这项服务可能运行在向别人租来的基础设施上,处在一个规则不同的国家。你文件的命运,如今由一长串你从未听说过的当事方所支配。

这一切都不需要任何人心怀恶意。这只不过是服务器基础设施通常运作的方式。「已删除」远比一句自信满满的话所暗示的要复杂。

而这还是好的那种情况

上面假设的是一项谨慎、用心良苦的服务。同样这一次上传,也把你暴露在那些糟糕的情况之下:一次泄露了所存文件的数据外泄、公司政策或所有权的变更、一项要求交出数据的法律命令,或者干脆就是一项从来不像其主页所宣称的那样谨慎的服务。一旦文件离开了你的手,所有这些都不再受你掌控。

唯一一个你能确信的文件

恰恰有一种版本的 PDF,它的命运你可以完全确信:那个从未被上传的版本。一个从未离开过你机器的文件,不会在某个陌生人的服务器上有备份,不会留在任何人的日志里,也不会暴露于一场你明年才会读到的泄露事件中。没有什么可删除的,因为一开始就根本不存在副本。这不是一个更强的承诺;这是连承诺都不再需要。

这正是 reader.me 背后的整个理念。这些工具运行在你的浏览器中,在你自己的设备上。当你合并、压缩或保护一个 PDF 时,文件被读入你机器的内存,在那里被处理,再保存回给你。它从不被上传。你不必去信赖一份删除政策,因为根本没有什么服务器副本需要你去信赖它的删除。

而这一点你可以验证,这正是一个基于上传的工具永远无法提供的部分。打开任意一个 reader.me 工具,打开开发者工具(F12),在你工作时观察网络(Network)标签页——你会看到什么都没有离开。或者干脆关掉你的网络,离线使用它。它依然能用,而这之所以可能,只因为那个文件本就哪儿都不会去。

要点

「我们会删除你的文件」要求你去信赖一个你无法核实的承诺,关于一些你看不见的副本,存在一些你永远不会造访的服务器上。对于一张度假照片,这没问题。但对于任何真正要紧的东西——一份合同、一份病历、一张身份证件——更好的答案并不是一个更好的承诺。而是压根不上传这个文件。在你的浏览器里完成工作,于是「你的文件在别人服务器上会经历什么」这个问题,根本就不会出现。