数字足迹体检的数据从哪来:一份报告背后的数据流向
很少有人问体检报告里的数字是怎么来的。看到 72 分和十几条高风险推文,第一反应是照着清单去删,至于这些数字读的是哪份数据、中间有没有上传,通常放到最后才想。数字足迹体检的数据来源其实很具体,它只读 X 归档压缩包里的几个文件,剩下的都靠规则判断。把这条链路说清楚,你才能判断一份报告的可信度到底在哪。
下面按「读了什么、忽略了什么、数据去了哪、为什么对不上」四段拆开讲。
归档里真正被读取的文件
X 归档解压后,data 目录下会有二十来个文件。体检不全部读,只挑跟推文内容和账号轨迹有关的那几个。
| 文件 | 提供什么 | 在报告里的作用 |
|---|---|---|
| tweets.js | 全部历史推文正文、时间戳、互动数 | 分数与风险清单的主要来源 |
| like.js | 点赞记录 | 判断兴趣倾向与话题暴露面 |
| direct-messages.js | 私信往来记录 | 识别是否泄露过联系方式 |
| phone-number.js / email-address-change.js | 账号绑定的联系方式与变更历史 | 联系信息类风险的旁证 |
| ip-audit.js / account-creation-ip.js | 登录与创建账号的 IP 记录 | 时间线校对与地域推断 |
tweets.js 是重量级选手,一条推文的文本、时间、点赞与转推数都在里面。其余文件的作用是交叉印证:如果 tweets.js 里某段时间的定位信息很密集,而 ip-audit.js 显示同期登录地在同一城市,这条定位线索的可信度就比单看推文高得多。tweets.js 的内部结构见 归档里 tweets.js 是什么。
报告里的数字分别对应哪个文件
报告看上去是一份整体结论,拆开看,每一块的数据源头都不一样。
| 报告模块 | 主要数据源 | 判断方式 |
|---|---|---|
| 0-100 健康评分 | tweets.js | 按各风险类别的条目数与占比加权 |
| 风险条目清单 | tweets.js | 模式匹配手机号、邮箱、地址、定位 |
| 敏感话题标记 | tweets.js | 词典与语境规则,含误报 |
| 账号活动时间线 | tweets.js + ip-audit.js | 按时间戳聚合 |
| 联系信息暴露面 | tweets.js + dm + 账号文件 | 多文件交叉比对 |
评分怎么加权是另一个话题,粗暴地说,联系信息类权重最高,敏感话题类中档,定位类看密度。具体算法在 健康评分是怎么算出来的 里,这里不重复。需要注意的是任何一个模块出问题,都只会影响它对应的那一块,不会整体串味。
被忽略的字段,以及原因
不读的字段有两种:一种跟隐私风险无关,一种读了反而干扰判断。
- 广告互动记录。跟你的推文内容无关,只会把条目数堆高。
- 关注与粉丝列表。人数过多,噪声大于信息,而且涉及他人隐私,不做分析。
- 设备令牌与个性化设置。对判断「哪条推文有风险」没有帮助。
- 推文的界面语言标记。解析时会重新识别语言,用归档里的标记容易出错。
忽略字段这件事有个副作用值得知道:报告里的条目数会比你想象中少。这不是漏读,而是把跟风险无关的内容先筛掉了。想核对读取范围,可以直接看归档里那份文件清单,路径说明见 怎么读 X 归档。
数据在哪一步离开本机
这是最多人问的一段,也是这份链路里最不该含糊的地方。
- 解析阶段完全在本机。归档解压、文件读取、规则匹配、评分计算,全在你自己的设备上完成,推文文本不经过网络。
- 报告结果不出本机。生成的评分与清单以本地数据结构保存,不提交到服务端。
- 只有删除动作需要授权。删除必须调用平台接口,这一步绕不开授权,但走的是删除权限,不涉及把归档内容上传。
这三条的分界线在「读」和「写」之间。本机处理与云端处理的差别,本质上就是这条线画在哪。更完整的架构说明见 本地处理与云端处理的区别。如果你还想确认报告只在自己手里,导出与分享那一节的做法在 导出与分享体检报告。
为什么报告条数和 X 页面上不一样
对不上是正常现象,原因有几种,分清楚之后就不会误判成漏读。
- 时间差。归档是申请那一刻的快照,之后新发的推文不在里面。
- 已删除内容。归档里保留了你后来删掉的推文,X 页面上看不到。
- 转推与引用。两者的计数方式和页面展示不一致,容易在条数上差出几百条。
- 纯媒体推文。没有文字的推文在正文匹配里不产生条目,但会出现在时间线里。
知道这几条以后,核对方式就清楚了:用归档条目总数对 X 页面的推文总数,不要用风险条目数去对,后者本来就做过筛选。两份数据不一致时先看快照时间,其次看是否含已删除推文。
把数据来源搞清楚,一份报告就不只是分数,而是一条可以追问的链路。体检在 digital-footprint-health.shop 的 首页免费开放,归档在本机解析,推文内容不上传。想先看报告长什么样,可以对照 体检报告的结构说明;清理范围与费用列在 定价页,其余方法文章收在 博客目录。
常见问题
体检会上传我的推文内容吗?
不会。归档解压、文件读取、规则匹配和评分都在本机完成,推文文本不经过网络。只有实际执行删除时需要平台授权,那一步走的是删除权限,不涉及上传归档内容。
为什么报告里的推文条数比 X 上少?
最常见的三个原因是快照时间差、转推与引用的计数方式不同,以及无文字的纯媒体推文不进入正文匹配。用归档条目总数去对 X 的推文总数更准确。
点赞和私信记录也会被分析吗?
会,但用途有限。like.js 用来判断兴趣倾向和话题暴露面,direct-messages.js 用来识别是否在私信里发过联系方式。两者都只作为旁证,不单独决定评分。
哪些归档文件是刻意不读的?
广告互动记录、关注与粉丝列表、设备令牌与个性化设置都不读。前三类与推文风险无关或涉及他人隐私,最后会让条目数虚高,反而干扰判断。
检查你自己的 X/Twitter 数字足迹
免费本机扫描,你的归档永不离开电脑。
免费开始体检相关阅读
自动体检和人工翻归档:覆盖率、成本、漏判率对照
人工翻一遍十年归档到底要花多久?自动体检又快又全,但它读不懂语境。本文对照两种方式的覆盖率与漏判位置,给出配合使用的方法。
体检报告误报了怎么办?五类假阳性和判断方法
体检报告标出风险条目,不代表每一条都真的泄露了隐私。数字串可能是订单号,定位可能来自转发的新闻,邮箱可能是公开的工作邮箱。认清五类常见假阳性,能避免删掉本来不该删的内容。
数字足迹分数多少算正常?按账号类型的参照区间
体检分数没有统一及格线。一个从不上传照片、只做技术讨论的账号,和一个每天发生活记录的账号,拿同一个分数并不能说明同一件事。这份对照表给出常见账号类型的参照区间,以及三个比分数更有用的指标。