标注工具为什么不该把你的截图传上服务器
一张截图里有多少你没打算交出去的东西,「一小时后自动删除」为什么不等于没有存在过,以及一个谁都能跑的判据:开飞行模式,看它还能不能用。
搜「截图打码」,排在前面的多半是网页版:把图拖进去,框一下,下载。免费、不用装、立刻能用。代价藏在中间那一步——你的图去了一台不属于你的机器上。这篇不是说所有在线工具都不能用,是说这应该是你有意做出的选择,而不是一个默认发生的事。
有一个细节值得先摆出来,因为它常常没被说清:在线工具的顺序永远是先上传、后打码。也就是说,你交给那台服务器的,是没有打码的那一版。你后面盖得多结实,都是在已经交出去之后做的事。
一张截图里有什么
你以为你在传一张图,实际上你在传一份那一刻的现场记录。
- 状态栏:时间、日期、运营商、电量、正在录音或投屏的指示。时间加上内容,常常足以还原你当时人在哪、在干什么。
- 通知横幅和锁屏预览——别人发给你的话,出现在你的截图里,而他并不知道。
- 浏览器地址栏和标签页标题。分享链接、重置密码链接里带的那串 token,价值等同于密码;而八个标签的标题是一份「你最近在关注什么」的清单。
- 聊天窗口的上下文:另一个人的名字、头像、他说的每一句话。那些是他的信息,不是你的。
- 输入法候选栏上还挂着的词,以及某些系统的剪贴板悬浮提示。
- 桌面截图里背后那几个窗口、任务栏、Wi-Fi 名(往往就是公司全称或者小区名字)、文件路径里的用户名。
- 内网地址、内部系统名、工单号、工号、测试账号。
- 拍屏照片里屏幕上的反光:你自己、你的房间、你对面坐着谁。
这些东西在你打码之前就已经在图里了。你打的码解决的是「最后拿到图的人能看到什么」,它完全不触及「这张图在中途交给了谁」。这是两个独立的问题,而多数关于打码的讨论只谈了前一个。
「传上去」实际意味着什么
泄露面变大了
重点不是「他们会不会看」,而是「这张图现在多存在于一处你控制不了的地方」。服务器会被攻破、存储桶会配错权限、临时目录会被搜索引擎索引到——这些事年年都在发生,和那家公司的动机没有关系。你无法审计的东西,你就无法为它承担风险。
交给第三方本身就是一件事
图里如果有别人的个人信息,把它交给一个第三方去处理,这件事本身在国内是需要取得单独同意的,写在《个人信息保护法》第 23 条里。这不是危言耸听,是想说明这条规则和你有没有打码是彼此独立的。工作场合还有另一层:多数单位的保密规定明确禁止把内部截图传到公有服务上,而工作截图恰恰是最常需要打码的那一类。
「一小时后自动删除」是一个策略,不是一个属性
策略可以改,公司可以被收购,条款可以更新而你不会收到通知。而且「删除」在工程上不像日常语言里那么干净:传输途中的副本、内存、日志、CDN 缓存、备份,各自有各自的生命周期,一句「一小时后删除」通常只覆盖其中一条。最要紧的是,删除承诺处理的是「之后」,它对「这一小时里它确实存在过、并且在一台你不了解的机器上」这件事什么也做不了。
怎么自己验一个工具传不传
下面按可靠性从高到低排,前两条谁都能跑,不需要任何技术背景。
- 开飞行模式,把 Wi-Fi 也关掉,然后完整用一遍:选图、打码、导出。全程能用,就说明这几步不需要联网。这是最直接的一条,而且它验的是行为,不是说法。
- 补一个局限:有的工具会把请求排队,等联网了再发。所以在飞行模式下用完并导出之后,再打开网络,看它有没有在你什么都没做的时候忙起来。这条不够严格,但和第一条配合已经能筛掉绝大多数。
- 看 App Store 的隐私标签。「未收集数据」是有意义的信息,但它是开发者自己填的申报,不是第三方审计。它能证伪——写了收集就是真收集;不太能证实。
- 看权限。一个只处理图片的工具,要网络权限做什么。有一个合法答案:内购校验确实需要出网。除此之外的联网理由都值得你多想一步。
- 网页版的判据完全不同。网页版技术上完全可以在浏览器里本地处理,但你从界面上看不出它有没有传。要验就打开浏览器的开发者工具,切到网络面板,处理一张图,看有没有把图片数据发出去的请求。会这一步的人不多,但它是网页版唯一可靠的验法。
- 再进一步是在路由器或系统层面看这个程序的出网连接。这不是普通用户该干的活;但如果这是公司发的设备,你的 IT 同事大概能替你看一眼。
顺带说一个不算判据的东西:界面上印着「安全」「加密传输」「隐私优先」这些字,什么都证明不了。加密传输解决的是路上有没有人偷听,它不解决终点那台机器上有没有留下一份副本——而后者才是你在意的那件事。
本地处理不是万能的,这里得说实话
一个完全不联网的工具,解决的是「这张图有没有被第三方拿到」。它不解决另外三件事,而这三件在现实里造成的损失可能更大。
- 图还留在你自己的相册或者硬盘里,而相册可能正在同步到云。这不一定是坏事,但它是另一条独立的路径,需要你另外做决定。
- 你自己发出去的那一份才是最大的风险面。工具再干净,你在群里发错了人,损失完全一样。
- 码打得不够结实——半透明的笔、太细的马赛克块、盖漏了半个字符——本地处理一点忙都帮不上。
所以正确的顺序是:先决定要不要发、发哪一部分,再把剩下的盖结实,最后才轮到「用什么工具」。不联网是一条应该有的底线,不是一个可以停下来的终点。
Marka 在这件事上的位置
它不联网,而且这句话可以被具体地描述,不只是一句宣传语。整个源码里没有任何一处网络调用。Mac 版的沙箱一共申请了三项能力:在沙箱内运行、读写你自己选中的文件、以及联网——而最后那一项存在的唯一理由,是让苹果的 StoreKit 校验你买没买过 Pro,App 本身不发任何请求。
iPhone 和 iPad 上只申请一个「仅添加」的相册权限,用来把做好的图存回去;读取权限从来没申请过,选原图走的是苹果自己的选择器,它只把你选中的那一张交给 App,别的一律看不到。没有账号、没有埋点、没有崩溃上报,也没有链接任何第三方 SDK——这同时也是它只有 2.4 MB 的原因,一个装了几个统计和广告 SDK 的 App 很难做到这个体积。
Mac 上那个「查找敏感信息」用的是系统自带的 Vision 框架,就在你自己这台 Mac 上跑。图片本身、以及从图里找到的任何东西,都不去任何地方。它只列出候选让你逐条勾选,只建议、绝不代劳,而且一定会漏。这个功能只有 Mac 版有,iPhone 和 iPad 上没有。
上面那条飞行模式的测试,你可以直接对它跑一遍。这也是它值得被这样描述的唯一理由:一个关于隐私的说法,如果读者没法自己验,那它就只是一句话。
常见问题
在线打码网站到底能不能用?
看你要盖的是什么。盖一张风景照里的路牌,无所谓;盖客户资料、内部系统、身份证、聊天记录,就别用——因为在线工具的顺序是先上传后打码,你交出去的永远是没打码那一版。这个选择应该是你有意做的,而不是因为它排在搜索结果第一位。
「一小时后自动删除」靠谱吗?
它是一个策略,不是一个属性。策略会改、公司会被收购、条款会更新。而且删除承诺处理的是「之后」,它对「这段时间它确实在一台你不了解的机器上存在过」什么也做不了。传输中的副本、日志、缓存和备份也各有各的生命周期。
怎么判断一个 App 有没有偷偷上传我的图?
最简单的一条:开飞行模式,关掉 Wi-Fi,完整走一遍选图、打码、导出。全程可用就说明这些步骤不需要联网。再补一步——用完导出之后再联网,看它有没有在你什么都没做的时候忙起来,这能筛掉那种排队等联网再发的做法。
App Store 上写着「未收集数据」,可信吗?
这是开发者自己填的申报,不是第三方审计。它能证伪——写了收集就是真的在收集;不太能证实。把它和飞行模式测试、以及这个 App 申请了哪些权限一起看,三条对得上才有意义。
完全不联网的工具就绝对安全了吗?
不是。它只解决「第三方有没有拿到这张图」。原图还在你的相册或硬盘里、相册可能在同步到云;你自己发错人造成的损失和上传是一样的;码打得不结实本地处理也救不了。不联网是底线,不是终点。
Marka 既然不上传,为什么还要联网权限?
因为苹果的 StoreKit 需要出网才能校验你买没买过 Pro,这项能力就是为它存在的,Mac 版沙箱里那三项权限的最后一项写的就是这个用途。除此之外 App 自己不发任何网络请求,你可以用飞行模式直接验一遍:选图、打码、导出,全程照常。
用 Marka 做这件事
Marka 是 iPhone、iPad 和 Mac 上的截图标注 App。划一下把不该看的盖掉,用箭头指住该看的,用序号标出步骤,裁成你要发的比例,然后发出去。全程在设备本地处理——不上传、不注册、无埋点,安装包 2.4 MB。打开图片、裁切、马赛克笔刷和导出都免费;Pro 是一次性买断,三端通用。