//! Audit logging for IAM //! //! Provides structured audit logging for authentication and authorization events. //! //! ## Features //! //! - Multiple event types (authentication, authorization, policy changes) //! - Pluggable sinks (file, memory, custom) //! - Async-first design //! - Structured JSON output //! //! ## Usage //! //! ```ignore //! use iam_audit::{AuditLogger, AuditEvent, AuditEventKind, FileSink}; //! //! let sink = FileSink::new("/var/log/iam-audit.jsonl").await?; //! let logger = AuditLogger::new(sink); //! //! logger.log(AuditEvent::authn_success("alice", "jwt")).await?; //! ``` mod event; mod logger; mod sink; pub use event::{ AdminEventData, AuditEvent, AuditEventKind, AuthnEventData, AuthzEventData, PolicyChangeType, PolicyEventData, TokenEventData, TokenEventType, }; pub use logger::{AuditLogger, AuditLoggerConfig, BufferedAuditLogger}; pub use sink::{AuditError, AuditSink, FileSink, MemorySink, MultiSink, NullSink, Result};