Skip to main content

hardbound/
lib.rs

1//! # Hardbound
2//!
3//! Public trait surface for the hardware-bound enterprise trust tier of
4//! Web4. Hardbound implementations anchor identity, vault keys, witness
5//! chain signatures, and policy decisions in hardware (TPM 2.0,
6//! YubiKey, Secure Enclave, HSM, etc.).
7//!
8//! This crate is **the contract**, not the implementation. The
9//! reference closed-source implementation lives at
10//! `https://metalinxx.io`. Any compatible implementation that
11//! satisfies these traits can plug into the [Hestia][hestia] daemon at
12//! the hardware-trust extension point.
13//!
14//! ## Four primitives
15//!
16//! | Trait | Replaces in consumer Hestia |
17//! |---|---|
18//! | [`TrustedKeyProvider`] | software-derived sovereign LCT |
19//! | [`SealedVault`] | passphrase-derived AEAD key |
20//! | [`AttestationSigner`] | Phase-1 placeholder signer LCT |
21//! | [`OversightPolicy`] | default-allow stub |
22//!
23//! See `https://github.com/dp-web4/hestia/blob/main/demo/enterprise/README.md`
24//! for the architectural map and the rationale behind each replacement.
25//!
26//! ## Status
27//!
28//! `0.0.1` — initial contract. Trait shapes may shift before `0.1.0`.
29//! Implementations should pin a minor version and watch the changelog.
30//!
31//! [hestia]: https://github.com/dp-web4/hestia
32
33#![cfg_attr(docsrs, feature(doc_cfg))]
34#![deny(missing_docs)]
35
36mod attestation;
37mod error;
38mod policy;
39mod sealed_vault;
40mod trusted_key;
41
42pub use attestation::{Attestation, AttestationSigner};
43pub use error::{Error, Result};
44pub use policy::{OversightPolicy, PolicyAction, PolicyDecision};
45pub use sealed_vault::SealedVault;
46pub use trusted_key::TrustedKeyProvider;
47
48/// Crate version, for runtime banner messages.
49pub const VERSION: &str = env!("CARGO_PKG_VERSION");