客户端文件转换为什么能保护您的隐私
一个您能亲自核实的隐私说法,胜过一份您只能选择相信的隐私政策。下面介绍如何验证浏览器转换器从不把您的文件发送到任何地方,也如实说明页面到底还会发送出去什么。
先验证,再相信
打开浏览器的开发者工具(Windows 上按 F12,Mac 上按 Cmd、Option 和 I),切换到网络面板,清空里面已有的记录,然后转换一个文件,观察结果。
您会看到一些请求。但您不会看到自己的文件。一个携带 8 MB 照片的请求,会显示为一个 8 MB 大小的请求,只要按大小给列表排序,大约一秒钟就能看清楚。这里没有上传,因为根本没有执行上传的代码。
接下来做一个更严格的测试。关掉 Wi-Fi,照样转换一张图片。它仍然能用,因为这里的图片转换就是把图片画到 canvas 上,再调用一次编码函数,这两步浏览器都在本地完成,完全不经过网络。有些较重的工具确实会在您第一次使用时下载一个库,这些工具在离线时会失败,直到那个文件被缓存下来为止。这个区别值得说清楚:代码下载到您的设备,和您的文件被上传出去,完全是两回事。每个请求都有一个网址和一个方向,两者您都能看到。
“从不上传”在代码层面到底是什么意思
当您把一个文件拖到网页上时,浏览器交给这个页面的是对该文件的一个引用,而不是它的内容。读取它会得到一段存在于这个标签页内存中的缓冲区。从这一步开始,转换器所做的一切,都只是针对这些字节的运算。
在浏览器里,没有什么会自己主动发送文件。字节只有在代码明确把它们附加到一个网络请求或一次表单提交上时,才会离开页面。所以“我们不上传您的文件”与其说是一句关于意图的承诺,不如说是在描述一段根本不存在的代码,而不存在的代码有一个好处:它的缺席可以从外部被观察到。
结果也是原路返回。转换完成的文件以 Blob 的形式保存在内存里,浏览器为它分配一个临时地址,这个地址只在这一个标签页内有效。下载链接指向的是您自己的内存。关闭标签页就是全部的删除策略:没有需要查阅的保留期限,没有“文件一小时后会被删除”这类承诺,也没有一个可能悄悄持不同意见的备份系统。
这对人们实际转换的文件为什么重要
想想都是哪些文件让人一开始就去找转换工具。为签证申请扫描的护照。为办房贷用的工资单。一封医院寄来的信。一份签好字的合同。一张银行对账单的照片。文件转换器的典型使用场景,就是一份您不会发给陌生人的文件。
上传一份文件,就是给它多找了一个经手方。即便运营方谨慎又诚实,您也一并承担了对方的数据泄露风险、它的分包处理方、它保留备份的时长、它的日志记录,以及文件最终落地的那个国家里,任何可能追到它头上的法律程序。这些都无法从外部看到,事后也都没法核实。对一项服务来说,最安全的数据,就是它从未收到过的数据。
真正会离开页面的是什么
您的文件留在原地不动。有些别的东西不会,如果一篇关于隐私的文章跳过这部分不谈,那它的价值还不如什么都不说。
- 统计分析工具会在每个页面上加载。它记录的是:某个工具上发生过一次转换、批次里有多少个文件、它们的总字节数,以及这次处理花了多长时间。它从不会拿到文件名或文件内容。您的 IP 地址和浏览器的常规信息会发送给统计服务提供方,就像互联网上大多数网站的做法一样。
- 广告脚本也会加载。这是带有自己追踪机制的第三方代码,我们如实告诉您文件的去向,并不会让它凭空消失。
- 有几款工具会在您第一次使用时,从公共 CDN 下载它们的库文件。CDN 会知道您的 IP 地址,以及您请求了哪个库,这足以让它相当准确地猜到您打开了哪个工具。但关于文件本身,它什么都不知道。
如果这让您在意,就把它们拦截掉。使用内容拦截器,或者打开一个开启了拦截器的隐私窗口。转换照样能用,因为这些脚本都不在转换流程的路径上。验证这一点,在网络面板里花的时间,和本文其他每一处一样,也就一分钟。
客户端处理解决不了什么
在标签页里运行并不是一种安全保证,它只是缩小了攻击面。页面终究还是通过网络送达的代码,而通过网络送达的代码是可以被篡改的。如果这个网站被攻破,转而提供恶意 JavaScript,那段 JavaScript 对您文件的访问权限,会和转换器完全一样。再精心设计的客户端架构,也挡不住这一点。
真正改变的,是您要信任什么,以及在什么时候信任。使用上传型服务时,您信任的是一份政策文件,它描述文件离开您之后会发生什么,而您没有任何办法核实其中的内容。使用运行在浏览器里的服务时,您信任的是此刻正在运行的代码,而且它运行的时候,您可以亲眼看着它工作。信任并没有消失,只是转移到了一个您可以用开发者工具指向的地方。
还有一些限制和安全无关。这项工作在您的设备上进行,所以旧手机会慢,笔记本电脑则不会。标签页的内存是有上限的,所以在这里,非常大的文件会失败,而换成一台能访问磁盘的服务器就能应付。任何需要授权引擎或超大模型的功能,要么需要下载一个相当大的文件,要么根本无法实现。这些都是真实的取舍,也是文件哪儿都不去所要付出的代价。
如果只记住一件事,请记住去做这个测试,而不是记住这个论点。网络面板就在您已经打开的这个浏览器里。任何声称您的文件留在本地的转换器,说的都是一个您可以在一分钟之内验证真假的说法,不管是在这个网站上,还是在别的网站上。拿您正打算托付某个重要文件的那个工具,亲自测一遍。