工作原理
每一张数码照片装着的,都不只是画面本身。文件里还藏着一些看不见的信息:你当时站在哪里、用的是什么设备、快门在哪一秒按下。这些数据叫做 元数据, 当初是为了帮摄影师整理作品而设计的。可是一旦你把照片发到网上,它就变成了隐私风险。

大部分社交平台会自动清掉元数据,所以这不总是个问题。但邮件附件、网盘分享链接、论坛和个人网站,往往会原样保留原始文件。如果你希望自己决定分享出去多少信息,那么上传之前先把照片清理一遍是值得的。
你的照片里藏着什么
当你把一张照片拖进首页那个工具时,我们会扫描它的元数据。下面这些是我们通常会找到并清除的内容:
GPS 坐标
精确到几米的经纬度。你住在哪、在哪上班、去过哪,全都写在这里。
时间戳
照片拍摄的时刻,精确到秒。你的作息和习惯就这样暴露了。
设备信息
相机的品牌、型号、镜头,有时还有序列号。凭这些就能在不同照片之间把你对上号。
编辑历史
用过的软件、作者姓名、版权声明。由 Photoshop、Lightroom 这类工具写入。
我们怎么清除它
你使用 PicScrub 的时候,背后发生的事情是这样的:
图片始终留在你的设备上
全部处理都在你的浏览器里用 JavaScript 完成。你可以断网试试:工具照样能用。
我们先识别格式
每种格式存放元数据的方式都不一样,所以我们对每种格式都用专门的处理方式。
像做手术一样精准地摘掉元数据
我们不会重新编码你的图片(那样会损失画质),而是跳过元数据段,只用图像数据重新拼出文件。
你下载干净的文件
同一张图,同样的画质,体积更小(元数据往往会占 10-50KB),不带任何隐藏信息。
无损画质
大多数清除元数据的工具都会重新编码图片,每处理一次画质就下降一点。我们换了一条路。
别的工具
画质:约 95%
PicScrub
画质:100%
可以这么理解:别的工具是把你的文件整份复印一遍,好把上面的便利贴去掉。我们是小心地把便利贴揭下来,再把原件还给你。
用架构保证隐私
我们说你的图片不会离开设备,这不只是一句承诺,而是这个工具本身的构造方式。没有服务器接收你的照片,也没有什么后台上传,代码就在你的浏览器里跑。
也就是说,我们看不到你的照片,就算想看也看不到。保证隐私的是架构,不是一纸政策。
整个代码库都是开源的。你可以亲自查看图片到底经历了什么,从安全角度审计代码,或者自己把它跑起来。
局限
PicScrub 能应付绝大多数常见场景,但有几个技术上的限制值得提前知道:
HEIC 文件的体积不会变小
HEIC 用的是 ISOBMFF 容器(和 MP4 一样),里面很多内部偏移量都依赖精确的字节位置。删掉字节就会毁掉文件。所以我们改用零去覆盖元数据:敏感数据被彻底摧毁,但文件体积不会变小。
私有 RAW 格式返回的是 JPEG
CR2、NEF、ARW 这类格式没有公开文档,而且各家厂商各搞一套。与其冒着弄坏你文件的风险,我们选择提取里面嵌入的 JPEG 预览图(大多数相机都会存一张全分辨率的),清理这张图。DNG 文件则是完全支持的,因为它用的是有公开文档的 TIFF 结构。
色彩配置文件默认会保留
ICC 色彩配置文件严格来说也算元数据,但删掉它可能导致颜色偏差。所以当图片带有配置文件时,“保留色彩配置文件”选项默认是勾选的;如果你想连它一起删除,取消勾选即可,也可以通过 picscrub 库 的 preserveColorProfile 选项来控制。
各种格式的细节
每种图片格式存放元数据的方式都不同。对 JPEG 有效的办法,放到 PNG 或 SVG 上就不管用了。我们为每种格式都准备了详细的指南: