BoundedAuthorityProtocol. ContentAssertion. V1
(Bounded Authority Protocol v0.7.0)
Copy Markdown
View Source
Explicit standalone content-assertion profile: signatures bind exact content digests, caller-supplied context and a bounded window. Verification never grants authority. The caller owns content semantics, trusted key selection, replay and durable lineage state.
Summary
Functions
Assembles and revalidates this profile at the maximum bounds.
Assembles and revalidates this profile under tightened bounds.
Hashes exact profile-parseable compact bytes; establishes no signature or trust.
Produces deterministic signing bytes for this closed profile.
Hashes nonempty exact content bytes in the fixed content domain; never parses them.
Decodes bounded fields without evaluating the signature or trust.
Verifies against explicit public trust, complete expected context and time.
Checks pairwise lineage facts; caller owns their provenance, current trust and high-water state.
Functions
@spec assemble_compact(BoundedAuthorityProtocol.V1.SigningInput.t(), binary()) :: {:ok, binary()} | {:error, :invalid}
Assembles and revalidates this profile at the maximum bounds.
@spec assemble_compact( BoundedAuthorityProtocol.V1.SigningInput.t(), binary(), BoundedAuthorityProtocol.V1.Bounds.t() | map() ) :: {:ok, binary()} | {:error, :invalid}
Assembles and revalidates this profile under tightened bounds.
@spec assertion_digest(binary(), BoundedAuthorityProtocol.V1.Bounds.t() | map()) :: {:ok, binary()} | {:error, :invalid}
Hashes exact profile-parseable compact bytes; establishes no signature or trust.
@spec assertion_signing_input( BoundedAuthorityProtocol.ContentAssertion.V1.ContentAssertion.t(), BoundedAuthorityProtocol.V1.Bounds.t() | map() ) :: {:ok, BoundedAuthorityProtocol.V1.SigningInput.t()} | {:error, :invalid}
Produces deterministic signing bytes for this closed profile.
@spec content_digest(binary(), BoundedAuthorityProtocol.V1.Bounds.t() | map()) :: {:ok, binary()} | {:error, :invalid}
Hashes nonempty exact content bytes in the fixed content domain; never parses them.
@spec decode_assertion(binary(), BoundedAuthorityProtocol.V1.Bounds.t() | map()) :: {:ok, BoundedAuthorityProtocol.ContentAssertion.V1.DecodedContentAssertion.t()} | {:error, :invalid}
Decodes bounded fields without evaluating the signature or trust.
@spec verify_assertion( binary(), BoundedAuthorityProtocol.ContentAssertion.V1.ExpectedContentAssertion.t() ) :: {:ok, BoundedAuthorityProtocol.ContentAssertion.V1.ContentAssertionFacts.t()} | {:error, :invalid}
Verifies against explicit public trust, complete expected context and time.
@spec verify_successor( BoundedAuthorityProtocol.ContentAssertion.V1.ContentAssertionFacts.t(), BoundedAuthorityProtocol.ContentAssertion.V1.ContentAssertionFacts.t(), BoundedAuthorityProtocol.V1.Bounds.t() | map() ) :: :ok | {:error, :invalid}
Checks pairwise lineage facts; caller owns their provenance, current trust and high-water state.