Contact

The data is the site

Every ranking, score and citation on these pages is rendered from one file. That file is the download below, not an export built from it, the same data. A review that computes its verdicts from one source and offers a spreadsheet built from another has not really opened its data, so we do not.

corpus.json

The complete corpus, as served to the renderer.

Download corpus.json
Engine version
0.2.0
Generated at
2026-07-28
Providers
4
Evidence items
29
Weightings
5
Score runs
20

What it contains

The corpus is one JSON object. At the top it carries the engine version that scored it and a generatedAt derived from the newest evidence-capture date it holds, never from the wall clock, so two builds of the same evidence produce byte-identical files and a reader can diff two snapshots and see only what actually changed.

4 providers, as structured facts
For each provider: ownership and jurisdiction, logging posture, security and server claims, transparency record, platforms, and pricing, every field the scoring engine reads, in the shape it reads it.
29 evidence items
Each is a primary source with a verbatim excerpt, a source URL, an archive URL where one exists, and the date it was captured. Every score traces to these by id; a number with no evidence behind it is a build error, not an editorial choice.
A score run under each of 5 weightings
Every provider carries an immutable run per published weighting, 5 in all, from the evidence-weighted default to a parity setting that mirrors the industry standard. Each run holds the headline, the provable floor and potential, and the full per-dimension breakdown across all 11 dimensions: every rule that fired, its weight, and the evidence ids it rested on.

The schema, at a glance

The top-level object and the fields that matter most for reading it back:

FieldWhat it holds
engineVersionThe scoring engine that produced every run in the file.
generatedAtThe newest evidence-capture date in the corpus. Deterministic, not a timestamp.
weights[]Each published weighting: an id, a label, a description, and the per-dimension weights.
providers[].factsThe structured facts for one provider, the scoring engine's whole input.
providers[].evidence[]The cited sources: kind, excerpt, source and archive URLs, capture date.
providers[].runs{}One immutable ScoreRun per weighting id, each with its dimension breakdown.

Reconstructing the scores

Nothing here is a black box. Each run's headline is the weighted mean of its dimension values, held inside the provable interval; each dimension value is the sum of the rule deltas in its breakdown. Take the breakdown in the file and the weights beside it and you arrive at the same number this site prints, that is the test the data is built to pass. The formula it follows is written up in the methodology.

Licence

The corpus is open. Use it, republish it, check our arithmetic against it, build your own rankings on it, we ask only for attribution back to Openscore VPN. The evidence excerpts quote primary sources and remain the property of their authors; the URLs and archive links point to where each one came from so you can go to the source yourself.