Reference Implementations
The AHL Protocol is designed to be language-agnostic. Below is the reference implementation by Dmitrii Zatona: four crates, all published on crates.io under Apache-2.0, with sources at github.com/evidentum-io .
The published stack
| Crate | Version | Install | Role |
|---|---|---|---|
ahl-core | 0.5.0 | ahl-core = "0.5" | Statement, closure and receipt library; ships the conformance corpus and the released ATL profile artifact |
ahl-cli | 0.4.1 | cargo install ahl-cli | The client: issue and read Evidence Receipts against a live log |
ahl-mirror | 0.3.2 | cargo install ahl-mirror | The independent mirror: retrieval, enumeration, series and rotation material |
ahl-witness | 0.4.1 | cargo install ahl-witness | The independent witness: the cosigning state machine |
ahl-core 0.5.0
The foundational statement, closure and receipt library.
- Purpose: statement construction and validation for all seven statement types; commitment computation in
plainandkeyedmodes over the descriptor-bound preimage; Merkle tree operations and range proofs; closure computation and comparison against an anchored disposition tree; Evidence Receipt verification returning the three-valued result and its per-assertion findings. - Status: published — crates.io/crates/ahl-core
- Source: github.com/evidentum-io/ahl-core
- License: Apache-2.0
ahl-cli 0.4.1
The client. issue produces an Evidence Receipt against a live log, mirror and witnesses — assembling rotation_proofs[] from the mirror’s element and the witness’s cosignatures, and carrying continued_history with a consistency proof recomputed locally. verify, inspect, closure and reconstruct read one.
github.com/evidentum-io/ahl-cli · crates.io/crates/ahl-cli
ahl-mirror 0.3.2
The independent mirror: byte retrieval by AHL entry id, authenticated range enumeration, consistency proofs, checkpoint-series checks, and the rotation-anchoring checkpoint served as a distinct class of material. These are exactly the capabilities the adaptor profile names as deployment obligations, since nothing in the published ATL stack serves them.
github.com/evidentum-io/ahl-mirror · crates.io/crates/ahl-mirror
ahl-witness 0.4.1
The independent witness: the cosigning state machine of Protocol §3.3, with refusal evidence, and acceptance of a rotation-anchoring checkpoint under the transition exception of §7.1. A witness MUST be independent of both producer and log operator; running one beside the producer does not satisfy L3.
github.com/evidentum-io/ahl-witness · crates.io/crates/ahl-witness
Deterministic conformance corpus
ahl-core ships the corpus described in Test Vectors: 57 anchored entries, 27 checkpoints, tree and closure vectors, witness refusal evidence, and 101 Evidence Receipts across two toy logs — at least one positive and one negative per claim type, each negative naming the §7.7 result it must reach and the rule that must fire. The generator reads no clock and draws no randomness, and two consecutive runs must leave test_data/ byte-identical.
Released adaptor profile
ahl-adaptor-atl-v1 is released as an immutable, content-addressed artifact binding AHL to the Anchored Transparency Log . ahl-core ships the exact bytes as ATL_PROFILE_DOCUMENT, with the digest as ATL_PROFILE_DIGEST, so a client pinning {id, digest} takes both from the crate rather than fetching the document to learn its own digest.
AHL anchors into any log meeting the log-binding contract; the protocol mandates no specific operator or product, and RFC 9162-class logs are expected to satisfy the contract through thin adaptors of their own.
SDKs and multi-language support (planned)
To keep cryptographic and closure-computation behavior identical across environments, official SDKs are intended to wrap the ahl-core Rust engine through WebAssembly and FFI — JavaScript/TypeScript via WASM, Python and Go via bindings. None is published today. The single-source-of-truth approach is what would guarantee that a statement, closure or receipt verified in one language behaves exactly the same in another.