EFF Cover Your Tracks 结果解读指南
区分跟踪器模拟与指纹唯一性比较,并理解 Canvas、WebGL、字体和时区字段的边界。
BotBrowser Team
EFF Cover Your Tracks 报告回答两个不同问题:跟踪器模拟中的请求发生了什么,以及浏览器配置在比较数据中显得多么独特。请求被阻止不代表指纹匿名;配置少见也不能证明跟踪器识别了某个人。BotBrowser 可用于验证声明的浏览器表面设置,但不能复现 EFF 的比较人群,也不能预测第三方服务的决定。
摘要
- 分开阅读跟踪器模拟与指纹唯一性比较;报告模板将它们显示为不同结果行。
- 区分未加载的请求与请求加载后受限制的 Cookie。
- 唯一性估算仅适用于 EFF 观察到的数据和时间窗口,不是个人身份。
- Canvas、WebGL、字体及时区属于文档列出的字段类别;模板列表不能证明当前每次运行都会收集它们。
- 只保留日期、工具版本和问题所需类别。没有明确目的时不要保存原始浏览器标识符。
目录
两条报告路径回答不同问题
模板将 ad_status、tracker_status 与 fp_status 保留为独立结果行。
Cover Your Tracks 将跟踪器阻止模拟与浏览器指纹研究放在一起。页面上的位置相近,并不意味着它们是同一次测量。跟踪器部分关注模拟页面请求及其相关 Cookie;指纹部分将浏览器可观察配置与服务数据集中的配置进行比较。两者都不是对某人访问过的所有网站作出的通用判定。
固定版本的 EFF 结果模板分别展示跟踪广告、隐形跟踪器、指纹、可接受广告和 Do Not Track 等行。另一个说明区域比较模拟请求的加载结果和 Cookie 数量。遇到醒目的标签时,先确定它来自哪一行、哪项观察。除非报告明确给出联系,否则不要把一行的结论转用到另一行。
模板还说明,该工具不会测量所有跟踪与防护方式。正面结果只表示被测路径在相应条件下产生了该结果,不会认证所有跟踪器、存储机制或浏览器防护。负面结果指出一个值得调查的测试条件,但不证明某家公司将浏览器关联到某个人。
不同日期的报告可能因浏览器配置、测试实现或比较数据集变化而不同。因此,跟踪器结果与唯一性结果可以独立变化。只保留一个总分会掩盖变化来源。浏览器指纹概览介绍了指纹的一般概念;EFF 报告则需要分别解读模拟结果和配置比较,不能混用证据。
对不同浏览器应用也应采用同样边界:跨浏览器指纹关联需要明确配对与比较设计,不能只凭一份显得独特的报告。
按请求与 Cookie 观察解读模拟
如果报告提供详细说明,应保存其准确措辞或链接官方解释,不要替换为更强的转述。这样,后续比较无需保存原始指纹也能核查依据。
应把跟踪器模拟当成一张小型观察表,而不是浏览器全部请求的清单。固定结果模板区分模拟的第三方请求加载与 Cookie 数量。部分防护不等于请求在抵达模拟跟踪器前就被阻止。请求可以发生而 Cookie 受限;没有 Cookie 也不能单独证明没有请求。
| 报告证据 | 可以支持的结论 | 不能支持的结论 |
|---|---|---|
| 模拟请求显示被阻止 | 此测试请求没有按显示路径完成 | 所有跟踪域名或方式都被阻止 |
| 请求已加载并显示 Cookie 数量 | 此模拟观察到了请求及相应 Cookie 结果 | Cookie 识别了某人或用于无关网站间跟踪 |
| 请求已加载但 Cookie 受限 | 此处请求与 Cookie 的处理不同 | 浏览器阻止了所有状态保存或关联 |
| 摘要显示部分防护 | 某项被测条件不同于完全阻止 | 哪个未测功能会改变结果 |
模板支持的是报告分类,以及可见的请求/Cookie 比较。它并不是普通浏览期间每个网络事件的跟踪记录。若要声称使用了某个请求头、存储 API 或脚本,需要该页面和该次运行的直接跟踪证据,不能仅凭摘要行推断。
实际审查时,每种被测类别记录一行:显示名称、请求是否加载、报告提供时的 Cookie 结果。比较两个日期时,将跟踪器栏与指纹栏分开。如果只有 Cookie 结果变化,应先检查 Cookie 测试上下文;如果只有唯一性描述变化,除非报告明确联系,否则不要归因于跟踪器行为。
理解受数据范围限制的比较
报告时间戳表示查看或生成报告的时间,不是数据留存保证。README.md 中的 45-day epoch 描述聚合总量,不是对个人数据保存期限的承诺。
固定版本的 README.md 描述特征聚合总量,而不是个人标识符。
指纹部分将可观察的浏览器特征与 EFF 数据中已有的配置比较。唯一性估算描述的是该数据集和方法,不是所有浏览器的普查,也不会揭示匹配访问者的身份。“在这个数据集中少见”和“识别出一个人”是需要不同证据的说法。
EFF 仓库 README 说明,特征总量按 45 天周期更新。这是聚合数据更新过程的属性,不意味着某个浏览器的指纹稳定 45 天,也不意味着它每次更新都出现,更不表示可在这段时间跨网站追踪个人。
比较结果取决于可观察字段、当前实现如何分组以及数据集中包含的人群。任一因素变化都可能影响结果。如果报告没有展示按字段的拆分和证据,就不要把估算归因于某个单一特征。也不要把 EFF 的数字直接与其他服务的评分相比,仿佛两者使用相同人群、归一化、方法和更新周期。
做纵向记录时,保存日期、可知时的公开版本、结果类别和准确可见措辞。只有在既定比较确有需要时才添加浏览器家族与主版本。没有文档化用途时,不要保存原始 Canvas 值、完整字体列表或其他高熵数据。如果报告称配置少见,结论应限定为“该报告在此日期将此观察配置放入该比较类别”。这不能证明个人被识别、浏览器属于自动化或用户将被跟踪。
字段清单能够说明什么
Canvas 指纹分析解释了结果背后的渲染表面;仅凭该机制,不能判断配置在 EFF 数据集中有多少见。
固定版本的 EFF 字段模板列出 HTTP Accept、屏幕、时区、字体、Canvas 与 WebGL 值、Do Not Track、平台、语言和触摸支持等类别,也保留了插件时代用语。该列表记录的是特定源码版本中的字段词汇;它本身不能证明当前每次运行都会收集每个字段。描述当前采集行为前,应核对当前报告、隐私声明和实现。
公开字段解释的范围更有限。Canvas 说明描述图像摘要,并提示其他上下文会影响解读;WebGL 说明描述相关结果,并指出它与 Canvas 结果关系密切;字体说明涉及通过渲染文本进行测量,并指出少见字体可能增加区分信息;时区说明把它作为宽泛线索,而不是精确位置。这些内容不能证明身份、物理位置或意图。
| 字段类别 | 有来源支持的解释 | 安全的比较问题 |
|---|---|---|
| Canvas | 渲染图像可汇总为摘要值;上下文可能重要 | 工具版本与浏览器配置是否相同? |
| WebGL | 会报告与 Canvas 相关的图形结果 | 是否把相关结果误算成独立证据? |
| 字体 | 渲染文本可能反映可用字体差异 | 字体集合是产品需求还是多余暴露? |
| 时区 | 浏览器可见值可提供宽泛线索 | 它是配置标签,而非位置证据吗? |
| 语言与屏幕 | 属于文档列出的浏览器或平台特征 | 当前问题确实需要这些字段吗? |
MDN 的 Canvas 与 WebGL 文档解释浏览器接口,不代表 EFF 的完整采集过程。API 存在不等于某网站在某次会话中调用了它。插件时代遗留类别尤其需要谨慎:历史模板中的提法不能证明现代浏览器仍提供相关技术,或当前报告每次都会收集。
可重复的解读记录表
报告版本未知时,应明确记录为未知;不要假定仓库最新 commit 已经部署到公开服务。
| 步骤 | 记录内容 | 判断规则 |
|---|---|---|
| 1. 确认报告 | 工具名称、页面 URL、日期及可知版本 | 不知道版本就明确记为未知 |
| 2. 拆分部分 | 跟踪器模拟行与指纹比较行 | 除非工具定义,不要合成单一评分 |
| 3. 记录跟踪器 | 请求结果与 Cookie 结果分开 | 只描述模拟显示的内容 |
| 4. 记录指纹 | 唯一性原文与可见字段细节 | 限定在报告数据和方法内 |
| 5. 检查字段来源 | 固定模板、当前报告或隐私声明 | 词汇列表不证明当前采集 |
| 6. 比较日期 | 已知时保持相同路径、版本和上下文 | 重要条件未知时,比较应标为不完整 |
| 7. 减少留存 | 日期、类别、必要版本和说明 | 没有文档化用途就不留原始标识符 |
这张表帮助解释两份可见报告为何不同,但无法复现 EFF 后端,也不能从截图恢复数据集。报告未公开字段级原因时,应留空而不是猜测。明确承认未知,比无证据地归因给 Canvas、WebGL 或 Cookie 更准确。
| 情形 | 观察到的变化 | 有证据支持的后续步骤 |
|---|---|---|
| A | 跟踪器行不变,唯一性描述变化 | 调查跟踪器行为前,先核对报告版本、日期及比较上下文 |
| B | 请求结果不变,Cookie 结果变化 | 检查 Cookie 结果与测试上下文,不据此声称指纹发生变化 |
| C | 一份报告中缺少某个字段标签 | 检查当前报告或实现是否改变;标签缺失不能证明浏览器没有该能力 |
自动化一致性参考将声明的浏览器设置视为相互一致的配置,而不是孤立字段。这份产品文档讨论配置验证,并未声称可以计算 EFF 唯一性评分或预测其跟踪器模拟结果。
隐私与产品边界
工作设备也适用这一注意事项。不要假定公开测试页面只会收到浏览器显示的摘要;提交配置文件前,应在当前隐私声明中确认采集与留存规则。
比较产品时,应声明测试范围,并使用每个工具的直接证据。不能把一个工具的输出当成另一个工具结果的判定依据。
EFF 隐私页面说明收集什么信息以及如何使用。向在线测试提交浏览器前应先阅读,尤其是配置文件含个人账户时。有关留存的问题应以当前隐私声明为准,单项指标说明不能替代隐私政策。
内部评估前先定义问题。若只需判断两个获准测试运行之间配置是否变化,就只保留回答该问题所需字段。不要将它们与账户标识、网络日志或无关浏览历史合并。限制访问、设定删除日期,并说明比较对象是浏览器配置文件、应用构建版本还是受控环境。
BotBrowser 的公开文档涉及浏览器表面配置和自动化一致性,可帮助验证声明的设置;它不能证明 EFF 数据集的覆盖范围,不能单凭配置复现 EFF 结果,也不能预测其他服务的判断。
没有适当且经过验证的流程时,不应使用报告类别推断个人行为或作出对个人有重大影响的决定。浏览器配置不是一个人;报告只是一个工具在某条路径、某个时间点的输出,即使视觉标签显得十分肯定也一样。
常见问题
跟踪器显示被阻止,是否说明无法跟踪浏览器?
不是。EFF 指出工具不会测量所有跟踪与防护方式。结果只适用于所测的模拟路径。
少见的指纹能识别访问者吗?
不能。它描述的是工具数据和方法内的比较,不会指出某个人,也不能证明稳定身份。
为什么同一浏览器的两份报告会不同?
字段、实现、比较数据和测试上下文都可能独立变化。没有字段级证据时,不能确定单一原因。
排障时应该保存 Canvas 或字体原始值吗?
仅当有文档化目的并落实访问和删除控制时才考虑。多数场景保留结果类别、日期和必要版本即可。
来源
- EFF Cover Your Tracks: About:跟踪器模拟与唯一性研究方法。
- EFF Cover Your Tracks: Learn:区分存储标识符与可观察配置特征。
- EFF Cover Your Tracks: Privacy:信息收集与用途。
- 固定版本 EFF 结果模板:独立结果行、请求/Cookie 比较及测量限制。
- 固定版本 EFF 字段模板:字段词汇与历史术语。
- Canvas 说明、WebGL、字体和时区:各指标的解释。
- 固定版本 EFF README:特征总量的 45 天周期。
- MDN Canvas API和MDN WebGL API:接口背景,不证明特定采集行为。
- BotBrowser 自动化一致性和指纹概览:产品范围。
实践结论
将 EFF 页面视为两份相关但独立的报告:一份是特定跟踪器模拟,另一份是浏览器配置比较。记录类别与日期,提交配置文件前查看隐私声明,并只保留必要信息。结果可以指引后续检查,但不能识别个人、认证所有防护或预测其他服务的决定。
本文属于指南: 什么是浏览器指纹?原理、风险、信号与隐私边界