一个网页能打开本地文件,并不说明它一定会上传,也不说明它一定不会上传。需要检查的是:从选择文件到导出,哪些数据发出了浏览器。下面是一套可以在桌面 Chrome 中跟着做的检查流程。请用不含个人信息的练习图。
先分清两条数据路径
| 路径 | 当前 visdraw 的实现 | 意味着什么 |
|---|---|---|
| 选图 → 解码 → 调整 → 编码导出 | 通过浏览器文件能力、WebGL、Canvas 与本地 JavaScript 处理 | 核心图像渲染不需要把原图提交给渲染服务器 |
| 网页加载、账户、购买、导出额度 | 可能发出普通站点请求 | 本地修图不等于整个网站没有网络或数据处理 |
| 个人滤镜预设 | 保存在当前浏览器的本地存储 | 设置可以保留,但它不是原图备份或云端作品库 |
这是对当前实现的说明,不替代你对实际部署版本的检查。网页代码、第三方脚本和功能都可能变化。网站处理数据的条款见隐私政策,存储选项见Cookie 说明。
1. 在选择图片之前开始记录
- 打开编辑器,先不要导入图片。通过浏览器菜单打开开发者工具,进入 Network。
- 确认录制开启,选择 All,清除搜索与类型过滤器;需要跨页面观察时勾选 Preserve log。
- 等网页主要资源加载后清空列表。这一步是为了区分后续操作流量,不要在导入后才清空。
- 记录测试时间、浏览器版本、页面地址和登录状态。使用本站练习图或其他公开素材。
2. 分三个阶段观察
| 阶段 | 操作 | 要检查的内容 |
|---|---|---|
| 导入 | 选择一张本地图片 | 是否新建携带文件、二进制或编码文本的出站请求 |
| 调整 | 改变曝光、白平衡,再做一次画笔操作 | 请求是否随编辑触发;是否包含原图、缩略图或渲染副本 |
| 导出 | 实际完成一次导出,再观察一段时间 | 区分额度或登录请求与图片传输;检查是否有延迟发送 |
选中可疑请求,查看 Headers 中的方法、目标地址和内容类型,再看 Payload 中的请求体或参数。如果有 WebSocket 连接,也检查 Messages 里的出站消息。只筛选 Fetch/XHR 可能遗漏其他传输方式。具体面板操作可参考 Chrome DevTools Network 文档。
3. 怎样判断看到的请求
| 看到什么 | 可以得出什么 | 不能据此得出什么 |
|---|---|---|
| 字体、脚本、页面资源请求 | 网页在加载资源 | 有网络请求,所以原图一定上传了 |
| 导出额度或账户请求 | 站点在处理身份或使用量 | 它一定包含图片;仍需检查内容 |
| 请求体明确包含图片或其编码内容 | 这次操作发生了图片传输 | 服务端存了多久、谁能访问 |
| 本次操作未观察到图片传输 | 在本次范围内没有发现上传证据 | 所有版本、所有功能永远不会上传 |
4. 断网只做辅助验证
页面代码和练习图加载后,在 Network 中切换 Offline,再试当前调整与导出。仍可操作,支持“这些操作不依赖实时服务端渲染”的判断;它不能排除此前上传或恢复联网后的发送。反过来,离线导出失败也可能来自额度检查或未加载资源,不能直接推断图片处理在云端。
5. 留下一份范围明确的记录
记录“某日期、某浏览器、某页面、某登录状态下,导入某公开素材,完成了哪些操作,观察到什么”。没有完成的功能写成未检查,无法解读的请求写成未确认。页面更新、切换账号或启用新功能后,旧记录不能自动覆盖新情况。
如果需要分享 HAR 或截图,先检查是否包含登录 Cookie、令牌、个人信息或文件内容,再移除敏感部分。不要把完整调试日志直接公开。
最后还要检查导出后的去向
本地处理不能管理浏览器扩展、共用设备、屏幕录制或自动同步的下载目录。图像从编辑器导出后,接收者和分享平台也形成新的数据路径。当前服务没有可恢复的云端图片会话,关闭或刷新前请先导出;本地滤镜预设不能恢复你的画布。



