AUTHENTIC IMAGE ONLY
Payload digest and Ed25519 signature are checked before flash mutation.
Embedded security / fault injection / 01
A secure firmware update is not finished when a signature passes. It is finished when every interrupted write still leaves a device that can boot a trusted image.
HOST-SIDE MODEL · NOT PRODUCTION FIRMWARE · QEMU NOT YET VALIDATEDManifest v1 · sequence 2 · Ed25519 signature · SHA-256 digest
Security properties / 02
The Rust core verifies a signed manifest, writes only the inactive slot, commits redundant CRC-protected metadata, limits trial boots, and preserves a monotonic rollback floor.
Payload digest and Ed25519 signature are checked before flash mutation.
The signed sequence must increase and is never lowered during fallback.
An interrupted write never becomes the only boot candidate.
The newest valid CRC-protected copy wins after reset.
The real Ed25519, SHA-256, package parser, A/B state machine, CRC metadata, and exhaustive cut-point tests live infirmware/src. It compiles without unsafe code and has a no_std mode.
This interface mirrors the policy transitions in TypeScript so every scenario stays interactive. It does not pretend the browser is running the Rust binary or an emulated microcontroller.
Hardware timing, flash drivers, ROM integration, and QEMU boot are outside version 1.0. The repository labels those as future work instead of treating a simulator as production evidence.