Expand description
Fail-closed startup update decisions.
Structs§
- Release
Context - The installed app’s state, used to judge a manifest.
- Release
Manifest - The signed release manifest. Unknown fields are rejected.
- Update
Artifact - One platform’s installer.
- Verified
Manifest - A manifest whose signature has been checked. Only
verify_and_parsecreates one.
Enums§
- Release
Decision - What a valid manifest means for this install.
- Release
Error - Why a manifest was refused. Displays as a user-facing message.
Constants§
- MANIFEST_
SCHEMA_ VERSION - Manifest schema version this build understands.
- MAX_
CLOCK_ SKEW_ SECONDS - How far in the future a manifest’s
publishedAtmay be, to tolerate slow clocks. - MAX_
MANIFEST_ LIFETIME_ SECONDS - Longest allowed time between a manifest’s
publishedAtandexpiresAt.
Traits§
- Highest
Seen Store - Persists the highest verified release version.
- Manifest
Signature Verifier - Checks a detached manifest signature.
Functions§
- decide_
and_ record - Runs
decide_releasewith the stored highest version and records a newer verified version, even when an update is then required. - decide_
release - Judges a verified manifest: checks the schema, channel, validity window, lifetime, rollback floor, and this platform’s artifact, then compares versions.
- validate_
artifact 🔒 - Requires an HTTPS URL, a 64-character hex SHA-256, and a non-empty signature.
- verify_
and_ parse - Verifies the signature before parsing, so unsigned bytes are never interpreted.