先把边界说在前面:本站保护的是“图片不被上传”,不是“图片内容永远无法被看懂”。这两件事经常被混为一谈。前者是数据流向问题,后者是密码学问题;本站只解决前者,并在算法层面明确承认后者的不足。
数据流:一张图从进入到离开
-
01
选择文件
浏览器打开系统文件选择器,把文件句柄交给当前页面。此过程不经过网络。
-
02
解码到画布
浏览器在内存中把图片解码成 RGBA 像素,放进当前标签页的 Canvas。
-
03
本地置换
脚本在 CPU 上生成曲线、搬运像素;没有请求,也没有服务端参与。
-
04
编码下载
结果被编码成 PNG 或 JPEG,通过浏览器生成本地下载,不经过上传。
关闭或刷新标签页后,画布、像素缓冲和结果对象都会被浏览器回收。本站没有把图片写进 localStorage、IndexedDB 或 Cookie,也没有“历史记录”功能。
我们能看到什么,看不到什么
可能被记录的:页面访问时间、访问来源、浏览器与设备类型、粗略地域,以及服务器日志中的 IP 和 User-Agent。这些是任何网站运行都会产生的基础访问数据。
不会出现在任何请求里的:图片内容、图片文件名、画布像素、处理结果、你选择的格式和方向。它们只存在于当前页面的 JavaScript 内存中,处理结束或页面关闭即释放。
本站没有账号系统,也没有后端图片数据库。页面是纯静态文件,服务器只负责把 HTML、CSS 和 JS 发给浏览器,不参与图片处理。
自己验证:三步就够
- 看网络面板。按 F12 打开开发者工具,切到“网络 / Network”,清空记录,再处理一张图。观察是否出现携带图片的请求;正常情况下只有静态资源和百度统计。
- 断网再处理。页面加载完成后关闭 Wi-Fi 或拔掉网线,再点“混淆”。如果仍能完成,说明处理确实在本地;如果立刻失败,才需要怀疑上传。
- 检查第三方脚本。页面只引入一个外部统计脚本(百度统计)。它加载的是统计代码,不读取画布,也不接收文件名;其余脚本都来自本站静态目录。
验证时注意区分“页面加载请求”和“处理时请求”。页面打开时本来就会请求 HTML、CSS、JS、字体和统计脚本;关键是处理图片的那一刻,网络面板里不应该多出图片请求。
本地存储与 Cookie
本站不使用 localStorage 或 IndexedDB 保存图片,也不把处理记录写入浏览器数据库。刷新页面后,当前图片和结果会消失,需要重新选择。
百度统计可能设置 Cookie 或使用类似技术来区分访问会话,用于统计访问量、来源和页面表现。这些数据不包含图片内容。你可以在浏览器设置里禁用第三方 Cookie,或使用隐私模式;这不会影响图片处理功能。
页面会申请哪些权限
只有在你主动点击“选择图片”时,页面才会打开系统文件选择器。它不会申请摄像头、麦克风、定位、通讯录等权限。
“粘贴”功能监听的是浏览器的粘贴事件,只在你按下 Ctrl + V 时读取剪贴板中的图片项;页面不会在后台轮询剪贴板。若你介意,可以只用“选择图片”,不使用粘贴。
安全边界:哪些事不该交给它
- 不要用它保存秘密。混淆没有密钥,方法公开,任何人都能还原。密码、证件号、合同、病历都不适合。
- 不要用它替代打码。需要隐藏文字或人脸时,用不透明色块真正覆盖,再导出新图;模糊和混淆都可能被部分恢复。
- 不要用它防止截屏。只要图片能在屏幕上显示,就可能被截屏或翻拍;混淆只改变“一眼看懂”的难度。
- 不要用它规避审核。请勿将本工具用于传播违法信息、侵犯他人权益或绕过平台规则。
一句话总结:本站把“图片不离开设备”做得比较彻底,但它不是保密工具。判断一个需求是否适合,先问自己:我是想让人“别一眼看懂”,还是想让人“永远看不懂”?前者可以用,后者请换方案。
发现问题怎么反馈
如果你在开发者工具里看到异常请求,或怀疑页面行为与本文描述不符,请把浏览器版本、操作步骤和请求截图(不要包含敏感图片)发到 contact@xiaofanqiehunxiaojietu.net。我们更愿意被指出问题,也不愿用模糊的承诺掩盖问题。