最后更新于 2026 年 9 月 8 日
隐私
OpenDocScan 不收集任何关于你的信息,也不收集任何关于你扫描内容的信息。这不是我们选择去遵守的一条政策 —— 它是产品构造方式的必然结果,而这一页剩下的部分就是这句话背后的细节。
我们收集什么
什么都没有。具体来说:
- 没有账号,除非你自己要一个。 扫描仪里没有任何东西藏在登录之后,你也从来不必创建账号。如果你确实登录了 —— 登录的存在是为了让积分在我们的应用之间流通 —— 我们的账号服务器只保存你交给所选登录服务商的那些信息,别的什么都没有。它从不接收一份文档、一页纸,或者任何由它们派生出来的东西。
- 没有文档。 你扫描的图像和你生成的 PDF 从不离开你的设备。这里没有上传这一步,我们也没有哪台服务器能接住它们。
- 没有第三方统计。 没有广告像素、没有 cookie、没有指纹识别、没有第三方嵌入 —— 本站和应用里都没有。有多少人打开过这个页面是被记下来的,由我们自己记、记在我们自己的服务器上;见本网站记录了什么。
- 没有广告。 这里没有任何东西被卖给任何人,因为根本没有收集到可以拿去卖的东西。
你的文档住在哪里
在你浏览器自己的存储里,在你用来扫描它们的那台设备上。应用会请求浏览器把这块存储设为持久,并告诉你浏览器答应了没有。清除本站的浏览数据会删掉你的文档库,而我们无法帮你恢复 —— 我们从来就没有过副本。
因为存储是按浏览器分开的,你的文档不会同步到你的其他设备上。这就是没有账号所要换来的代价。
你怎么自己核实这件事
这是原生扫描应用给不了的部分。打开浏览器的开发者工具,切到网络面板,然后用这个应用。页面和它的资源加载完之后,扫描、识别文字、导出 PDF,一个新的请求都不会产生。
让这件事成立的有三重机制,按各自被绕过的难度排列:
- 扫描核心是一个由 Rust 编译出的 WebAssembly 模块,里面没有 HTTP 客户端,也没有网络依赖。从它到网络之间不存在任何代码路径。
- 文字识别引擎和它的语言模型都由本站提供。按默认设置,它们会从一个公共 CDN 取回,那等于你每扫描一份文档就告诉第三方一次。
- 一个 service worker 拦下页面发出的每一个请求,凡是寄往其他源的,一律以 403 回绝而不是转发出去。将来某个依赖如果想偷偷回家报到,它会当场吵着坏掉,而不是安静地工作。
自动化测试套件每跑一次都在断言同一件事:它记录下应用在完成一整次扫描过程中发出的每一个请求,只要其中有一个离开本源,测试就失败。
本网站记录了什么
把这个页面交给你的那台 Web 服务器会保留普通的访问日志 —— 请求的路径、一个时间戳、浏览器的 user-agent 字符串,以及发起连接的 IP 地址 —— 保留很短一段时间,用来维持服务器运转和发现滥用。它们不被用来给你建画像,不与其他任何东西合并,也不对外提供。里面没有任何一条与你扫描的内容有关,因为你扫描的内容从来没有送到这里。
本站的页面访问量另外由一个自托管的、注重隐私的统计服务计数。它不设置 cookie,不记录个人信息,也不会跟着你去别的网站。它从不看见任何一份文档,而扫描仪本身不含任何形式的统计。
儿童
本应用不面向儿童,也不从任何年龄的任何人那里收集个人信息。
变更
如果这份政策有变动,这一页顶部的日期会跟着变。由于产品本身不持有任何数据,这里的改动不可能回溯性地暴露你已经扫描过的任何东西。
联系
关于这份政策的疑问: opendocscan@proton.me.