pask-wire 0.1.0

SCITT-native COSE receipt library for Physical-Site Engagement Receipts; implements the wilder.pser/0.5 and 0.6 profiles
Documentation

pask-wire

Producer and verifier for Physical-Site Engagement Receipts: SCITT-style signed statements that record work performed by an autonomous or human-directed actor at a regulated physical site.

This crate is the reference implementation of the wire format. It builds a canonical payload, signs it, and implements specified processing for supported profile identifiers. This is not complete profile certification; conformance and assurance gaps remain documented in the repository's KNOWN-LIMITATIONS.md.

Names and versions

Pask is the software family for working with Physical-Site Engagement Receipts (PSER). The wilder.pser/<version> identifier names the profile a receipt declares; the pask-* names identify software packages. Package versions, profile versions, and Internet-Draft revision numbers are three separate things and are versioned independently. Passing this crate's checks does not establish complete profile conformance, and it does not establish the truth of a physical-world claim.

Supported profile versions

Profile Constant Content type
wilder.pser/0.5 SPEC_VERSION application/pser+json; profile=wilder.pser/0.5
wilder.pser/0.6 SPEC_VERSION_06 application/pser+json; profile=wilder.pser/0.6

Both identifiers are supported for the implemented checks. Crate versions describe software releases and compatibility; they are independent of profile versions because one software release can support more than one profile.

Specification

The profile is specified in draft-wilder-scitt-physical-site-engage-receipt, an Internet-Draft published through the IETF Datatracker: https://datatracker.ietf.org/doc/draft-wilder-scitt-physical-site-engage-receipt/

An Internet-Draft is a work in progress. It is not a standard, and publication does not imply IETF endorsement.

The posted -04 figure uses pask_wire::canonical_example_06(), checked by a workspace document test. pask-wire-cli canonical-example continues to emit the legacy 0.5 generator's output; these are distinct tests and outputs.

Current source evaluation

From a checkout, run cargo test --locked -p pask-wire --features alloc. For a local consumer, use a path dependency with features = ["alloc"]. Registry installation below is prospective, after authorized publication:

cargo add pask-wire@0.1.0 --features alloc

#![no_std] with default = [], so the example above enables alloc for the producer and verifier APIs. Use std for standard-library integration. ECDSA P-256 signing and verification are optional and enabled by es256.

What a receipt does and does not establish

Successful signature verification establishes validity under the supplied key, not authenticated ownership of that key by a named organization or actor. It does not establish that a described event physically happened, and it does not establish that a party named as the source of a recorded fact actually asserted or sensed it. Authenticated actor identity, hardware custody, and the independence of a Transparency Service are separate mechanisms and are not provided by this crate.

License

Apache-2.0. No commercial agreement is required to use, modify, or redistribute it.