#[cfg(any(feature = "signing", feature = "encryption"))]
pub(crate) mod internal;
pub mod error;
pub mod hardening;
pub mod memory;
pub use error::{Error, Result};
pub use hardening::harden_process;
pub use memory::{
coffer_view, init_pool, pool_acquire, pool_release, zeroize_all_registered_at_shutdown,
LockedBuffer, MemoryEnclave, PoolSlot, SecureBuffer, TieredPool, TieredPoolConfig,
};
pub use zeroize::Zeroizing;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod auth;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod capabilities;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod config;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod credential;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod encryption;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod exec;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod factory;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod fs;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod integrity;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod process;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod security_key;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod shell;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod signing;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod types;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub mod wsl;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use auth::{platform_auth_capabilities, AuthCapabilities, AuthHandle};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use capabilities::{
has_keychain_entitlement, is_binary_signed, security_capabilities, SecurityCapabilities,
};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use config::{
EnclaveConfig, LinuxConfig, MacOsConfig, PlatformConfig, WindowsConfig, WindowsSoftwareFallback,
};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use credential::{classify_credential, CredentialState, LifecyclePolicy};
#[cfg(feature = "encryption")]
pub use encryption::EncryptorHandle;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use exec::{IntegrationType, SecureProcess, TempSecretFile};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use factory::{
create_auth, create_encryptor, create_security_key, create_signer, create_tamper_evident,
create_tamper_evident_ephemeral,
};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use integrity::{IntegrityMode, TamperEvidentHandle, VerifyOutcome};
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use security_key::{SecurityKeyHandle, SecurityKeyInfo, SecurityKeySignature};
#[cfg(feature = "signing")]
pub use signing::SignerHandle;
#[cfg(any(feature = "signing", feature = "encryption"))]
pub use types::{AccessPolicy, BackendKind, KeyInfo, KeyType, PresenceMode, PresenceOptions};