R-EAL is a published open standard — and you can run it right now. This is a minimal, honest starting point for R-EAL: an example credibility credential that answers the four movements — Rigorous, Resilient, Repeatable and Revealing — a self-test you can walk through by hand, an interactive checker and credential builder that run in your browser, and a validator you can paste into a project. Everything here checks the E1 · Declared floor for real; the higher tiers can be declared but need real reader evidence to be proven.
Paste a credibility credential, upload a .json file, or load the worked example. The check runs entirely in your browser — nothing is sent anywhere.
A single JSON document that answers all four movements for one credibility verdict. It is an example, not a certificate — the shape is what matters.
E1 · Declared is verifiable from the document itself. E2 · Corroborated and E3 · Provable are claims about the reader sample behind the verdict and the evidence trail — so a credential can only declare them and point at where the real evidence lives. The checker labels those tiers accordingly.
E2 · Corroborated
E3 · Provable
Rigorous
Was the verdict reached by a named, agreement-weighted method rather than a raw count?
Pass when: rigor.agreementWeighted is true and rigor.method names the aggregation method.
Resilient
Are sybil and manipulation resistance asserted as active controls?
Pass when: resilience.sybilResistance is true and resilience.manipulationResistant is true.
Repeatable
Is the method deterministic, its inputs hashed, and the credential portable?
Pass when: repeatability.deterministic is true, repeatability.inputsHash is set and repeatability.portableCredential is true.
Revealing
Is there a glanceable verdict plus somewhere to read the full reasoning?
Pass when: revealing.glanceableVerdict is true and revealing.explanationEndpoint is set.
The same checks as the browser tool, as a script. Download it or paste it into a file and run it against a credential. It confirms all four movements are answered at the E1 · Declared floor. It checks the document only — it cannot prove the reader sample was genuine, which is exactly why E2 and E3 need more than a file.
// real-check.js — minimal E1 (Declared) self-check, no dependencies
// Usage: node real-check.js credential.json
const fs = require('fs');
const env = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
const rigor = env.rigor || {};
const resilience = env.resilience || {};
const repeatability = env.repeatability || {};
const revealing = env.revealing || {};
const checks = {
Rigorous: rigor.agreementWeighted === true && typeof rigor.method === 'string',
Resilient: resilience.sybilResistance === true
&& resilience.manipulationResistant === true,
Repeatable: repeatability.deterministic === true
&& typeof repeatability.inputsHash === 'string'
&& repeatability.portableCredential === true,
Revealing: revealing.glanceableVerdict === true
&& typeof revealing.explanationEndpoint === 'string',
};
let ok = true;
for (const [dim, pass] of Object.entries(checks)) {
console.log((pass ? 'PASS ' : 'FAIL ') + dim);
if (!pass) ok = false;
}
console.log(ok ? '\nDeclared (E1): all four movements answered.'
: '\nDeclared (E1): incomplete — see FAIL lines above.');
process.exit(ok ? 0 : 1);
A published open standard
R-EAL is now a published open standard (1.0). The credential shape is stable; future revisions follow the coalition's versioning and change process. What this kit does today is real: it checks that a credential answers the four movements at the E1 · Declared tier. It does not prove E2 · Corroborated or E3 · Provable, because those are claims about the reader sample and the evidence trail, not about a document. Being straight about that boundary is part of the standard being honest.
Test vectors
Canonical fixtures to prove your checker agrees.
Read the standard
The four movements and three tiers in full.
The four movements and three tiers, in full.