package secret
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Zeroized secret memory outside the OCaml heap
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.1.2.tar.gz
md5=2ef809fd4e37a3498f15a8aa28c99484
sha512=db8110e36515895b26b43a5bbdef19c38639236237c52f3585b40ee1bb5a14db9fbf0b00f4ea5bb4634f03df85be3bb43362197e80c1b1de6c2ed5e84eaf0f7b
doc/CHANGES.html
Changes
0.1.2 (2026-09-02)
- Remove the upper bound on the OCaml version. It excluded every release from 5.6 onwards without a known incompatibility, which is what opam-repository asks packages not to do.
Otherwise documentation only: the README gained the header diagram. No library code changed from 0.1.1.
0.1.1 (2026-09-01)
- Build on the whole declared dune range. 0.1.0 required dune 3.24 even though it depends on
dune >= 3.8: dune before 3.15 rejects aselecttarget that is also named inmodules, and older dune expands%{exe:...}to a bare basename, which the tests then failed to resolve. - Require
dune-configurator3.8 or later; it previously had no lower bound. - Run the exit-time zeroization tests on Windows.
The library itself is unchanged: src/ and unix/ are identical to 0.1.0, and this release fixes only packaging metadata and the test suite.
0.1.0 (2026-09-01)
- Add out-of-heap secret buffers with explicit destruction, finalization, and exit-time zeroization.
- Add constant-time equality, redacted printing, and controlled views.
- Add optional guard pages, canaries, page locking, dump exclusion, and fork policies with per-value status reporting.
- Add scratch buffers, minor-heap scrubbing, process hardening, and direct Unix file-descriptor I/O.
- Keep owners alive for scoped views and permanently retain destroyed unscoped view storage so it can never expose a later secret. Retained and pooled blocks stay reachable, so leak checkers report them as reachable memory, and
parked_countreports how many blocks are permanently retained. - Define concurrent reads as supported while requiring caller synchronization for mutation, destruction, process-wide wiping, and blocking I/O.
- Install
secret.hfor C consumers. - Add an executable Mirage Crypto adoption proof covering AES and ChaCha20 migration semantics, known-answer compatibility, and process-memory residue.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page