手法
スコアはこのサイトが売る商品そのものであるため、モデルは説明されるのではなく公開されている:このページはmethodology.json — 採点エンジンが読むのと同じファイル — から描画される。手法が数字から乖離することはあり得ない。コピーは1つしか存在しないからだ。
どちらのスコアもサービスクラスなしには表示されない — それが、実際に知りたい問いにどちらが答えるかを教えてくれるものだからだ。
順位は保存された値ではない。それはリストの性質だ:各ランキングページは2つのスコアからプロバイダーを並べ替え、どちらの軸で並べたかを示す。プライバシー重視のランキングはセキュリティを優先し、ストリーミング重視のランキングは使いやすさを優先する。優先軸が同点の場合はもう一方のスコアに、それも同点なら名前にフォールバックする — 順序は必ず一意に決まり、同じ数字を持つ行は2つと存在しない。誰かが動かせる順位フィールドは存在しない。
8つの独立したリスクチャンネルがそれぞれ公開レコードに1つの問いを投げかける。各チャンネルは0から1の確率で答える — この特定の経路がユーザーを特定する見込みはどれくらいか — そしてその8つは加算ではなく乗算される。
どのチャンネルも、重要そうに感じるという理由で重み付けされてはいない。重み付けは各チャンネルが何を見つけるかの中にあり、何も見つからなければスコアはそのままにされる。
各チャンネルは自らが読み取るフィールドを名指しし、各プロバイダーページはそれが実際に読み取った値を、出典と日付付きで示す。以下の数はそれぞれが67件のセキュリティフィールドのうち何件を反映するかを示す。1つ以上の問いに答えるフィールドはそれぞれの下でカウントされるため、合計は67を超える。
| チャンネル | 投げかける問い | フィールド |
|---|---|---|
| 保持 | 通信を個人に結び付けるレコードは存在するか、誰が確認したか? | 13 |
| 法域 | プロバイダーに意見を述べる余地なく、存在するものを誰かが強制的に提出させられるか? | 5 |
| 開示 | すでに何かを引き渡したか? | 6 |
| 誠実性 | 一方で言ったことと別のことをしていたと発覚したか? | 17 |
| 構成 | 出口を誰が運用し、通信に何をするか? | 2 |
| 衛生 | 通過する際にどの識別情報が収集され、クライアントをまったく確認できるか? | 12 |
| 無知 | これについて、誰もどの程度確認していないか? | 6 |
| 沈黙 | 10年、数百万人のユーザー、それでも記録なし? | 5 |
チャンネルはフィールドを読み取ってそのまま数字を出すわけではない。両者の間にはモデルのルールがある:32個あり、それぞれが何を読み取り、どのチャンネルに応答し、どの型の演算を使うかを示す。読者に見えないルールは読者が信用するしかないルールになるため、ここに全文を掲載している。
10の型がすべてを網羅し、その型こそがルールにできることの正直な要約だ:
capped_sum
加算項は超えられない上限に向かって累積する。
constraint
表が満たさなければならない不変条件。何も価格付けせず、プロバイダーごとに評価するのではなく selftest.py によってチェックされる。
decay
その背後にあるエビデンスの古さに応じて調整された値。
derivation
他のフィールドから1つのフィールドを計算するため、事実は一度だけ保存される。
flag
読者向けのマーカーを公開し、スコアは動かさない。
gate
数値を計算するのではなく、モデルのどの分岐を適用するかを選択する。
max
1つの状況を複数の方法で符号化したもののうち最悪のもの。それらは複合しない:1つの出来事を2回記録しても、依然として1つの出来事である。
noisy_or
独立した所見は複合する:1 - product(1 - each)。
product
要因は乗算され、それぞれが他の要因によって確認済みとなった内容を拡大する。
threshold
帯、またはルールが発動するかどうかを決める、入力に対するテスト。
32個すべてが何かに値付けするわけではない。4個はconstraintという型を持ち、そのうち3個 — R08、R22、R23 — はどのプロバイダーに対しても評価されない:それらは表自体が満たすべき不変条件であり、レコードが採点されるときではなく契約が構築されるときにチェックされる。だからフィールド数の代わりに範囲を示している。
4つ目のR29はレコードを読み取るが、それはコーディングのコストではなく、フィールドをどうコード化してよいかを決めるためだ。もう1つのR15はflag型で、読者向けの印を公開するだけで数字は一切動かさない。
R01_bought_coverage誠実性max4件のフィールドを読み取り
支払われたことで存在するカバレッジ
params.bought_coverageで価格付けされた(X08、X10)ペアと、M10にreview_directoryが記載されている場合はparams.review_directoryで価格付けされたX11のうち大きい方。どちらの経路も発動しない場合は0.000
R02_cluster_contagion誠実性product4件のフィールドを読み取り
嘘をついた兄弟プロバイダーから持ち込まれたリスク
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誠実性max1件のフィールドを読み取り
グループが他に販売するものが示唆するマネタイズ
M10のカテゴリーにおける最大値。X05とはnoisy-ORではなく最大値で組み合わせる(1つの状況を2通りにコード化)
R04_lie_group誠実性max2件のフィールドを読み取り
嘘の軸
max(X01, X02) — 決してnoisy-ORにしない:2回コード化された1つのイベントをCHANNEL_CAPまで複合させてはならない。S19は、>0ならcaught_lying、両方が不明ならunexamined、それ以外はclean
R05_exposure沈黙threshold3件のフィールドを読み取り
露出帯
pts = params.years_pointsでスコア化した運用年数 + params.scale_pointsでスコア化したM08 + P04=stayed_loggingの場合のparams.stayed_logging_points。帯は、合計が到達したparams.bandsの閾値のうち最も高いもの、到達しない場合はlow。手書きのP10は無視する
R06_ignorance無知product5件のフィールドを読み取り
誰も確認していないものの価格
min(params.cap, params.slope x (1 - known_share)) x (1 - params.posture_relief x posture)。posture = posture:の合計:各項目は1.0を上限とする
R07_silence沈黙
帯は隣に保存されるのではなく、公表されたスコアから読み取られる — だから言葉と数字が食い違うことはあり得ない。
| 帯 | スコア | 意味するところ |
|---|---|---|
| 保護レベル:高 | 75–100 | プロバイダーの主要なプライバシー主張は根拠で裏付けられており、独立監査による確認も済んでいる。 |
| 保護レベル:中 | 55–74 | 重要な部分の大半は確認済みで、記録上プロバイダーを除外する要因はないが、いくつかの空白が残る。 |
| 保護レベル:平均以下 | 35–54 | 確認済みより未確認の方が多い。スキャンダルはないが、推奨するには不十分。 |
| 保護レベル:低 | 15–34 | 判明していることの大半がプロバイダーに不利に働くか、ほとんど何も確認できない。 |
| 非推奨 | 0–14 | 除外:プロバイダーが自らの行為について虚偽を述べていたことが判明した、またはそのアプリが他のユーザーのトラフィックを利用者の端末経由で流している。 |
セキュリティは関門であり、取引可能な量ではない。総合ランキングでは、使いやすさスコアが高くても、セキュリティスコアが優れたプロバイダーより上位に来ることはない。リストはまずセキュリティで並べ替え、セキュリティが完全に同点の場合にのみ使いやすさに頼る。
現在のレジスターでは、使いやすさで60を得たプロバイダーは、55を得たプロバイダーより25位下に位置する — それはバグではなく正しい順序だ。
モデルが採点するのは公開された根拠の状態であり、企業に対する私たちの意見ではない。したがって、値そのものと同じくらい重要な3つの点がある。
すべての値は出典を伴い、各出典は1つのレベルを持つ。重みはモデル自身が定める:
| レベル | 重み | 内容 |
|---|---|---|
| A | 1.00 | 文書そのもの — ポリシー、報告書、裁判記録 |
| B | 0.85 | プロバイダーが説明責任を伴う場で自ら述べたもの |
| C | 0.70 | 有能な第三者による報告 |
| D | 0.35 | それより根拠の薄いもの全般 |
別途、各値はどのようにそこに存在するようになったかを記録する。documentは出典が存在することを意味し、それだけが根拠付きの主張として表示され得る。derivedはこのページ上のルールによって他のフィールドから計算されたもの。assertedは背後に何もない値であり、誰も確認していないフィールドはこう記録される。
4番目の段階はない:値は文書に基づくか、文書に基づく値から計算されたか、あるいは背後に何もないかのいずれかだ。
3本の曲線を数値で:
| 劣化するもの | 満額で有効な期間 | 半減する周期 | これを下回らない |
|---|---|---|---|
| 監査または検査 | 12か月 | 18か月 | 5% |
| 継続中の実務についての主張 | 12か月 | 60か月 | 15% |
| 透明性に関する数値 | 12か月 | 60か月 | 35% |
3本の曲線が異なるのは、それぞれが描写する対象が異なる速度で変化するからだ。監査人のスナップショットは最も早く劣化する — それはある年のある週に真実だったことを語るにすぎない。継続中の実務についての主張と透明性に関する数値は、恒常的な状態を描写するため、はるかに長く価値を保つ — そして透明性報告書は3つの中で最も高い底値を保つ。かつて数字を公開した企業は、静かな1年ではくつがえらない何かをすでに自ら確立しているからだ。
まったく異なる型だ。異なる種類の問いに答えるものだからだ:加重加算で、機能は積み上がり、欠けているものは不足として扱われる。13個のフィールド、そのうち12個が重みを持ち、合計34ポイント。13番目は年額価格 — 読者が知りたがるので公開されるが、12か月前払いの割引はサービスの性質ではなく商業条件であるため、重みはゼロ。
| フィールド | 重み | 再確認 |
|---|---|---|
| アクティブな検閲下で機能する | 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日 |
結果は値を持つフィールドだけで平均化されるため、誰も記入していないフィールドがあるからといってプロバイダーが不利になることはない。検閲回避は最も重い — それは肝心の場所でサービスがそもそも機能するかどうかを決める、使いやすさの唯一の性質だからだ。スプリットトンネリングは最も軽い — その欠如は不便にすぎないからだ。
価格はセキュリティ軸ではなくここに入り、しかも月額のみが対象だ。年額はサイト全体で表示されるがスコア化はされない:12か月前払いの割引はサービスの性質ではなく商業条件だからだ。
完全性50%でのスコアは、95%でのスコアとは別の主張であるため、完全性はスコアと一緒に公表され、両者は並べて表示される。これは確認済みだったフィールドの割合を示す。
それとともに、すべてのレコードは主要な空白を伴う:何が確認されなかったか、何がそれを解決するか、そして数字に留保を付ける注意点を記す分析者の文章だ。ここから読者は、保証報告書がType IIではなくType Iであることや、フリート対象国がルーティングメモから推測されたことを知る。
空白の長いリストと高いスコアは矛盾ではない:スコアは根拠が支持する内容を語り、空白は根拠がどれだけあったかを語る。どちらの半分も、他方を良く見せるために隠されることはない。
プロバイダーが何も公開していない場合、そのフィールドは不明のままだ。推定されることも、競合他社から推測されることも、マーケティングの数字で静かに埋められることも、どちらかに当てずっぽうで決められることもない — そのコストは無知チャンネルが負担する。それがコストを発生させる正直な場所だからだ。表の中では未確認の値は—として表示され、どちらの方向でも最後尾に並ぶ:フリート規模の昇順並べ替えは、教えることを拒んだプロバイダーに報いない。
2つの軸、2つの下限。意図的に異なる高さに設定されている。セキュリティについては、実質的なフィールドのうち30%未満しか確認されなかった場合、あるいは — 50%未満の確認と35ポイント未満のもとで — 支配的リスクが私たち自身のignoranceである場合、モデルは判定を保留する。どちらも当該プロバイダーについての言明ではない:それは調査が位置付けるところまで進まなかったことを示し、77件中9件のレコードが該当する。
使いやすさについては下限がさらに高い — スコアは利用可能な重みの30%ではなく50%に基づく必要がある — 高いのは、2つの軸が空白への値付け方法が異なるからだ。セキュリティはスコアの内部で無知に値付けするため、薄いレコードはすでにそのコストを負っている。
使いやすさにはそうしたチャンネルがない:未確認の機能は単に平均から外れるだけであり、下限がなければ既知フィールド2件のレコードが測定済みのレコードのように見えてしまう。77件中15件のレコードがusability.state: no_dataを公開しており、それらが持つ数字は測定値ではなく下限値だ — 既知のスコアと並べて、あたかも両者が比較可能であるかのように表示されることは決してない。
6つの限界を、モデルとともに公表している — 後から発覚するのではない。これらはmethodology.jsonの一部であり、モデルが生むすべてのスコアに付随する。だからこそ言い換えず、一語一句ここに掲載する:
expires_at を読むこと。key_gaps でその旨を記す必要がある。V15_assurance_strength は unknown と読み取られ、監査済みのすべてのプロバイダーは各自のレポートの記載ではなく市場標準に基づいて評価される。このフィールドが記録するのは申告された強さであり、その背後にある厳密さではない。エンゲージメントに合理的保証の意見が付いていても範囲が狭いことはあり、その点を示すのが V03_audit_subject と V04_scope_servers である。verdict: no_dataがそのことを明示する。どちらのスコアを読む前にも、両方の軸のcompletenessを読むこと。編集による調整は一切ない。この手法の以前のバージョンでは、編集者が公表理由付きで計算済みスコアを最大2ポイント動かすことが認められていたが、それは廃止された。今ではすべてのプロバイダーページの内訳が演算全体を示しており、その演算から出てこなかった数字は内訳を嘘にしてしまうからだ。
編集判断が置かれる場所は1つあり、それはスコアではない:別枠で保たれ、決して混ぜ込まれない手作業の品質段階だ。編集者があるレコードを誤りだと考えるなら、その道筋は読者に開かれているのと同じもの — 根拠を変更し、モデルに再計算させる。
スコアはインポートのたびに、また要求に応じて再計算される。モデルバージョンはすべてのレコードに一度に適用されるため、その変更は1行ではなくレジスター全体を動かす — それは起こるべきことであり、だからこそすべての変更が公開ログに記録されている。プロバイダーの更新日が動くのは何か重要な変更があった場合のみだ。何も変えない再インポートはすべての日付をそのままにする — 77件のページに今日の日付を刻むことは、私たちが得ていない鮮度の印象を与えてしまうからだ。
買えるのは、誰かがリンク経由で契約した際の手数料と — もし有料掲載がいつか販売されるなら — ランキングの外側にある、ラベル付きの独自枠だけだ。どちらも今日時点では有効になっていない — どのリンクにもアフィリエイトパラメータは付いておらず、掲載枠も一切販売されていない — そしてどちらも、それが現れる場所とアフィリエイト開示で開示される。ランキングは根拠から計算され、その根拠は隣に公開されているため、より良い順位を買うには公開レコードそのものを変える必要がある — それはまさに誰でも確認できることだ。
threshold露出に比例した沈黙
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から取得する。沈黙は蓄積するため年単位で価格付けする:記録がないまま15年経過した場合は、5年の場合と同じ主張ではなく、一定の帯はそう述べていた。開業年が不明のプロバイダーには、R08に従い、ここでは何も請求しない
R08_unknown_pricing6チャンネルconstraintスキーマ内のすべてのリスクおよび下限テーブル
算術規則としての無罪推定
プロバイダーに対するfindingにのみ適用し、公開済みのchannel priorとして記載されたunknown(C01 = prior_0.550)には決して適用しない。これはベースレートであり、findingではない。それ以外では、risk(unknown) <= 0.50 x そのフィールドの確認済み最悪値のriskであり、これと等しくなることはない。caught lieは常に空白を上回る。lie axisおよびすべてのevent fieldではrisk(unknown) = 0.000とする。空白の全価格は、こちらのものとしてラベル付けされた無知について、1回だけ支払われる
R09_channel_combination8チャンネルnoisy_or8件のフィールドを読み取り
8つのチャンネルを1つの数値にする方法
score = 100 x product(1 - min(0.90, r_c)) を8つのチャンネルについて適用する。包括的な下限または上限は設けない。S18は9番目のチャンネルとしてではなく、integrityの内部に入る
R10_disclosure_decay開示decaymax4件のフィールドを読み取り
不利益な出来事も古くなる
disclosure = P01、P02、P03のうち、そのフィールド固有の減衰後の価格の最大値—1つの差押えについて3つの符号化は1つの差押えであるため、最悪の1経路を取り、決して合算しない。同じエピソードに関するP12_case_historyエントリーの日付に対してdecay(plateau=12, half_life=60, floor=0.35)を適用し、エントリーが何が起きたと述べているかで照合する—P01は差押え、P03はcourt_order、subpoenaまたはmandate_orderに対応させる—結果では決して照合しない。何も生じなかったエピソードも、その所見の日付となるエピソードであるためである。P02は結果で照合する。そこでは結果が事実だからである。そのようなエントリーがない不利益な事象は、減衰前の値を維持する。実務曲線の形状は、実務エビデンスの0.15に対してここでは0.35という、より高い下限を持つ。実証された開示は記録に恒久的に残るためである
R11_evidence_voiding保持開示誠実性gate1件のフィールドを読み取り
支配権の変更は移転されるものをリセットする
M16より前の日付のエビデンスは現在のオーナーに結び付かない。監査はシリーズボーナスを失い、開示イベントはR10の下限まで低下し、同一グループ内の所見は一切移転しない
R12_report_plausibility誠実性無知threshold5件のフィールドを読み取り
透明性レポートはその内容に見合う価値がある
P09 = 0、P08がparams.min_requestsを上回り、かつ一人あたりのレコードが開示対象として存在することをレコードが確認している場合、P06 = zero_implausibleとなる—保持の重大度がparams.min_retention以上である場合。ユーザー規模だけでこれを判定すると、その目的とは逆のものを罰することになった。数値を公開して付与されたものはないと報告したプロバイダーは嘘つきとされ、何も公開しないプロバイダーは何も支払わなかった。付与可能なものがあると自らのレコードが示しているプロバイダーに対してのみ、付与ゼロは信じがたい。確立されたノーログの所見に対しては、それが期待される回答であり、モデルはあるチャンネルで評価したものを別のチャンネルで信じないことにしてはならない。これが発動すると、P05による姿勢の軽減は0.00に設定され、integrityはparams.routeの経路を得る
R13_derived_jurisdiction法域noisy_ormax6件のフィールドを読み取り
義務フィールドは判定されず導出される
C10 = M06 in MANDATE_COUNTRIES、C11 = M11 in MANDATE_COUNTRIES。M11 = M06の場合、2つは同一の状況であり、法域はmax(C10, C11, P11)を取る。noisy-ORは使用しない。フリートのエクスポージャーはmax(C09b, P04)として入り、これは企業側の経路とは別の経路である。手書きの上書きには独自のソースが必要であり、そのようなものとして公開される
R14_disclosure_rate開示threshold2件のフィールドを読み取り
データを生じさせたリクエストの割合
P08がparams.min_requestsに達すると、rate = P09 / P08。risk = params.weight x rate。法域をまたぐ比較可能性が低いため、rateの横に公開する—ある国ではrequestが裁判所命令を意味し、別の国では書簡を意味するためである
R15_free_tier_flagチャンネルなしflag2件のフィールドを読み取り
無料ティアは何らかの方法で支払われている
paramsで指定されたすべてのフィールドが、それぞれについてparamsが列挙する値のいずれかを取る場合、S22 = flaggedとなり、それ以外ではそうならない。いずれの軸のスコアも変更しない。両方の入力はすでに属する場所で評価されており、両軸が拒否するために存在する平均化を、その組み合わせの評価によって行うことになるためである
R16_opaque_at_mass_scale誠実性threshold2件のフィールドを読み取り
不透明性は、対象とする人が多いほど悪化する
X03 = 不透明、M08 = 大規模 -> 不透明の場合、X03固有の価格ではなく params.at_mass_scale
R17_location_notice法域derivation3件のフィールドを読み取り
義務国が提供されている場合、実際にそこに何があるか
C09 = MANDATE_COUNTRIESに現れるU02の国。派生値であり、手入力されることはない。C09単独では何も加点せず、完全性の分母にも含めない。そのような国に出口を提供していること自体には何の意味もなく、読者が選んだ所在地に対して公開される。加点対象はC09bであり、C09が空でない場合に一度だけ問う価値のある問題、つまりハードウェアが実際にその義務の下にあるのか、それとも所在地が仮想でハードウェアは別の場所にあるのかである。C09が空の場合、C09bはn/aであり、P04とはmaxで結合する。義務の下に存在することは1つの状況であり、2回コード化される
R18_audit_gate保持gatemax2件のフィールドを読み取り
監査がどの保持分岐を取るか
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ではない。1つの状況を2回コード化しても、複合させてはならない(R04と同様)
R19_audit_decay保持decay1件のフィールドを読み取り
設定が頻繁に変わる
decay(params.decay) — 月単位で連続、ノットなし
R20_practice_ages保持decaymax1件のフィールドを読み取り
文書化されたすべての出来事にはそれぞれの日付がある
P12の各イベントで outcome = nothing_produced のものは、固有の日付に対するdecay(practice)に寄与する。フィールドのpractice値はイベントの合計ではなく、イベント間の最大値である。これは、複数の押収を1つにまとめていたP01およびP03の単一日付の解釈に置き換わる
R21_circumvention_decayusabilitydecay1件のフィールドを読み取り
ブロッキングはエビデンスより速く進む
フィールド固有の基準日から12か月を超えて古くなると、U06 = 自己申告として確認済みのスコア。レコードではすでにすべてのフィールドに日付が付されているため、経過期間は値に記載するのではなく、そこから読み取る。減衰を持つ唯一の使いやすさフィールドであり、真実性が失効する唯一のフィールドだからである
R22_completeness無知constraintすべてのフィールドの完全性列
分母が数えるもの
completeness = yesの実質的フィールド。n/aは分母から外れ、unknownは分母に残る。識別情報フィールド、モデル出力、重複するラベル、使いやすさフィールドはすべて対象外であり、使いやすさのカバレッジはS16として別途報告される
R23_credence_defaults保持constraintスキーマ内のすべての要素テーブル
未読のエビデンスは加点されない
R08のミラーであり、意図的にR08とは対称ではない。factor(unknown) <= そのフィールドにおける真正なエビデンス階層の最も弱い層であり、開示拒否を符号化する値(V06 unnamed、V02 none)を厳密に上回る。誰も読んでいない監査を額面どおりに評価すれば、購入されたレポートがスコアに紛れ込む。こちらの無知をプロバイダーの拒否であるかのように扱うのは逆の誤りである。未検証のエビデンスを評価しないことは告発ではない—プロバイダーは所見ではなく、事前分布、すなわち市場のベースレートに戻る
R24_retention_composition保持productmax14件のフィールドを読み取り
保持サブチャンネルを1つの数値にする方法
4つのサブチャンネルは平均しない。credence.paper = R18が選ぶ分岐(stated: credence_stated、silent: credence_silent x subject_factor)x その分岐固有の.confのsource_credence x audit_decay(R19)x publication_factor x engagement_factor(firm x standard x assurance strength)x stated分岐のscope_factor x R11がseriesを維持する場合の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)) — 2種類のエビデンスは1種類を上回るが、どれほどエビデンスがあっても確実性には達しない。severity = R18に従うmax(C01, V11)、いずれも確認済みでない場合はprior。retention = credence x severity + (1 - credence) x max(severity, prior):市場の基準率への回帰は上向きのみであるため、不利益な自認は額面どおりの値を維持する。最後にretention.floor = max(retention, C12 floor:)。トンネルを対象範囲とする監査では、アプリ内の事実をクリアできないためである
R25_integrity_composition誠実性noisy_or14件のフィールドを読み取り
誠実性ルートを1つの数値にする方法
完全性 = 発動するルートについての (1 - route) の積を 1 から引いたもの:嘘の軸(R04)、オーナーの透明性(大規模では R16)、オーナーグループの履歴、収益化とグループが販売するものの組み合わせ(R03)、インシデント対応、絶対的な主張、lifetime push、購入した報道範囲(R01)、信じがたい報告のルート(R12)、ストア申告の空白(R28)、disclosure_rate_weight x rate(R14)、クラスター感染(R02、S18)。ルートは別々の確認事項であるため複合する。同じ状況を2回コード化した組み合わせは、それぞれのルール内で max によりすでに統合されているため、ここで再び統合することはない
R26_hygiene_composition衛生capped_sum12件のフィールドを読み取り
衛生フィールドを1つの数値にする方法
ハイジーン = min(params.cap, ここに振り分けられた各フィールドのリスク価格の合計)。セキュリティ軸で唯一の加算チャンネルであり、これは1つの確認事項が結果を決めるのではなく、小さな独立した漏れが積み重なるものである。また、cap は軽微な収集の積み重ねが申告のように読まれるのを防ぐ。リストフィールドは最も安い構成員1つ分の価値しか持たない — 匿名の支払い方法が1つあれば十分であり、構成員に価格が付いていない場合はそれ自体の不明価格に戻る。C13_weakest_protocol はここでの派生加数(R32)である。稼働中の旧式トランスポートは、通過時に収集されるもう1つの要素であり、結果を決める確認事項ではない
R27_report_concealment誠実性max2件のフィールドを読み取り
リクエストが保証される規模での開示についての沈黙
中規模または大規模のプロバイダーは確実にリクエストを受けるため、数字が確認済みの形で存在しないことは、私たちの調査の空白ではなくプロバイダーについての事実である:P05 = none は 0.150、fresh_no_numbers は 0.100 — 重要な1つの数字を省いた公開報告は、その最も鋭い形である — stale は 0.050。確認済みの値に対してのみ発動する。不明はここでは何も課金せず、私たち自身が調べていないことが属する無知のチャンネルで価格付けされる。R12の裏返しである。一方は信じられない数字に価格を付け、こちらは数字が一切ないことに価格を付ける
R28_store_declaration_gap誠実性max1件のフィールドを読み取り
ストアの申告と、プロバイダーがストアに提供したポリシーとの比較
必須のストアフォームは、アプリについてのプロバイダー自身による署名済みの声明であるため、フォームが申告するものはすべて、プロバイダー自身がストアに案内するポリシーにも記載されていなければならない。読む方向は一方向のみである:アプリはサービスの部分集合なので、フォームがポリシーより少なく申告していても、スコープで説明でき、何も課金しない。一方、フォームが申告し、ポリシーが一切言及しないカテゴリーには、そのような弁明はない。非開示のカテゴリーが明らかにするものによって段階付ける:識別子または診断には 0.150、挙動 — アプリの活動、インストール済みアプリ、位置情報、またはいずれかの広告目的 — には 0.300、ログを保存しないという主張が否定するまさにその収集を申告する場合には 0.450 を課金する。2つのストアは収集を異なる形で定義するため、AppleフォームとGoogleフォームの差異自体は確認事項ではない。ストア間の最悪の空白が採用される
R29_session_state保持constraint2件のフィールドを読み取り
接続は接続のレコードではない
C01 は、セッション終了後もプロバイダーが人に結び付けられるものを評価する。トンネルが稼働している間だけ存在する状態 — サーバーがパケットをルーティングし、デバイス制限を適用するために保持する送信元IP、アカウントID、接続タイムスタンプ — は接続そのものであり、その記録ではない。それに保持として価格を付けることは、VPNの仕組みを説明したプロバイダーに課金することになる。しかも、何も言わないより高く課金する。このフィールドの空白は市場の事前確率 0.550、source_ip は 0.750 なので、15分間のバッファを正直に説明することが沈黙より高くつく。除外規定は狭くなければならない。そうでなければ、すべてのプロバイダーが書く文になってしまうからである。これは、プロバイダー自身の文書がセッション終了に結び付いた削除期間を明記し、それが 24時間以内である場合にのみ適用される — 最短の暦単位であり、サービスが必要とするどのティアダウンより長く、ログが保持するどのローテーションより短い。申告されていない期間は保持である。暦上の期間 — 7日、30日、ローテーションサイクル — は、どのような言い方でも保持である。設計上、セッションを超えて存続するからである。プロバイダーがその期間を過ぎても保持するものは、なお独自の段階の価値を持つ。また、この除外規定が読むのはプロバイダーの主張だけである:監査でデータの存在が確認された場合、R18 はすでにその確認事項を主張より上位に置く
R30_usability_foundationusabilitythresholdすべての使いやすさフィールドの重み列
使いやすさスコアが依拠するテーブルの割合
使いやすさの合計は、読み取れた可能性のある重みで割る。誰も確認していないフィールドは分母に残り、スコアをゼロにはしない。カバレッジは品質ではないからである。その代償として、スコアは自分の基盤を見られない。最も重いフィールドが読み取れない列は、埋まっている列と同じ形の数字になる。S21 = 読み取った重み / 稼働中の重み。稼働中とは、n/a であるものを除く、重み付きの使いやすさフィールドすべてである。usability_foundation_floor 未満では S20 = no_data:表の半分未満に基づく数字は、どのフィールドが埋まっているかではなく、製品が何をするかを示す。このフロアはセキュリティのものより厳しい。なぜなら、この軸には無知のチャンネルがなく、セキュリティはスコア内の空白に課金する一方、使いやすさは空白に対してどこにも課金しないからである。スコアは no_data の下でも、セキュリティスコアと同じく公開される。公開されない数字は確認できない
R32_protocol_floor衛生derivationmax1件のフィールドを読み取り
現在も提供されている最も弱いトランスポート
C13_weakest_protocol は、C13 独自の表にあるリスク順による U07_protocols 内の最悪のプロトコルであり、ロード時に派生し、手入力されることはない。これは R17 が U02 から C09 を派生させるのと同じ形である。R26_hygiene_composition には加数がもう1つ増えるだけであり、そこにあるすべての項と同じく、ハイジーンチャンネルの上限に拘束される。現代的なトランスポートだけを提供するフリートでは、フィールドは名前ではなく not_applicable である。0.000 を超えるプロトコル価格がなければ、弱いものとして指し示せる提供物が存在せず、タイブレーク順で良いものの中から最も悪くないものを選ぶことは、誰も行っていない確認事項を公開することになるからである。このフィールドは、PPTP と L2TP がなお稼働している低価格帯向けに保持されている。proprietary の価格は、ベンダーが独自のプロトコルを書いていることへの課金ではない。そのプロトコルが弱いかどうかを判断できないことへの価格である。だから vendor_open は何も課金しない。ソースが公開され、独立してレビューされたベンダートランスポートは評価でき、評価のどこにもそれが弱いとは書かれていないからである。それでも課金すれば、解消された無知に価格を付けることになり、ソースを公開することを非公開にするより高くしてしまう
R33_exit_conduct構成max2件のフィールドを読み取り
出口が運ぶ通信に何をするか
アーキテクチャ = max(C00_architecture の価格、C14_traffic_modification の価格)。出口を誰が運営し、出口が通過するものに何をするかは、トンネルの遠端が自分の側にあるかどうかという1つの問いである。1つの悪い答えがそれを決めるため、チャンネルは2つの価格のうち悪い方を採用し、合計は決して取らない。出口を見知らぬ者が運営し、さらにヘッダーを書き換えるとしても、どちらか一方の2倍悪いわけではなく、それ自体の悪さである。headers_injected(0.300)は、通過するトラフィックに追加されるセッション識別子またはその他のヘッダーであり、すべての宛先にユーザーの名前を渡す。content_injected(0.500)は、ページに置かれるスクリプト、広告、その他の素材である。tls_interception(0.750)は、出口が暗号化されたセッションを開くことである。none は、そのように記載された文書から読み取らなければならないが、そのような文書は少ない。そのため、unknown は C00 と同じ市場の事前確率を持ち、残りは無知のチャンネルが処理する
M14_inclusion_basis である。カタログに掲載されていないプロバイダーは、そのプロバイダーについてのエビデンスである前に、この手作業による選定についてのエビデンスであり、ここではどの程度取りこぼしているかを推定するものはない。1
ここではレジスターが描く比率のままに描いている。その比率こそが主張だからだ:一方が順位を決め、他方はそれで何が得られるかを説明する。
セキュリティは8個の問いを投げかける
67件のセキュリティフィールドすべてが、そのうち少なくとも1つに反映される。8つの答えは乗算される。
順位を決める
得られるものを説明する
使いやすさは12個のフィールドを重み付けする
重みの合計は34で、12個は加重平均として加算される。 13番目のフィールドは重みゼロで扱われる — 公開はされるが、何によっても値付けされない。
4
どのチャンネルも0.9を超えられない — 文書を読むだけで確実性は得られないからだ。そして1つの事実がチャンネルを下から固定し、そこには監査も届かない。
保持チャンネル
非の打ちどころのない報告書はグラスを空にする。残るのはプロバイダーが保持している識別子だ:
報告書が語れるのは書き記されたことだけだ。識別子は、何かが書き記されていようといまいと、ユーザーが名指し可能であることを告げる — 両者は同じ問いへの答えではない。だからモデルは前者に後者を決めさせない。
3
乗算が何をもたらすかがこれだ。7つのチャンネルが完璧でも、8つ目だけでレコードは決着する — だからプロバイダーは他のすべてを整えることで、失格要因を平均で薄めることができない。コントロールを動かしてみてほしい。
それぞれ0.05を保つ7つのチャンネルと、読者が動かせる1つ — 赤いもの
何も積み上げず、何も平均化していない。整った7つのチャンネルは、そのコントロールを目一杯動かした先でも変わらず整ったままだ — そして8つ目が削ったものを買い戻すことはできない。それこそが8つを乗算する理由そのものだ。
5
このモデルに額面通り受け取られるものは何もない。報告書が何を語るかと、誰がそれを語るかは別の2つの梯子であり、両者は乗算される。
報告書が語ること保持のcredence_stated対credence_silent
誰がそれを語るかsource_credenceの4段階
この2つは乗算される。誰がそれを語るかの4段階、そしてそれぞれが何であるか:
8
図中の各線は、それが応答するチャンネルの名を持つルールだ。すべてこのページの下部に全文掲載している — 読者に見えないルールは、信用するしかないルールになるからだ。
左側の図は、各ルールが読み取りに向かうフィールドすべてを示し、右側の図は各ルールが応答するチャンネルすべてを示す。32件すべてをこのページの下部に全文掲載している — 読者に見えないルールは信用するしかないルールになるからだ。この機構が大きいのは巧妙だからではなく、問いそのものが大きいからだ。1段落で要約できる程度の小さなモデルは、間違った対象を要約していることになる。
2
何かを積み上げるわけではない。各チャンネルは直前のチャンネルが残した割合をそのまま引き継ぐ — だから8つは数字の列ではなく、1本の鎖になる。
score = 100 × ∏ (1 − channel)
この型はnoisy-OR over independent risk channels。ここでは登録済みの中で最高スコアであるProton VPNのレコードで計算している — 以下の数字はこの機会のために書いた例ではなく、そのレコード自身のもの。
3個のチャンネルは何も見つけず、何も削らない。残る5個はそれぞれわずかな割合を削り、その割合は打ち消し合うのではなく積み重なる:100のうち残るのは70。
6
3種類の根拠、3本の曲線 — それぞれ一定期間は横ばいを保ち、その後決して下回らない底値まで下がる。監査はある日に起きた出来事であり、プロバイダーが置かれている状態ではない。
縦軸:根拠がなお保つ重み — 上端が満点、下端がそれ自身の底値
現在1年23456年
どの曲線も一定期間は横ばいを保ち、その後決して下回らない底値まで下がる — 根拠は劣化するのであって、嘘になるわけではない。点は日付付きの監査を公表している登録済み30件のレコードで、それぞれの経過年数の位置に監査曲線上へ配置されている。監査はプロバイダーが置かれている状態ではなく、ある日に起きた出来事だ。
7
空白そのものに値付けする唯一のチャンネル。そしてこのサイトでプロバイダー自身が動かせる唯一の数字でもある — 動かす方法は尋ねることではなく、公開することだ。
0.00レコードへの値付け
min(0.6, 0.9 × (1 − established)) × (1 − 0.4 × posture)
知らないことは中立ではない。何も確認されていないプロバイダーは実際のリスクを抱えており、モデルは丁寧な空白を残すのではなく、それに値付けする — だからこそ、これがサイト全体でプロバイダー自身が動かせる唯一の数字となる。他のすべてのチャンネルは何かが見つかるのを待つが、これだけは何かが公開されるのを待っている。
9
ここにあるすべてのVPNは100点満点の1つの整数を得る。そしてモデルはその尺度を事前に公表した4個の閾値で区切る。閾値を超えれば言葉が変わる。それ以外の何もそれを動かさない — 見栄えの良いロゴも、割引も、プレスリリースも。
帯は範囲であり、1件目のレコードが採点される前から固定され、閾値をまたぐ様子を誰でも自分で確認できるよう公開されている — 数字は計算され、言葉はそこから読み取られ、どちらも買うことはできない。