两种架构的本质差别
上传式:文件离开设备,经网络到对方服务器,被写入磁盘、可能进日志和备份,处理完再回传。本地式:页面里的 JavaScript 或 WebAssembly 在你的设备内完成计算,网络上只传“页面代码”,数据不出本机。
上传式的三个风险点
- 传输与存储:HTTPS 只保护传输,文件落盘后是否加密、保留多久,取决于对方;
- 留存与备份:为了排查问题或“提升服务”,文件常被写进对象存储或日志,删除承诺很难验证;
- 合规成本:含个人信息的文件交给第三方,可能构成数据出境或委托处理,需要评估和告知。
本地式也有边界
- 代码可能被篡改:站点一旦被入侵或投毒,所谓“本地处理”的代码本身会被改,所以要看来源可信度和是否开源;
- 浏览器扩展:有权限的扩展能读取页面内容,与工具本身无关;
- 本机安全:设备被木马控制时,任何方案都无解。
怎么判断一个工具是真的本地处理
- 断网测试:页面加载完后断网,功能仍可用,大概率就是本地计算;
- 看网络请求:打开开发者工具 Network 面板,导入文件时若出现上传请求,就不是本地处理;
- 看隐私说明与实现:有没有写明“不上传”、是否开源、CSP 是否限制了对外连接;
- 看处理位置提示:靠谱的工具会直接说明用了什么技术(如 Web Crypto、WASM)。
哪些任务适合本地处理
| 任务 | 本地处理 | 说明 |
|---|---|---|
| 文件哈希校验 | 很适合 | Web Crypto 直接计算,大文件可流式读取 |
| 图片水印 / 压缩 | 很适合 | Canvas 处理,导出即成品 |
| OCR 文字识别 | 适合 | WASM 模型体积较大,首次加载稍慢 |
| 视频转码 | 一般 | 受设备性能限制,长视频耗时明显 |
| 超大文件批量 | 不适合 | 浏览器内存有限,需要服务端方案 |
适用建议
身份证、合同、源代码、聊天截图这类敏感文件,优先选本地处理的工具。超大文件受浏览器内存限制时再考虑服务端方案,此时先确认对方的留存与删除策略,并尽量先脱敏。本地处理也不是万能:需要跨设备同步、共享链接或统一计费的场景仍要服务端参与,务实做法是“原始数据留本地,只上传必要的结果”。