## Synopsis This is a library of memory allocators and data structures to handle sensitive information, especially when interfacing with foreign and unsafe code. It currently features: - An interface to the system’s [page allocator](https://docs.rs/sensitive/*/sensitive/pages/), - a simple [memory allocator](https://docs.rs/sensitive/*/sensitive/alloc/) implementing the [`Allocator`](https://doc.rust-lang.org/nightly/std/alloc/trait.Allocator.html) trait, and - access‐guarded wrappers around [`Box`](https://docs.rs/sensitive/*/sensitive/boxed/), [`Vec`](https://docs.rs/sensitive/*/sensitive/vec/) and [`String`](https://docs.rs/sensitive/*/sensitive/string/). ## Usage Add this to your `Cargo.toml`: ```toml [dependencies] sensitive = "0.10" ``` The `force-mlock` feature may be used to force allocations to be memory‐resident: If the memory cannot be locked, the allocation will fail. Without this feature, locking is attempted, but failures are ignored. ## Implementation notes This code relies heavily on experimental nightly‐only APIs.