You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
stack-encrypt: finish adopting Vitamin C's secure Buffer for every plaintext buffer #1468
Blocked on cipherstash/vitaminc#559 landing and a compatible release. Adopt vitaminc_protected::Buffer for Stack Encrypt's growing plaintext buffers, including the frame/storage paths affected by Vitamin C's return-type changes. Buffer wipes old allocations during growth as well as on drop; a Protected<Vec<u8>> only owns the final allocation.
Before upgrading, inventory plaintext-bearing Vec writers and copies, adapt them to Buffer/ByteSink and protected access, and verify cleanup on growth, success, error and cancellation with the heap-hygiene suite. Run scalar/tree interoperability and shared Rust/Go conformance after upgrading; Python and planned TypeScript bindings must retain the same wire behavior.
Keep #1404's capped untrusted deserializer size-hint reservation and its regression test. That reader holds ciphertext bytes, and adopting a secure plaintext buffer does not make an untrusted allocation hint safe.
Also re-evaluate the scalar protected-borrow bridge against the released ProtectedRef/AsProtectedRef encoder support; the currently pinned Vitamin C 0.8 encoder does not implement Encrypt for ProtectedRef.
Included in milestone 4. Coordinate owned API migration (#1482, #1483), blob buffers (#1484) and lifecycle evidence (#1480). Preserve the upstream release dependency described above.
changed the title [-]stack-encrypt: adopt Vitamin C secure Buffer after #559 ships[/-][+]stack-encrypt: finish adopting Vitamin C's secure Buffer for every plaintext buffer[/+]on Nov 10, 2026
Activity
feat(stack-encrypt)!: add OpaqueBlob whole-value encryption
feat(stack-encrypt)!: add OpaqueBlob whole-value encryption
coderdan commentedon Nov 10, 2026
This is no longer blocked. cipherstash/vitaminc#559 merged on 2 November, and Vitamin C 0.9.1 was released on 6 November.
Part of the work is done. Commit 8c4e938 (
build(stack-encrypt)!: move to vitaminc 0.9) moved Stack Encrypt to the Vitamin C 0.9 crates. Since then:vitaminc_protected::Buffer, not aVec<u8>, andBufferis re-exported asstack_encrypt::Buffer;ProtectedRef<'_, [u8]>, andValueFrameimplementsAsProtectedRef.Still to do:
Vec, and move them toBufferorByteSink.ProtectedRef.[-]stack-encrypt: adopt Vitamin C secure Buffer after #559 ships[/-][+]stack-encrypt: finish adopting Vitamin C's secure Buffer for every plaintext buffer[/+]