方法论
得分正是本站所出售的产品本身,因此模型不是被描述,而是被公开:本页正是从methodology.json渲染而来,与评分引擎所读取的是同一份文件。方法与数字不可能出现偏差,因为副本只有这一份。
任何一个得分都不会脱离服务类别单独显示 — 因为正是类别告诉你,你真正关心的问题应该由哪一个来回答。
名次并非存储的值。它是列表的一种属性:每个排名页面都依据这两个得分对服务商排序,并说明依据哪个维度排序。以隐私为导向的排名以安全为先,以流媒体为导向的排名以易用性为先。当排序所依的主维度出现并列,列表会回退到另一个得分,再回退到名称,因此顺序始终唯一,不会有两行携带相同的数字。不存在任何人可以撬动的“名次”字段。
八个独立的风险通道各自向公开记录提出一个问题。每个通道以0到1之间的概率作答 — 这条特定路径识别出用户的可能性有多大 — 这八项相乘,而非相加。
没有任何通道会因“感觉重要”而被赋予更高权重。权重体现在每个通道发现了什么,一无所获则不影响得分。
每个通道都注明自己读取的字段,每个服务商页面都会显示它实际读取到的值,并附带出处和日期。下方数字表示每个通道反映了67个安全字段中的多少个;一个字段若能回答不止一个问题,会分别计入各自的通道下,因此总数会超过67。
| 通道 | 提出的问题 | 字段 |
|---|---|---|
| 留存 | 是否存在将流量与某人关联的记录,以及由谁检查? | 13 |
| 管辖地 | 在服务商无法置喙的情况下,是否有人能强制获取现有内容? | 5 |
| 披露 | 是否已经交出了某些东西? | 6 |
| 完整性 | 是否被发现说一套做一套? | 17 |
| 架构 | 谁在运营出口,以及它如何处理流量? | 2 |
| 卫生 | 有哪些可识别材料在经过时被收集,以及客户端是否完全能够接受检查? | 12 |
| 无知 | 有多少内容无人确认? | 6 |
| 沉默 | 十年、数百万用户,却没有任何记录? | 5 |
通道不会自行读取字段并直接产出数字。介于两者之间的是模型的规则:共32条,各自注明读取什么、对应哪个通道、使用哪种运算形态。之所以在此完整列出,是因为读者看不到的规则,就只能被信任。
十种形态涵盖了全部规则,形态正是对一条规则能做什么的诚实概括:
capped_sum
各项累加至无法超过的上限。
constraint
各表必须满足的不变量。它不对任何内容定价,而是由 selftest.py 检查,不按服务商逐一评估。
decay
按其背后证据的年限缩放的值。
derivation
从其他字段计算出一个字段,因此该事实只存储一次。
flag
为读者发布标记,不改变得分。
gate
选择模型适用的分支,而不是计算数值。
max
同一情况的多种编码中最差的一种。它们不会叠加:记录两次的同一事件仍然只是一个事件。
noisy_or
独立发现会叠加:1 - product(1 - each)。
product
因素相乘,每个因素都会对其他因素已确认的内容进行缩放。
threshold
对输入进行测试,以决定区间或规则是否触发。
并非全部32条都在为某项内容计分。其中4条属于constraint形态,而这4条中的3条 — R08、R22、R23 — 根本不针对任何服务商进行评估:它们是表本身必须满足的不变条件,在契约构建时而非记录评分时被检查,这也是它们标注的是范围而非字段数的原因。
第四条R29确实读取记录,但目的是决定一个字段该如何编码,而不是编码本身的代价。另一条R15属于flag形态:它只为读者公开一个标记,不会左右任何数字。
R01_bought_coverage完整性max读取4个字段
因付费而存在的覆盖范围
以下两者中取最大值:按 params.bought_coverage 计价的 (X08, X10) 对,以及在 M10 列出 review_directory 时按 params.review_directory 计价的 X11;两条路径均未触发时为 0.000
R02_cluster_contagion完整性product读取4个字段
从被抓到撒谎的姊妹服务商处引入的风险
min(params.cap, coupling x transfer x 对同胞记录 s 的 R04_lie_group(s) 取最大值);coupling 是在 M18_shared_infrastructure 上读取的 params.coupling;当基础设施分离、未知或在表中未命名任何内容时,回退到 M17_brand_role;transfer:finding date >= 两者的 M16 最大值时为 1.0,否则为 0.0;未标日期的 finding -> 0.0;同胞记录必须是已公开记录;绝不读取同胞记录自身的 contagion
R03_owner_business完整性max读取1个字段
由该集团销售的其他产品所暗示的变现
对 M10 类别取最大值;与 X05 合并时取最大值,而不是 noisy-OR(一个情况,两种编码)
R04_lie_group完整性max读取2个字段
谎言轴
max(X01, X02) — 绝不使用 noisy-OR:同一事件被编码两次时不得叠加至 CHANNEL_CAP;若 >0,则 S19 = caught_lying;两者均未知时为 unexamined;否则为 clean
R05_exposure沉默threshold读取3个字段
暴露区间
pts = 按 params.years_points 计分的运营年数 + 按 params.scale_points 计分的 M08 + 当 P04=stayed_logging 时的 params.stayed_logging_points;区间是 params.bands 中总分达到的最高阈值,否则为 low;手写的 P10 不予考虑
R06_ignorance无知product读取5个字段
无人确认之事的代价
min(params.cap, params.slope x (1 - known_share)) x (1 - params.posture_relief x posture);posture = posture 的总和:各项上限为 1.0
R07_silence沉默threshold读取4个字段
与暴露程度成比例的沉默
仅在 P01 和 P03 属于 {none_known, unknown} 且 P05 属于 {none, unknown, fresh_no_numbers} 时触发;risk = min(params.cap, params.per_year x 运营年数 x weight),weight 取自按 exposure band 划分的 params.weight。按年份计价,因为沉默会累积:记录中什么都没有的十五年,并不等同于五年,而固定区间已经说明了这一点。根据 R08,启动年份未知的服务商在此处不计费用
区间从公开得分中读取,而非另行存储,因此措辞与数字不会出现偏差。
| 区间 | 得分 | 意味着什么 |
|---|---|---|
| 保护程度:高 | 75–100 | 提供商的核心隐私声明有证据支持,并经过独立审计核实。 |
| 保护程度:中 | 55–74 | 重要事项大多已确认,记录上没有将提供商排除的因素,但仍有一些空白。 |
| 保护程度:低于平均 | 35–54 | 未确认的多于已确认的。没有丑闻,但不足以推荐。 |
| 保护程度:低 | 15–34 | 已知信息大多对提供商不利,或几乎无法确认任何内容。 |
| 不推荐 | 0–14 | 被排除:提供商被发现就其行为撒谎,或其应用程序通过用户设备转发他人的流量。 |
安全是一道门槛,而非可交易的量。在综合排名中,再高的易用性得分也无法让某服务商排到安全得分更高者之前。列表首先按安全排序,只有在安全完全并列时才会依赖易用性。
以目前的名录为例,某服务商易用性得分为60,排在得分为55者之后25位 — 这是正确的顺序,而非漏洞。
模型评分的是公开证据的状态,而非我们对某家公司的看法。因此有三件事和值本身同样重要。
每个值都带有出处,每个出处都带有层级。权重由模型自身设定:
| 层级 | 权重 | 内容 |
|---|---|---|
| A | 1.00 | 文档本身 — 政策、报告、法院记录 |
| B | 0.85 | 提供商在负责任的场合亲口所述 |
| C | 0.70 | 有能力的第三方报道 |
| D | 0.35 | 比这更单薄的一切 |
此外,每个值都记录它是如何存在于此的。document意味着存在可供引用的出处,只有这类值才能作为有出处的说法呈现;derived是由本页规则从其他字段计算得出的;asserted是背后没有任何支撑的值,一个无人确认的字段就是这样被记录的。
不存在第四个等级:一个值要么立足于文档,要么由立足于文档的值计算而来,要么背后一无所有。
以数字呈现这三条曲线:
| 会陈旧的内容 | 维持满值的时长 | 每隔多久减半 | 从不低于 |
|---|---|---|---|
| 审计或检查 | 12个月 | 18个月 | 5% |
| 关于持续做法的声明 | 12个月 | 60个月 | 15% |
| 透明度相关数据 | 12个月 | 60个月 | 35% |
这三条曲线之所以不同,是因为它们所描述的对象以不同的速度变化。审计员的快照最快陈旧 — 它只说明某一年某一周内的真实情况。关于持续做法的声明与透明度数据描述的是一种持续的状态,因此价值保持得久得多 — 而透明度报告在三者中保有最高的下限,因为一家曾经公开过数据的公司,已经确立了某种即便沉寂一年也不会被推翻的事实。
这是一种完全不同的形态,因为它回答的是不同类型的问题:加权累加 — 各项功能相加,缺失的一项即视为不足。十三个字段中有十二个带有权重,合计34分。第十三个是年付价格 — 因读者想了解而公开,但权重为零,因为提前一年付费的折扣属于商业条款,而非服务本身的属性。
| 字段 | 权重 | 重新核查 |
|---|---|---|
| 在实施中的审查下可用 | 5 | 30天 |
| 提供客户端的平台 | 4 | 30天 |
| 提供出口位置的国家 | 4 | 90天 |
| 月付方案按实际收取的月价(USD) | 3 | 30天 |
| 可用的免费套餐 | 3 | 30天 |
| 提供的协议 | 3 | 30天 |
| 终止开关覆盖范围 | 3 | 30天 |
| 同时连接数 | 2 | 30天 |
| 开始使用的门槛 | 2 | 30天 |
| 允许 P2P | 2 | 30天 |
| 可访问主要流媒体服务 | 2 | 30天 |
| 支持分流隧道 | 1 | 30天 |
| 年付方案按实际收取的首期价格(USD) | — | 30天 |
结果只在有值的字段上取平均,因此不会因为某个字段无人填写而惩罚服务商。反审查权重最高,因为在最要紧的地方,它是唯一决定服务能否使用的易用性属性;分流隧道权重最低,因为缺少它只是不便而已。
价格进入的是这里,而非安全维度,且只计入月付费率。年付费率在站内随处显示,但不计分:提前一年付费的折扣是商业条款,而非服务本身的属性。
完整度为50%时的某个得分,与完整度为95%时的同一得分是不同的说法,因此完整度与得分一同公开,两者并排显示。它表示已确认字段所占的比例。
与之相伴,每条记录都带有主要空白:由分析人员撰写,说明哪些内容未被确认、什么能够解决它,以及为该数字附加限定条件的注意事项。正是从这里,读者得知某份保证报告属于Type I而非Type II,或某个船队所在国是从路由说明中推断出来的。
高分与一长串空白并不矛盾:得分说明证据支持什么,空白说明证据究竟有多少。任何一半都不会为了让另一半显得更好看而被隐藏。
若服务商未公开任何信息,该字段就保持未知。它绝不会被估算,不会从竞争对手那里推断,不会被悄悄填入营销数字,也不会被随意猜测 — 这一成本由无知通道承担,那正是它应当付出成本的地方。在表格中,未确认的值显示为—,且无论哪个方向排序都排在最后:按船队规模升序排序,不会因为某服务商拒绝告知而给予奖励。
两个维度,两条下限,且刻意设置在不同的高度。在安全性方面,若实质性字段中已确认的比例低于30%,或已确认比例低于50%且低于35分而主要风险来自我们自身认定的ignorance,模型将不予结论。二者都不是对该服务商的断言:它说明的是调查尚未深入到足以确定其位置,且77家中有9家如此。
在易用性方面,下限更高 — 得分必须基于可用权重的50%,而非30% — 之所以更高,是因为两个维度对空白计分的方式不同。安全在得分内部为无知计分,因此一条单薄的记录已经为此付出了代价。
易用性没有这样的通道:未确认的功能只是从平均值中消失,若无下限,一条只有两个已知字段的记录看起来会像被完整测量过一样。77家中有15家记录公开了usability.state: no_data,它们所带的数字是下限值而非测量值 — 绝不会与已知得分并列,仿佛二者可比。
六项局限,与模型一同公开,而非事后才被发现。它们是methodology.json的一部分,随模型产出的每一个分数一起流传,因此在此逐字照录,而非改写:
expires_at。key_gaps。V15_assurance_strength 显示为 unknown,每个已审计服务商都会按市场通常水平计入,而不是按其自身报告所述计入。该字段记录的是声明的强度,而不是其背后的严谨程度——一项委托可以带有合理保证意见,但范围仍可能狭窄,这正是 V03_audit_subject 和 V04_scope_servers 的用途。verdict: no_data 则明确说明了这一点。读取任一得分前,请先读取两个轴上的 completeness。不存在任何编辑调整。本方法论早期版本曾允许编辑在公开说明理由的前提下,将计算得出的得分上下调整最多两分;该做法已被取消,因为如今每个服务商页面的明细都完整展示了运算过程,一个并非源自该运算的数字,只会让这份明细变成谎言。
编辑判断只有一个容身之处,而那不是得分:一个单独保留、从不混入得分的人工质量等级。若某位编辑认为某条记录有误,其途径与任何读者相同 — 更改证据,让模型重新计算。
得分在每次导入时以及按需重新计算。由于模型版本一次性适用于所有记录,对其的修改会牵动整个名录而非一行 — 这本应如此,也正因如此,每一次改动都会公开记录。服务商的更新日期只有在发生实质性变化时才会变动;一次未改变任何内容的重新导入不会更新任何日期,因为给77个页面统一打上今天的日期,会传递出一种我们并未获得的新鲜感。
金钱能买到的是:有人通过链接订阅时产生的佣金,以及 — 若日后开放付费展示位 — 一个带标签、独立于排名之外的专属版块。目前两者均未启用 — 没有任何链接携带联盟参数,也没有任何展示位被出售 — 且二者一旦出现,都会在出现之处以及联盟披露中说明。由于排名由证据计算得出,而证据又公开在旁,购买更好的名次就必须改变公开记录本身 — 而那正是任何人都能核实的事。
R08_unknown_pricing6个通道constraint架构中的每个风险表和下限表
作为算术规则的无罪推定
仅适用于针对服务商本身的 findings,绝不适用于被写成已公开 channel prior 的 unknown(C01 = prior_0.550);这是基础比率,而不是 finding。除此之外,risk(unknown) <= 0.50 x risk(worst confirmed value)(针对该字段),且绝不等于该值;caught lie 始终高于空白;在 lie 轴以及每个 event 字段上,risk(unknown) 均直接为 0.000。空白的全部价格只在无知这一处支付一次,并在那里标记为 ours
R09_channel_combination8个通道noisy_or读取8个字段
八个通道如何变成一个数字
score = 100 x product(1 - min(0.90, r_c)),取八个通道的结果;不设统一下限或上限;S18 在完整度内部计入,而不是作为第九个通道
R10_disclosure_decay披露decaymax读取4个字段
不利事件也会随时间变旧
disclosure = P01、P02 和 P03 中该字段自身价格经衰减后的最大值——一条路径按其最差情况计取,从不复合,因为同一扣押的三种编码就是一次扣押;在同一事件的 P12_case_history 条目所述日期应用 decay(plateau=12, half_life=60, floor=0.35),按条目所述发生的事情匹配——P01 匹配 seizure,P03 匹配 court_order、subpoena 或 mandate_order——从不按结果匹配,因为没有产生任何结果的事件仍然是为该结论确定日期的那个事件;P02 按结果匹配,因为在该字段中结果就是事实;没有此类条目的不利事件保留其未衰减值;实践曲线采用更高的下限,此处为 0.35,而实践证据为 0.15,因为已证实的披露会永久留在记录中
R11_evidence_voiding留存披露完整性gate读取1个字段
控制权变更会重置转移的内容
M16 之前的证据不归属于当前所有者:审计失去系列加成,披露事件降至 R10 下限,同级发现完全不转移
R12_report_plausibility完整性无知threshold读取5个字段
透明度报告的价值取决于其内容
当 P09 = 0、P08 高于 params.min_requests,且记录已确认存在一条可披露的个人记录时,P06 = zero_implausible——留存严重程度达到或高于 params.min_retention。仅按用户规模评判会惩罚与其设定目的相反的情况:一个公开其数字并报告没有获准披露记录的服务商被称为说谎者,而一个什么都不公开的服务商则无需付出代价。获准披露数量为零,只有针对其自身记录表明持有可获准披露内容的服务商时才不可信;对于已确认无日志的发现,这是预期答案,模型不得在一个通道中不相信其在另一个通道中已计入得分的内容。触发时,P05 的姿态缓解设为 0.00,完整度获得 params.route 中的路径
R13_derived_jurisdiction管辖地noisy_ormax读取6个字段
义务字段是推导得出而非判定
C10 = M06 in MANDATE_COUNTRIES;C11 = M11 in MANDATE_COUNTRIES;当 M11 = M06 时,两者属于同一情形,管辖地取 max(C10, C11, P11),从不使用 noisy-OR;服务群暴露取 max(C09b, P04),这是与公司路径分开的另一条路径;手写覆盖值需要有其自身出处,并按此公开
R14_disclosure_rate披露threshold读取2个字段
产生数据的请求占比
当 P08 达到 params.min_requests 后,rate = P09 / P08;risk = params.weight x rate;与 rate 一并公开,因为跨管辖地的可比性很低——在一个国家,请求意味着法院命令,在另一个国家则意味着一封信函
R15_free_tier_flag无通道flag读取2个字段
免费层级总要以某种方式付费
当 params 中指定的每个字段都取 params 为其列出的某个值时,S22 = flagged,否则为空;不改变任一轴的得分——两个输入已经在其应在的位置计入价格,而为它们的合取计价会成为两个轴存在所要拒绝的平均化
R16_opaque_at_mass_scale完整性threshold读取2个字段
覆盖的人越多,不透明性越糟
X03 = 不透明,M08 = 大规模 -> 对不透明情况使用 params.at_mass_scale,而不是 X03 自身的价格
R17_location_notice管辖地derivation读取3个字段
提供义务国家时,那里实际有什么
C09 = 出现在 MANDATE_COUNTRIES 中的 U02 国家,自动派生,绝不手动填入。C09 本身不收取任何费用,也不计入完整度分母:在这样的国家提供出口本身说明不了任何问题,而且它是针对读者选择的位置公开的。真正计入费用的是 C09b,即 C09 非空后唯一值得追问的问题——硬件是否确实处于该义务管辖之下,还是位置为虚拟位置而硬件在别处。C09 为空时,C09b 为 n/a,并按 max 与 P04 合并:在义务管辖下的存在是一种情况,却被编码两次
R18_audit_gate留存gatemax读取2个字段
审计采用哪条留存分支
V11 表示留存 -> 使用 params.credence_stated 中的已陈述分支;V01 = yes_* 且 V11 未作说明 -> 使用 params.credence_silent x subject_factor 的静默分支(主体未确认时使用 params.subject_default),且任何分支都不超过 params.credence_max;否则完全没有书面证据;所选分支的严重性 = max(C01_linkable_retention, V11_audit_findings),绝不使用 noisy-OR——同一种情况被编码两次时不得叠加(如 R04)
R19_audit_decay留存decay读取1个字段
配置不断变动
decay(params.decay) — 按月连续,无折点
R20_practice_ages留存decaymax读取1个字段
每个有记录的事件都有自己的日期
P12 中每个 outcome = nothing_produced 的事件都按其自身日期计入 decay(practice, its own date);该字段的实践值取其事件中的最大值,绝不求和;这取代了 P01 和 P03 的单一日期解读,后者将多次扣押合并为一次
R21_circumvention_decayusabilitydecay读取1个字段
封锁比证据推进得更快
U06 = proven:当该字段自身的截止日期已超过 12 个月时,得分按自称处理;记录已经为每个字段标注日期,因此从该日期读取时间跨度,而不是将其写入值中;这是唯一带衰减的易用性字段,因为它是唯一一个其真实性会到期的字段
R22_completeness无知constraint每个字段的完整度列
分母统计什么
完整度 = yes 的实质字段;n/a 不计入分母,unknown 仍计入分母;身份字段、模型输出、冗余标签和易用性字段全部排除——易用性覆盖率作为 S16 单独报告
R23_credence_defaults留存constraint架构中的每个因素表
未阅读的证据不计入得分
R08 的镜像,并且有意不与其对称。factor(未知) <= 该字段中最弱的真实证据层级,并且严格高于任何表示拒绝披露的值(V06 unnamed、V02 none)。把没人读过的审计按表面内容计入得分,是购买的报告洗入得分的方式;把我们自己的无知当作服务商的拒绝,则是相反的错误。不对未经核实的证据计入得分并不是指控——服务商回退到先验、市场基准率,而不是某项结论
R24_retention_composition留存productmax读取14个字段
留存子通道如何变成一个数字
四个子通道不取平均。credence.paper = R18 选择的分支(已陈述:credence_stated;静默:credence_silent x subject_factor)x 该分支自身的 .conf 的 source_credence x audit_decay(R19)x publication_factor x engagement_factor(服务商 x 标准 x 保证强度)x 已陈述分支上的 scope_factor x R11 保留该系列时的 series_bonus,封顶为 credence_max。credence.practice = 按日期记录的 nothing_produced 事件中 practice_credence x practice_decay(R20)的最大值。credence = min(credence_max, max(paper, practice) + secondary_weight x min(paper, practice))——两种证据优于一种证据,但再多证据也无法达到确定性。severity = 按 R18 取 max(C01, V11),或者在两者都未确认时取先验值。retention = credence x severity + (1 - credence) x max(severity, prior):向市场基准率回归只能向上,因此不利于自身的承认保留其表面值。retention.floor = max(retention, C12 floor:) 最后应用,因为范围仅限于隧道的审计无法排除应用中的事实
R25_integrity_composition完整性noisy_or读取14个字段
完整性路径如何变成一个数字
integrity = 1 - product(1 - route),计算触发的各条路线:谎言轴(R04)、所有者透明度(大规模时的 R16)、所有者集团历史、变现方式与集团所销售内容的结合(R03)、事件处理、绝对化声明、终身促销、购买的覆盖范围(R01)、不可信报告路线(R12)、商店声明空白(R28)、disclosure_rate_weight x rate(R14)以及集群传染(R02、S18)。路线会叠加,因为它们是独立的发现;同一情况被编码两次的配对项已在各自规则内通过 max 合并,因此这里不会再次合并
R26_hygiene_composition卫生capped_sum读取12个字段
卫生字段如何变成一个数字
hygiene = min(params.cap, 此处各字段所经风险的价格之和)。这是安全轴上唯一的加法通道:这些是彼此独立且逐渐累积的小型泄漏,而不是由一个发现决定结果;cap 用于防止一堆轻微收集行为被读成一次披露。列表字段按其中价格最低的成员计值——一种匿名支付方式就足够——如果没有成员定价,则退回使用其自身的未知价格。C13_weakest_protocol 是这里的派生加项(R32):仍在使用的旧式传输只是顺带多收集的一项内容,而不是决定结果的发现
R27_report_concealment完整性max读取2个字段
在保证会有请求的规模上对披露保持沉默
中等或大规模的服务商确实会收到请求,因此已确认没有数字是关于服务商的事实,而不是我们的研究空白:P05 = none 收取 0.150,fresh_no_numbers 收取 0.100——一份已公开的报告省略了唯一重要的数字,这是该情况最尖锐的形式——stale 收取 0.050。仅在已确认的值上触发;unknown 在这里不收费,而是在无知中定价,因为我们自己尚未查阅的情况属于那里。R12 的镜像:一项为难以置信的数字定价,另一项为完全没有数字的情况定价
R28_store_declaration_gap完整性max读取1个字段
商店声明与服务商向商店提供的政策之间的对照
强制性的商店表单是服务商针对其应用的自行签署声明,因此表单声明的任何内容也必须出现在服务商自己指向商店的政策中。只按一个方向读取:应用是服务的子集,因此,表单声明少于政策承认的内容可以由范围解释,不收取任何费用;而表单声明了某个类别、政策却从未提及,则没有这种理由。根据未披露类别所揭示的内容分级:标识符或诊断信息收取 0.150;行为——应用活动、已安装的应用、位置或任何广告目的——收取 0.300;声明了无日志声明所否认的实际收集行为,收取 0.450。两个商店对收集的定义不同,因此 Apple 表单与 Google 表单之间的差异本身不是发现。取各商店中最严重的空白
R29_session_state留存constraint读取2个字段
连接不是连接记录
C01 对服务商在会话结束后仍能将哪些内容关联到个人进行分级。仅在隧道建立期间存在的状态——源 IP、账户 id,以及服务器为路由数据包和执行设备限制而保留的连接时间戳——就是连接本身,而不是连接记录;将其作为留存定价,等于因描述 VPN 的工作方式而向服务商收费。更糟的是,这比什么也不说收费更高:该字段空白的市场先验为 0.550,source_ip 为 0.750,因此诚实描述一个十五分钟的缓冲期,比沉默的代价更高。例外范围必须狭窄,否则它就会变成每个服务商都会写的句子。它仅适用于服务商自己的文件明确说明了与会话结束相关、且不超过 24 小时的删除窗口——这是最短的日历单位,比服务所需的任何拆除时间更长,又比日志保留的任何轮换时间更短。未声明时长就是留存。日历周期——7 天、30 天、一个轮换周期——无论措辞如何,都是留存,因为它按设计存续时间超过会话。服务商在该窗口之后仍保留的任何内容,仍按其自身区间计值;而该例外只读取服务商的声明:如果审计发现数据确实存在,R18 已经将该发现置于声明之上
R30_usability_foundationusabilitythreshold每个易用性字段的权重列
易用性得分所依据的表格比例
易用性总和除以它能够读取的权重:没有任何人确认的字段会留在分母中,而不是得分为零,因为覆盖范围不是质量。代价是,得分看不见自己的基础——最重的字段无法读取的列,与已填满的列会呈现相同的数字形态。S21 = 已读取权重 / 有效权重,其中有效权重是所有加权易用性字段减去 n/a 字段后的权重。在 usability_foundation_floor 以下,S20 = no_data:一个建立在不足半数表格之上的数字,只能说明哪些字段已填写,不能说明产品做什么。该下限比安全轴的下限更严格,因为此轴没有无知通道——安全轴会为得分中的空白收费,而易用性轴在任何地方都不为其收费。得分仍会在 no_data 下公开发布,正如安全得分一样;不提供数字就无法核查
R32_protocol_floor卫生derivationmax读取1个字段
仍在提供的最弱传输协议
C13_weakest_protocol 是按 C13 自身表格中的风险顺序排列的 U07_protocols 中最差的协议,在加载时派生,绝不手动填写——形式与 R17 从 U02 派生 C09 相同。它作为又一个加项进入 R26_hygiene_composition,并像其中每一项一样受 hygiene 通道上限约束。对于只提供现代传输方式的服务群组,该字段是 not_applicable,而不是某个名称:由于协议价格没有高于 0.000 的,就没有可指出的弱项;按平局决胜顺序从优良协议中选出最不好的一个,会公开一个没有人作出的发现。该字段是为 PPTP 和 L2TP 仍在运行的低价区间保留的。proprietary价格并不是对供应商编写自有协议收取的费用——它是因为无法判断该协议是否薄弱而收取的价格,这也是为什么vendor_open不收费:源代码已公开且经过独立审查的供应商传输方式可以被评估,而评估中没有任何内容称其薄弱。仍然收费,会为已经解决的无知定价,并使公开源代码比不公开源代码更昂贵
R33_exit_conduct架构max读取2个字段
出口如何处理其承载的流量
architecture = max(C00_architecture 的价格,C14_traffic_modification 的价格)。谁运行出口,以及出口对通过其中的内容做什么,是同一个问题——隧道远端是否在你这一方——一个糟糕的答案就足以决定结果,因此该通道取两项价格中较高者,而绝不相加:由陌生人运行的出口同时改写你的标头,并不会比其中任何一种情况糟两倍,而就是那么糟。headers_injected(0.300)是添加到通过流量中的会话标识符或任何其他标头,使每个目的地都获得一个指向用户的名称;content_injected(0.500)是置入页面的脚本、广告或其他材料;tls_interception(0.750)是出口打开加密会话。none必须从明确如此说明的文件中读取,而这种文件很少,因此unknown带有与 C00 相同的市场先验,其余部分由无知通道处理
M14_inclusion_basis 是记录每个服务商为何在此的唯一字段。某服务商未出现在名录中,首先是关于这种人工挑选的证据,其次才是关于该服务商的证据,而这里没有任何内容估计名录遗漏了多少。一
此处按名录本身所用的比例绘制,因为这个比例正是论点所在:其中一个决定顺序,另一个描述你能得到什么。
安全提出8个问题
全部67个安全字段至少反映在其中之一。八个答案相乘。
决定顺序
描述能得到什么
易用性对12个字段赋权
权重合计为34,其中12个以加权平均的方式相加。 第十三项以权重零的方式记录,因此虽被公开,却不被任何东西计分。
四
任何通道都不能超过0.9,因为仅凭阅读文档无法获得确定性。而一项发现能从下方钉住某个通道,那是任何审计都无法触及的地方。
留存通道
无懈可击的报告会把杯子倒空。留下的是服务商所持有的识别符:
报告只能说出被记录下来的内容。识别符则说明,无论是否有任何记录,用户都是可被指认的 — 二者并非对同一个问题的回答。因此模型不允许前者来决定后者。
五
在这个模型里,没有什么会被照单全收。报告说了什么,以及是谁说的,是两把独立的梯子,二者相乘。
报告说了什么留存的credence_stated对比credence_silent
是谁说的source_credence的四个层级
这两者相乘。是谁说的的四个层级,以及各自是什么:
八
图中每一条线都是一条规则,标注着它所对应的通道。它们全部在本页下方完整列出,因为读者看不到的规则,就只能被信任。
左侧的图展示了每条规则所要读取的全部字段,右侧的图展示了每条规则对应的通道。全部32条规则都在本页下方完整列出,因为读者看不到的规则,就只能被信任。这台机器之所以庞大,不是因为它精巧,而是因为问题本身就庞大 — 一个能用一段话概括的模型,概括的必定是错误的对象。
二
并非累加。每个通道都直接承接前一个通道所剩的比例 — 因此这八项是一条链,而非一列数字。
score = 100 × ∏ (1 − channel)
这个形态是noisy-OR over independent risk channels。此处以在册最高分记录Proton VPN为例计算 — 以下数字并非为此临时编造,而是那条记录本身的数字。
3个通道一无所获,因而不削减任何东西。其余5个各自削减一小部分,且这些比例相互叠加而非抵消:100中剩下的是70。
七
唯一为空白本身计分的通道。也是本站唯一一个服务商能够自行左右的数字 — 左右它的方式是公开,而不是申辩。
0.00计入记录
min(0.6, 0.9 × (1 − established)) × (1 − 0.4 × posture)
不知道并非中立。一家未被确认任何信息的服务商,本身就承担着真实的风险,模型为此计分,而不是留下一片客气的空白 — 这也使其成为全站唯一一个服务商能自行左右的数字。其他每个通道都在等待被发现的东西,唯独这一个,等待的是被公开的东西。
九
这里的每一个VPN都会得到一个百分制的整数,模型再按事先公开的4个阈值划分这个尺度。跨过一个阈值,措辞就会改变。此外没有任何东西能左右它 — 无论是更好看的标志、折扣,还是新闻稿。
区间是范围,在任何一条记录被评分之前就已固定,并且公开,方便任何人自行核实每一次跨越 — 数字是计算出来的,措辞是从中读出的,两者都无法用金钱购买。
三
这正是乘法带来的效果。七个通道可以无懈可击,第八个仍能决定这条记录 — 这就是为何服务商无法靠把其他方面都做好,来平均掉一个失格因素。移动这个控制项试试。
七个各自保持0.05的通道,加上一个 — 红色的那个 — 由读者移动
没有累加,也没有平均。那七个整洁的通道,即便在该控制项被拉到极限之后依然整洁 — 但它们买不回第八个通道所削减的部分,这正是这八项要相乘的全部原因。
六
三种证据,三条曲线 — 各自在一段平台期内保持不变,随后降至一个永不跌破的下限。审计是发生在某个日期的一次事件,而不是服务商所处的一种状态。
纵轴:证据目前仍保有的权重 — 顶端为满分,底端为其自身的下限值
今天1年23456年
每条曲线都在一段平台期内保持不变,随后降至一个永不跌破的下限 — 证据会陈旧,但不会变成谎言。这些点代表在册的30条记录,它们公开了带日期的审计,并按各自的年限置于审计曲线之上。审计不是服务商所处的一种状态,而是发生在某个日期的一次事件。