
“本地处理”应该是可测试的。隐私声明很有用,但浏览器工具还可以公开可观察到的证据:发生了哪些网络请求、请求负载包含哪些内容、何时加载可选分析以及上传的图像是否离开浏览器。
本指南记录了当前的屏幕截图 PDF 0.0.13 架构,并提供了可重现的 DevTools 过程。这不是正式的渗透测试,空的网络面板无法证明所有未来版本的行为都是相同的。记录版本并在材料变更后重复检查。
在编辑器中,浏览器使用 FileReader 读取选定的图像,将其解码为图像元素,将像素绘制到 Canvas 中,创建注释快照作为本地对象 URL,并使用 jsPDF 生成 PDF 数据。屏幕截图内容、注释像素、水印文本、预览和生成的 PDF 字节不会发送到屏幕截图 PDF 应用程序服务器。
网站本身仍然需要 HTML、JavaScript、样式、字体或图像的正常基础设施请求。 Cloudflare 可以处理连接元数据,例如 IP 地址和请求标头。可选的 Google Analytics 是一个单独的路径,仅在分析同意后加载。本地文档处理并不意味着页面的网络请求为零。

不要从银行对账单或私人谈话开始隐私测试。创建一个合成 PNG,其中包含彩色网格、唯一短语和已知尺寸(例如 1200 × 3000 像素)。这个独特的短语可以帮助您搜索 DevTools 有效负载,而不会暴露真实信息。
如果您的操作系统提供了测试文件的哈希值,请记录该哈希值。哈希可以帮助区分确切的测试输入,尽管它本身并不能证明文件的处理位置。
Chrome 的网络面板文档 解释了请求检查、过滤和负载视图。
筛选 fetch 和 xhr,然后检查上传、注释、预览或导出期间发生的任何请求。检查 URL、方法、请求标头、查询字符串、表单数据、请求负载和响应。
在保留的日志中搜索合成短语和文件名。还要查找其时间与上传时间匹配的异常大的请求主体。图像像素可能是二进制的或编码的,因此仅缺少该短语是不够的;有效负载大小和内容类型也很重要。
来自博客或界面的静态图像请求不是用户文档的上传。 blob: URL 是浏览器本地对象引用,而不是远程网络目标。 data: URL 将数据嵌入当前文档上下文中,同样不代表 HTTP 上传。
授予可选分析同意后重复会话。 Google Analytics 库现在可以加载和发送使用事件。 Screenshot PDF 的分析层记录产品事件,例如编辑器打开、导出开始、成功或失败、页数、区域设置和广泛的使用上下文。它的设计不包括屏幕截图内容、文件名、水印文本、电子邮件地址或直接标识符。
检查事件参数而不是假设分析请求是无害的。确认合成短语和文件名不存在。在 AdSense 申请阶段,广告同意仍然处于禁用状态,因此广告请求不应仅仅因为分析已被接受而出现。
当操作失败时,隐私行为不应改变。尝试使用不受支持的小文件或取消文件选择器。确认在错误报告过程中没有传输任何文档负载。不要故意用大量敏感文件使浏览器崩溃。
对于与内存相关的测试,使用生成的模式并逐渐增加维度。当编辑器缩放图像或浏览器变慢时停止。目的是观察请求行为,而不是耗尽设备。
为了获得更高保证的审查,请一起检查源代码、构建工件、扩展权限、内容安全策略和网络行为。
创建一个小表,其中包含日期、网站构建、扩展版本、浏览器版本、同意状态、测试文件哈希、执行的操作、观察到的目的地、文档有效负载结果和审阅者。仅当编辑后的 HAR 不包含令牌、cookie、私有 URL 或其他敏感标头时,才保存它。
如果文档像素或文件数据出现在意外的远程请求中,请停止并使用最小的合成示例进行重现。向 [email protected] 报告目的地、请求类型、触发它的操作和版本。
当声明、实施、同意行为和可观察的网络证据一致时,本地处理最强。在发布后重复此检查会将营销短语变成可维护的工程属性。