Future Requirements
Requirements planned for future releases. These are not in scope for the v1.0 MVP release and are maintained here for planning visibility.
v1.1 — SBOM-Aware Transfer Manifests
The following requirements are planned for v1.1 and are not in scope for the MVP release.
When a CycloneDX SBOM file ( |
The system SHALL log the presence and filename of any SBOM file in the transfer audit trail, providing chain-of-custody documentation for compliance purposes. |
v1.2 — Authenticated Encryption (AEAD) for Chunks at Rest
The following requirements are planned for v1.2 and are not in scope for the MVP release. These address the threat of USB interception by providing encryption at rest for chunk data and tamper detection for the transfer manifest.
The system SHALL support optional authenticated encryption of chunk data using an AEAD
construction. When a user provides a passphrase via |
The default AEAD algorithm SHALL be ChaCha20-Poly1305. The system SHALL support
algorithm selection via |
The system SHALL derive encryption keys from user-provided passphrases using a memory-hard key derivation function (Argon2id recommended). KDF parameters (algorithm, memory cost, time cost, salt) SHALL be recorded in the manifest so the unpack operation can reproduce the same derived key. |
Each chunk SHALL be encrypted with a unique nonce. Nonces SHALL be stored alongside chunk metadata in the manifest. Nonce reuse across chunks with the same key SHALL be treated as a fatal error. |
When AEAD encryption is enabled, the manifest SHALL be authenticated using a keyed MAC (HMAC-SHA256, KMAC, or BLAKE3 keyed mode) derived from the same passphrase. The manifest SHALL remain human-readable (unencrypted JSON) but SHALL include a MAC field that the unpack operation verifies before processing any chunks. Verification failure SHALL abort the unpack operation. |
When encryption is enabled, the manifest SHALL record: the AEAD algorithm used, the KDF algorithm and parameters (excluding the passphrase), per-chunk nonces, and the MAC algorithm used for manifest authentication. This metadata SHALL be sufficient for the unpack operation to decrypt and verify without out-of-band configuration. |
The system SHALL NOT write passphrases or derived keys to disk, logs, or the manifest in plaintext. Passphrases SHALL be read from an interactive terminal prompt (with echo disabled) or from a file descriptor, and SHALL be zeroized from memory after key derivation completes. |
Future Release Overview
ID |
Title |
Release |
Verified By |
|---|---|---|---|
Reference SBOM in Transfer Manifest |
v1.1 |
||
Log SBOM in Transfer Audit Trail |
v1.1 |
||
Optional AEAD Encryption of Chunks |
v1.2 |
||
AEAD Algorithm Default and Agility |
v1.2 |
||
Passphrase-Based Key Derivation |
v1.2 |
||
Unique Nonce Per Chunk |
v1.2 |
||
Manifest Authentication via Keyed MAC |
v1.2 |
||
Record Encryption Metadata in Manifest |
v1.2 |
||
Passphrase Handling Security |
v1.2 |