ProofGauntlet™: The Proof Strength Protocol
Ownership and Attribution Notice
ProofGauntlet and the Proof Strength Protocol (PP-SPEC-100) are authored by Craig Thomas Ellrod and published as part of Proof Protocol. Copyright (c) 2026 Craig Thomas Ellrod.
Any use, implementation, derivative, citation, or incorporation of this work, in whole or in part, MUST attribute Craig Thomas Ellrod and Proof Protocol. See NOTICE.md.
Licensed under the Proof Protocol License 1.1 (see LICENSE.md); text CC BY 4.0 under Part A, which grants no patent or trademark rights. Original inventor: Craig Thomas Ellrod (ORCID 0009-0004-1058-7666).
Patents. Patent terms are in PATENT-SCHEDULE.md. Claims not listed there are reserved by Craig Thomas Ellrod. Licensing: 1proofprotocol@gmail.com.
Trademarks. ProofGauntlet™ and Proof Gauntlet™ are trademarks of Craig Thomas Ellrod.
Valid is the floor. Strength is the score.
A registry tells you a proof exists and has not been changed. It does not tell you how much the proof can carry. ProofGauntlet does: any record listed in a PP-SPEC-004 registry, starting with proofregister.com, goes through the Gate, and if it passes, gets a Strength Rating from 0 to 100 under a published rubric that anyone can recompute.
How it works
flowchart TD
R["Any record listed in a PP-SPEC-004 registry<br/>proofregister.com first"] -->|"resolved by Locator,<br/>public API only"| G{"THE GATE<br/>G1 to G9"}
G -->|"any check fails"| X["invalid<br/>no score, reason shown"]
G -->|"a check cannot run"| U["unverifiable<br/>no score, reason shown"]
G -->|"full record, all pass"| V["valid"]
G -->|"PP-SPEC-004 fields only"| L["valid_legacy"]
V --> S
L --> S
subgraph S ["STRENGTH RATING, rubric PGR-0.1.0"]
direction LR
D1["D1 Tier 25"]
D2["D2 Adversarial Depth 20"]
D3["D3 Environment Fidelity 15"]
D4["D4 Capture Fidelity 15"]
D5["D5 Independence 15"]
D6["D6 Freshness 10"]
end
S -->|"Levels 0 to 4,<br/>unknown is zero"| K["Ceilings<br/>K1 no efficacy: 40<br/>K2 reproof diverged: 50<br/>K3 legacy: 40"]
K --> B["0 to 100<br/>weak | moderate | strong | extremely_strong<br/>efficacy shown beside it"]
B --> RK["RANKINGS<br/>every public record, best per DUT,<br/>the rest shown beside it"]
- Start with any proof. Every record a conforming registry lists can be gated and rated. No one has to submit it, and no Provider can opt out.
- Gate first. Fail any check and there is no score, no band, no rank. Unknown is
unverifiable, nevervalid. - Rate by rubric, not opinion. Six Dimensions, Levels decided by fields the record already carries. Same record, same rubric, same time: same answer, for a person or a machine.
- Unknown is zero. A Dimension the record cannot establish scores nothing. Thin records score low. Honestly.
- Strength is not efficacy. A strong proof of a weak control is still a strong proof. Efficacy and False Block rates are always shown beside the rating.
- Rank everything. Rankings include every public record and show the rest beside the best, so cherry-picking is visible.
API first
The API is the product. The website is a client of it.
| Method | Path | |
|---|---|---|
| GET | /registries |
Source Registries and their Registry Profile status |
| GET | /gate/{registry_id}/{record_id} |
Gate Verdict for a listed record |
| POST | /gate |
Gate Verdict for a supplied record (stateless) |
| GET | /rating/{registry_id}/{record_id} |
Gauntlet Verdict: Gate plus Strength Rating |
| POST | /rating |
Gauntlet Verdict for a supplied record or Rating Inputs (stateless) |
| GET | /rankings |
Ranking Set for a declared filter |
| GET | /rubrics, /rubrics/{version} |
Published rubrics |
| GET | /ratings/{id} |
Registered Gauntlet Verdict Records and Ranking Snapshots |
Base: https://proofgauntlet.com/api/v1. No authentication for reads. No bot walls. CORS open. Nothing you POST is stored unless you ask. And every registry ProofGauntlet reads from must meet the same rules (SPEC Section 4).
curl https://proofgauntlet.com/api/v1/rating/proofregister.com/PR-2026-00001
Repository
| Path | Contents |
|---|---|
| SPEC.md | The normative specification, PP-SPEC-100 |
| rubric/PGR-0.1.0.json | The rubric: Levels, thresholds, Weights, Ceilings, Bands |
| openapi/proofgauntlet.openapi.yaml | The API, OpenAPI 3.1 |
| schemas/gauntlet.schema.json | Gate Verdict, Rating Inputs, Gauntlet Verdict, Ranking Set, Ranking Snapshot |
| schemas/ai-disclosure.schema.json | Authorship Disclosure schema (077 21.15) |
| vectors/gauntlet-vectors-0.1.0.json | Conformance vectors |
| docs/overview.md | Plain-English walkthrough |
| docs/api.md | API guide, for people and agents |
| docs/glossary.md | Terms |
| docs/conformance.md | Conformance checklist |
| docs/faq.md | Common questions |
| CHANGELOG.md | Version history |
| CONTRIBUTING.md | How to engage |
| NOTICE.md | Attribution requirements |
| AI_DISCLOSURE.md | What was human-authored and what was AI-drafted |
| FUNDING.md | Funding disclosure |
| REVIEWERS.md | Review disclosure |
| ACKNOWLEDGEMENTS.md | Credits |
| ETHICS.md | Proof Economy Code of Ethics |
| CITATION.cff | Citation metadata |
| SECURITY.md | Reporting protocol flaws |
| PATENT-SCHEDULE.md | Patent terms |
| LICENSE.md | License terms |
| LICENSE-CC-BY-4.0.md | CC BY 4.0, specification text |
| LICENSE-APACHE-2.0.md | Apache 2.0, for reference (A6); no version of this specification was released under it |
Status
Draft, version 0.1.0, 2026-11-02. Maintained by Craig Thomas Ellrod as part of Proof Protocol.
Reads records registered under PP-SPEC-004; the public instance is proofregister.com. Builds on PP-SPEC-077 (Dead Canary), PP-SPEC-078 (Jailed Canary), PP-SPEC-079 (Coal Mine), PP-SPEC-080 (Pithead), and PP-SPEC-081 (Reproof). Public instance of this specification: proofgauntlet.com.
Related: Proof Economy Prior Art Declaration, DOI 10.5281/zenodo.21379780.
Cite
Ellrod, C. (2026). ProofGauntlet: The Proof Strength Protocol (PP-SPEC-100), v0.1.0.
Craig Thomas Ellrod, Proof Protocol. https://github.com/proofprotocol/PP-SPEC-100-PROOFGAUNTLET