//! Cryptographic operations for the `LastID` SDK.
//!
//! This module provides:
//! - `DPoP` (Demonstrating Proof-of-Possession) key pairs and proof generation
//!   (RFC 9449)
//! - Secret management with automatic zeroization
//! - Extensible zeroization strategies for custom key management
//!
//! # Security: Zeroization
//!
//! All private key material is automatically zeroized when dropped using the
//! [`zeroize`](https://docs.rs/zeroize) crate's secure memory clearing.
//!
//! For custom zeroization needs (HSM, secure allocators), implement
//! [`ZeroizeStrategy`].

mod dpop;
mod secrets;

pub use dpop::{DPoPKeyPair, DPoPProof, DefaultZeroizeStrategy, ZeroizeStrategy};
pub use secrecy::SecretString;
pub use secrets::{AccessToken, SecretAccessToken};
