Crate runtime[][src]

Stronghold Protected-access Memory Runtime.

These modules contain an interface for allocating and protecting the memory of secrets in Stronghold. Data is protected from being accessed outside of a limited scope. Instead it must be accessed via the provided interfaces.

Memory allocations are protected by guard pages before and after the allocation, an underflow canary, and are zeroed out when freed.



A guarded type for protecting fixed-length secrets allocated on the heap.


A guarded type for protecting variable-length secrets allocated on the heap.


A Type for guarding secrets allocated to the stack.


A Zeroing Allocator which wraps the standard memory allocator. This allocator zeroes out memory when it is dropped.



A trait for dealing with Bytes. Used as the underlying type for the Guarded and GuardedVec types. For a type to be able to be placed in one of these values, it must implement this trait.