18 releases
Uses new Rust 2024
| new 0.1.0-beta.1 | May 16, 2026 |
|---|---|
| 0.1.0-alpha.18 | May 14, 2026 |
| 0.1.0-alpha.17 | Apr 29, 2026 |
| 0.1.0-alpha.12 | Mar 30, 2026 |
| 0.1.0-alpha.5 | Feb 28, 2026 |
#556 in Cryptography
Used in 5 crates
(4 directly)
45KB
745 lines
trackone-core
trackone-core is the shared protocol crate for TrackOne. It owns the bounded
types, AEAD-facing traits, imported identity-input records, and
deterministic encoding surfaces that both host and firmware code depend on.
Responsibilities
This crate owns:
- core identifiers and bounded types such as
PodId,FrameCounter, and fact payload shapes - AEAD traits and crypto-adjacent type contracts
- identity/admission input types used to carry external lifecycle state into the TrackOne evidence path
- deterministic CBOR encoding support used by the commitment path
- re-export of shared policy constants from
trackone-constants
Feature model
stdHost-side support for heap-backed helpers such as canonical CBOR encoding.postcardOpt-in postcard compatibility coverage for shared core types. Framed postcard transport ownership remains intrackone-ingest.dummy-aeadTest/development-only AEAD implementation. Do not use for production builds.productionStricter build profile that refusesdummy-aead.
The crate remains no_std-capable when std is disabled.
Boundary with other crates
trackone-ledgerowns commitment-specific artifact construction, Merkle policy, and digest helpers.trackone-ingestowns framed Postcard wire profiles, nonce/AAD binding, fixture emission, replay, and framed admission.trackone-gatewayexposes selected core and ledger functionality to host-side gateway code.trackone-sensorthingsowns read-only SensorThings projection semantics over accepted facts.trackone-pod-fwbuilds firmware-side runtime helpers on top of the core protocol model.
trackone-core should stay focused on shared protocol semantics. If logic is
about framed ingest admission it belongs in trackone-ingest; if it is only
about verifier/export commitment artifacts, it probably belongs in
trackone-ledger.
Boundary watchlist
Keep this crate clear of:
- onboarding protocol logic
- PKI issuance, revocation, or registrar workflow
- fleet lifecycle state machines
- update orchestration policy
Identity-context types are acceptable here only as shared input shapes at the admitted-telemetry boundary, not as ownership of the lifecycle plane itself.
Typical use
cargo test -p trackone-core --features std,postcard
Dependencies
~1–1.6MB
~33K SLoC