1#![cfg_attr(not(feature = "std"), no_std)]
51#![deny(clippy::all, clippy::pedantic)]
52#![allow(clippy::module_name_repetitions)]
53#![allow(clippy::missing_errors_doc)]
54
55extern crate alloc;
56
57pub mod attested_node_report;
58pub mod audit_trace;
59pub mod backend;
60pub mod baseline;
61pub mod bitcoin_node_identity;
62pub mod bitcoin_node_timeline;
63pub mod bitcoin_policy_profiles;
64pub mod bitcoin_runtime_monitor;
65pub mod consistency_checker;
66pub mod invariants;
67
68pub mod bitcoin_workload_integrity;
69pub mod boot_chain;
70pub mod continuous_attestation;
71pub mod counter;
72pub mod deployment_reference;
73pub mod digest;
74pub mod distributed_consensus;
75pub mod drift;
76#[cfg(test)]
77mod proptests;
78
79#[cfg(feature = "live-evidence")]
81pub mod attestation_transport;
82#[cfg(feature = "live-evidence")]
83pub mod bitcoin_process_monitor;
84#[cfg(feature = "live-evidence")]
85pub mod evidence_cache;
86#[cfg(feature = "live-evidence")]
87pub mod evidence_pipeline;
88#[cfg(feature = "live-evidence")]
89pub mod freshness;
90#[cfg(feature = "live-evidence")]
91pub mod linux_ima_collector;
92#[cfg(feature = "live-evidence")]
93pub mod live_node_observer;
94#[cfg(feature = "live-evidence")]
95pub mod live_tpm;
96#[cfg(feature = "live-evidence")]
97pub mod secure_boot_collector;
98
99pub mod checkpointing;
101pub mod delta_attestation;
102pub mod federation_transport;
103pub mod pq_transport;
104pub mod retention_policy;
105pub mod runtime_stream;
106pub mod stream_reconciliation;
107pub mod timeline_compaction;
108
109pub mod byzantine_quorum;
111pub mod cross_federation;
112pub mod epoch_key_binding;
113pub mod equivocation;
114pub mod federation_sync;
115pub mod federation_time;
116pub mod federation_topology;
117pub mod governance_continuity;
118pub mod retention_governance;
119pub mod verifier_revocation;
120
121pub mod deterministic_replay;
123pub mod disaster_recovery;
124pub mod federation_migration;
125pub mod federation_snapshot;
126pub mod partition_detection;
127pub mod partition_healing;
128pub mod quorum_reformation;
129pub mod recovery_governance;
130pub mod recovery_lineage;
131pub mod verifier_rejoin;
132
133pub mod adaptive_sync;
135pub mod canonicalization;
136pub mod eclipse_resistance;
137pub mod federation_liveness;
138pub mod gossip_protocol;
139pub mod hashing;
140
141pub mod network_governance;
142pub mod peer_reputation;
143pub mod snapshot_sync;
144pub mod state_reconstruction;
145
146pub mod ima_integration;
147pub mod linux_ima_collector;
148pub mod node_attestation_session;
149pub mod pcr;
150pub mod platform_profiles;
151pub mod policy;
152pub mod policy_federation;
153
154pub mod ek_framework;
155pub mod governance;
156pub mod profiles;
157pub mod reputation;
158pub mod runtime_attestation;
159pub mod runtime_drift;
160pub mod runtime_integrity;
161pub mod secure_boot;
162pub mod temporal_ambiguity;
163pub mod timeline_reconciliation;
164pub mod tpm_structures;
165pub mod tpm_verify;
166pub mod transparency_log;
167pub mod trust_domains;
168pub mod verifier_federation;
169pub mod verifier_identity;
170pub mod verifier_orchestrator;
171pub mod verifier_timeline;
172pub mod verifier_transparency;
173pub mod workload_integrity;
174
175pub use backend::{
178 BackendSpecificEvidence, DiceEvidence, HardwareBackendType, HardwareCapabilities,
179 HardwareError, HardwareEvidence, HardwareRootOfTrust, NitroEnclaveEvidence, SevSnpEvidence,
180 TdxEvidence, TpmClockInfo, TpmIdentity, TpmQuoteEvidence,
181};
182pub use baseline::{ExpectedPcr, PcrBaseline, PolicyVersion};
183pub use boot_chain::BootChainEvidence;
184pub use continuous_attestation::{AttestationSession, SessionError};
185pub use counter::CounterEvidence;
186pub use digest::{DigestAlgorithm, TypedDigest};
187pub use distributed_consensus::{ConsensusDecision, ConsensusEvaluation, VerifierVote};
188pub use drift::{DriftDetectionEngine, DriftPolicyMode, DriftReport, DriftSeverity};
189pub use governance::{GovernanceAction, GovernanceError, GovernanceLog, GovernanceRecord};
190pub use ima_integration::{ImaEvidence, ImaMeasurement, ImaParseError};
191pub use pcr::{PcrMeasurement, PcrSemantic, SlotSemanticMismatch, TypedPcrBank};
192pub use platform_profiles::{
193 PlatformClass, PlatformProfile, PlatformVendor, PlatformVerificationReport,
194 RuntimeVerificationReport,
195};
196pub use policy::{
197 HardwarePolicyContext, HardwarePolicyEngine, HardwarePolicyError, HardwarePolicyRule,
198};
199pub use policy_federation::{FederatedPolicyEpoch, FederatedPolicyError, FederatedPolicyRegistry};
200pub use profiles::sovereign_bitcoin_node_profile;
201pub use reputation::VerifierReputation;
202pub use runtime_attestation::{
203 RuntimeAttestationEvidence, RuntimeMeasurement, RuntimeMeasurementDomain, RuntimePolicyEpoch,
204};
205pub use runtime_drift::{RuntimeDriftEngine, RuntimeDriftReport, RuntimeDriftSeverity};
206pub use runtime_integrity::RuntimeIntegrityEvidence;
207pub use secure_boot::{SecureBootEvidence, SecureBootState};
208pub use timeline_reconciliation::{
209 TimelineConflict, TimelineConflictType, TimelineReconciler, TimelineReconciliationReport,
210};
211pub use tpm_verify::{TpmQuoteVerifier, TpmVerifyError};
212pub use transparency_log::TransparencyEvent;
213pub use trust_domains::{TrustDomain, TrustEvaluation, VerificationDecisionReason};
214pub use verifier_federation::{FederationError, QuorumPolicy, VerifierFederation};
215pub use verifier_identity::{
216 CertificateError, IdentityError, VerifierCapability, VerifierCertificate, VerifierIdentity,
217};
218pub use verifier_timeline::{AttestationEvent, AttestationTimeline, TimelineValidationError};
219pub use verifier_transparency::{
220 TransparencyLogError, VerifierEventType, VerifierTransparencyEvent, VerifierTransparencyLog,
221};
222pub use workload_integrity::{WorkloadIdentity, WorkloadIntegrityEvidence};