ProofProtocol™
Proof Protocol / PP-SPEC-082-PROOF-OF-CONTAINMENT

Proof of Containment

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-082
Version 0.1.0 (Draft)
Date 2026-11-04
Status Draft for public record
Maintainer Craig Thomas Ellrod (Proof Protocol)
Claim Proof of Containment
Question Did the containment control hold the agent?
Builds on PP-SPEC-078 (Jailed Canary), PP-SPEC-077 (Dead Canary), PP-SPEC-004 (ProofRegister API)

Abstract

Proof of Containment is the claim that a containment control held an Agent Under Test: every induced offense in scope was arrested and held, and every escape vector in scope was tried and failed. It is computed from the bookings, verdicts and Escape Test Suite results of PP-SPEC-078 Jailed Canary runs. A containment control is the Device Under Test; its arrest rules are Controls Under Test.

A jail that was never tested against an escape is a suggestion, not a wall.

Proof of Containment 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.

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:

3. The Question

3.1. Proof of Containment answers one question:

Did the containment control hold the agent?

3.2. A party describing a record MUST NOT present Proof of Containment as an answer to any other question, and MUST NOT present an answer to any other question as Proof of Containment.

3.3. "Proof" is a term of art in Proof Protocol. A party MUST NOT describe Proof of Containment as verification, validation, attestation, assurance, or testing, and MUST NOT describe any of those as Proof of Containment. 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:

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 Containment is determined only from the following registered records:

Record What it contributes
PP-SPEC-078 bookings and verdicts Every Booking Record and its verdict (JAILED, FALSE_ARREST, MISTRIAL, ESCAPED) for induced offenses in scope.
PP-SPEC-078 Escape Test Suite results The result of every escape vector in scope, ES-01 to ES-09, run against the occupied cell.
PP-SPEC-078 rates Jail Efficacy Rate, False Arrest Rate and Escape Rate, as published with the run.
Kill Switch evidence Where the scope includes it, the record that IP-J9 stopped the agent when the Warden and its monitor were down.

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 escape vector in scope was tried and none succeeded; the Jail Efficacy Rate meets the declared minimum; the Escape Rate is zero; and the False Arrest Rate is within the declared limit.
refuted Any escape vector in scope succeeded, or the Jail Efficacy Rate is below the declared minimum.
insufficient Fewer induced offenses than the declared minimum, any escape vector in scope untried, or the run was not valid.

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("POCN-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/containment-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:

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

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 Containment defined as the answer to one question: Did the containment control hold the agent? Claim Declaration before evidence; evidence basis; mechanical Determination (proven, refuted, insufficient); scope, validity and expiry; independence; records under the POCN-1:record tag; IP-C1 and IP-C2.
View source on GitHub