Proof of Parity
A Proof Protocol claim specification
Ownership and Attribution Notice
This specification is authored by Craig Thomas Ellrod and is published as part of Proof Protocol. Copyright (c) 2026 Craig Thomas Ellrod.
Any use, implementation, derivative, citation, or incorporation of this specification, in whole or in part, MUST attribute Craig Thomas Ellrod and Proof Protocol. This requirement applies to standards bodies, working groups, consortia, and commercial implementations.
Licensed under the Proof Protocol License 1.1 (see LICENSE.md); text CC BY 4.0 under Part A, which grants no patent 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.
This specification is related to the Proof Economy Prior Art Declaration, DOI 10.5281/zenodo.21379780.
| Field | Value |
|---|---|
| Spec ID | PP-SPEC-094 |
| Version | 0.1.0 (Draft) |
| Date | 2026-11-04 |
| Status | Draft for public record |
| Maintainer | Craig Thomas Ellrod (Proof Protocol) |
| Claim | Proof of Parity |
| Question | Did the test environment match production? |
| Builds on | PP-SPEC-079 (Coal Mine), PP-SPEC-080 (Pithead), PP-SPEC-004 (ProofRegister API) |
Abstract
Proof of Parity is the claim that a test environment matched a named production environment on the dimensions declared in its Parity Declaration: topology, scale, data, identity, control configuration, dependencies and traffic. Each dimension declared identical or scaled is backed by independently captured evidence from both environments. A proof produced in a lab replica extends to production only on the dimensions this claim proves.
A record's claims extend only as far as its parity supports.
Proof of Parity is one member of the Proof of X claim family (PP-SPEC-082, PP-SPEC-089 to PP-SPEC-099 and PP-SPEC-101). Each member answers exactly one question. Only Proof of Efficacy answers whether a control worked; the other members answer the questions a buyer, insurer, regulator or auditor must also have answered before a proof of efficacy can be relied on. No member is a substitute for any other.
What this is not.
- It is not Proof of Efficacy. Parity says the lab looked like production; it does not say the control worked.
- It does not cover dimensions declared synthetic or absent. Those are stated limits of the proof.
1. Conventions
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in BCP 14 (RFC 2119, RFC 8174) when, and only when, they appear in all capitals.
References of the form "077" refer to PP-SPEC-077; other three-digit numbers refer to the Proof Protocol specification with that number. Unprefixed section references are to this specification.
2. Terminology
Terms defined in PP-SPEC-077, PP-SPEC-078 and PP-SPEC-079 have the same meaning here. In addition:
- Claim: The statement that Proof of Parity holds for a named subject, scope and period.
- Claim Declaration: The record, registered and bound to a Time Anchor pulse before any evidence it relies on is produced, that states the claim, its subject, its scope and its limits (Section 4).
- Claim Record: The record of a determination of the claim (Section 9).
- Determination: Exactly one of
proven,refutedorinsufficient(Section 6). - Declarant: The party that registers a Claim Declaration.
- Resolver: The party that computes a Determination from registered records (Section 10).
- Parity Dimension: One of topology, scale, data, identity, control configuration, dependencies and traffic.
- Parity Evidence: An independently captured fingerprint or measurement of one dimension in both environments.
3. The Question
3.1. Proof of Parity answers one question:
Did the test environment match production?
3.2. A party describing a record MUST NOT present Proof of Parity as an answer to any other question, and MUST NOT present an answer to any other question as Proof of Parity.
3.3. "Proof" is a term of art in Proof Protocol. A party MUST NOT describe Proof of Parity as verification, validation, attestation, assurance, or testing, and MUST NOT describe any of those as Proof of Parity. A claim built on the measured party's own records is verification, not proof (PP-SPEC-024).
4. Claim Declaration
4.1. Declare first. The Declarant MUST register a Claim Declaration bound to a Time Anchor pulse before any evidence whose outcome the claim's limits are applied to is produced. Such evidence produced before the Claim Declaration's pulse MUST NOT be counted toward the claim. Records the claim only refers to, such as an original proof, a registered Mine Plan or an Interface Manifest, MAY predate the Claim Declaration if they were registered before it.
4.2. The Claim Declaration MUST contain:
- The subject: the DUT Fingerprint, and the AUT or CUT where applicable
- The Declarant, its interest in the outcome, and the funding tier and Sponsor (079 Section 6)
- The validity period of the claim
- The production environment and the test environment
- The Parity Declaration, per dimension
- The capture party for Parity Evidence
- A publication commitment: that every Determination will be published whatever its result
4.3. Limits before results. Every limit, minimum and tolerance in the Claim Declaration is fixed at registration. It MUST NOT change afterward. A Declarant that wants different limits MUST register a new Claim Declaration.
4.4. Who may declare. Any party MAY register a Claim Declaration, including the Holder, an Implementor, an insurer, a regulator, an auditor, or a competitor of the Provider. The Declarant's interest MUST be declared.
5. Evidence Basis
5.1. Proof of Parity is determined only from the following registered records:
| Record | What it contributes |
|---|---|
| Parity Declaration | The PP-SPEC-079 declaration for the environment, registered before the run. |
| Parity Evidence | For each dimension claimed identical or scaled, captures from the test and the production environment. |
5.2. Every basis record MUST be Conformant under its own specification and Registered. A record produced outside Proof Protocol, under any framework, is verification evidence and MUST NOT be a basis record.
5.3. The measured party's own logs, consoles, alerts, receipts and reports MUST NOT be a basis record.
6. Determination
6.1. The Resolver computes exactly one Determination:
| Determination | Rule |
|---|---|
proven |
Every dimension declared identical has equal Parity Evidence, and every dimension declared scaled is within its declared ratio. |
refuted |
Any dimension declared identical or scaled differs beyond its declaration. |
insufficient |
Any dimension claimed identical or scaled has no Parity Evidence from both environments. |
6.2. Precedence. Where the rules for both refuted and insufficient are met, the Determination is refuted. A claim is proven only when neither of the others applies.
6.3. Mechanical. The Determination MUST be computed from the Claim Declaration and the registered basis records alone, with no other input, so that any party applying this section to the same records obtains the same Determination.
6.4. Insufficient is not a result. insufficient is neither proven nor refuted and MUST NOT be presented as either.
7. Scope, Validity and Expiry
7.1. A Claim Record states its scope exactly as declared. A party MUST NOT present a claim as covering anything outside that scope.
7.2. A proven Determination expires at the first of: the end of the declared validity period; any change of the subject's DUT Fingerprint; or the Revocation of any basis record (077 Section 21).
7.3. An expired claim MUST NOT be presented as current. It remains a record of what was proven for its period.
7.4. Where a proof is reproduced under PP-SPEC-081, a Claim Record MAY carry the Reproof Status of its basis records. It MUST NOT carry it if the reproof scope differs from the claim scope.
8. Independence
8.1. The Provider of the subject MUST NOT act as Resolver and MUST NOT occupy any Integration Point of any basis record.
8.2. The Resolver MUST NOT be a member of the Party Set of any basis record.
8.3. Every separation rule of the specification that produced each basis record applies to that record unchanged.
8.4. An undisclosed affiliation discovered after a Determination invalidates it. Any party MAY publish a Revocation with the evidence of the affiliation.
9. Records
9.1. The Claim Declaration and the Claim Record are records under 077 Section 21. Their Record IDs are computed as SHA-256("POPA-1:record" || canonical_form) under the exclusions of 077 Section 21.
9.2. A Claim Record MUST carry: the Claim Declaration's Record ID; the Record IDs of every basis record; the Determination; the scope; the validity period and any expiry reason; and the result fields of schemas/parity-claim.schema.json.
9.3. Publication. Every Determination, including refuted and insufficient, MUST be registered. A claim shown without its history of Determinations is non-conforming.
9.4. Disclosure. A Claim Record MUST be at Disclosure Level public whenever its basis result records are public.
9.5. Humans and machines. A Determination computed by a machine from the Registry and by a person from the human renderings MUST be the same.
9.6. Authorship Disclosure. 077 Section 21.15 applies to this specification and to every Resolver implementing it.
10. Integration Points
10.1. Every basis record occupies the Integration Points of its own specification. The Proof of X claim family adds two, common to PP-SPEC-082, PP-SPEC-089 to PP-SPEC-099 and PP-SPEC-101:
| ID | Integration Point | What plugs in | MUST do | MUST emit |
|---|---|---|---|---|
| IP-C1 | Declarant | Holders, Implementors, insurers, regulators, auditors, independent laboratories | Register the Claim Declaration before any evidence measured against its limits is produced; commit to publication | Claim Declaration, anchored |
| IP-C2 | Resolver | Registries, verifiers, agents, dashboards | Compute the Determination under Section 6 from registered records alone; identical output to the reference resolver on the conformance vectors | Claim Record |
10.2. Separation. The Resolver MUST NOT be the Provider, MUST NOT be a member of any basis record's Party Set, and SHOULD NOT be the Declarant.
11. Relationship to Proof of Efficacy and the Family
11.1. The Proof of X claim family:
| Claim | Spec | Question |
|---|---|---|
| Proof of Efficacy | PP-SPEC-077 | Did the control produce the required outcome under adversarial pressure? |
| Proof of Containment | PP-SPEC-082 | Did the containment control hold the agent? |
| Proof of Conduct | PP-SPEC-089 | Did the agent stay inside its committed boundary? |
| Proof of Restraint | PP-SPEC-090 | Did the control avoid stopping legitimate work? |
| Proof of Persistence | PP-SPEC-091 | Does the efficacy still hold over time? |
| Proof of Attribution | PP-SPEC-092 | Which control actually stopped the attack? |
| Proof of State | PP-SPEC-093 | Is the control in production the same control that was proven? |
| Proof of Parity | PP-SPEC-094 | Did the test environment match production? |
| Proof of Coverage | PP-SPEC-095 | What was tested, and what was claimed but not tested? |
| Proof of Capture | PP-SPEC-096 | Was the evidence honest at the moment it was captured? |
| Proof of Reproduction | PP-SPEC-097 | Did an independent party get the same result? |
| Proof of Response | PP-SPEC-098 | Did detection or containment happen within the required window? |
| Proof of Recovery | PP-SPEC-099 | After a failure, was the system restored? |
| Proof of Delegation | PP-SPEC-101 | Did the agent hold and use only the authority it was granted? |
11.2. A reader MAY require several claims together. PP-SPEC-080 Acceptance Profiles MAY name any member of the family as a condition of acceptance.
11.3. A Proof of Efficacy published without its Proof of Restraint result (PP-SPEC-090) is non-conforming.
12. Framework Mappings (informative)
Frameworks that ask the question this claim answers include:
- EU DORA threat-led testing (PP-SPEC-057)
- FedRAMP 20x (PP-SPEC-056)
- ISO/IEC 27001:2022 (PP-SPEC-054)
A mapping identifies where this claim may be relevant. It does not establish compliance, certification or endorsement by any framework's owner.
13. Security Considerations
- Declared but unbacked: A dimension with no evidence from both environments is never counted as identical.
- Scaled down until harmless: Scale ratios are declared before the run and published with every result.
- Declaration after the fact: Evidence measured against the claim's limits never counts if it was produced before the Claim Declaration's pulse (4.1).
- Claim shopping: Every Determination is published, including
refutedandinsufficient(9.3). - Tuned limits: Limits are fixed at declaration (4.3) and published with every Determination, so PP-SPEC-080 profiles can set the minimum limits a reader will accept.
14. Interpretation
Craig Thomas Ellrod, as maintainer of Proof Protocol, is responsible for the editorial text of this specification. Whether a Claim Declaration, Determination or Claim Record conforms is determined from its records against the normative text, and is not decided by the maintainer.
Revision History
| Version | Date | Notes |
|---|---|---|
| 0.1.0 | 2026-11-04 | Initial draft. Proof of Parity defined as the answer to one question: Did the test environment match production? Claim Declaration before evidence; evidence basis; mechanical Determination (proven, refuted, insufficient); scope, validity and expiry; independence; records under the POPA-1:record tag; IP-C1 and IP-C2. |