Skip to main content

do_memory_mcp/server/audit/
mod.rs

1//! Audit logging module
2//!
3//! This module provides comprehensive audit logging capabilities for the MCP server,
4//! enabling security incident investigation through structured, immutable audit logs.
5//!
6//! ## Features
7//!
8//! - Structured JSON logging format
9//! - Configurable log destinations (file, stdout, or both)
10//! - Log rotation support
11//! - Sensitive data redaction
12//! - All security-relevant operations tracked
13//!
14//! ## Security Operations Logged
15//!
16//! - Episode creation/modification/deletion
17//! - Relationship changes
18//! - Configuration changes
19//! - Authentication events
20//! - Rate limit violations
21//!
22//! ## Example
23//!
24//! ```rust
25//! use do_memory_mcp::server::audit::{AuditLogger, AuditConfig, AuditDestination};
26//!
27//! #[tokio::main]
28//! async fn main() -> anyhow::Result<()> {
29//!     let config = AuditConfig::from_env();
30//!     let logger = AuditLogger::new(config).await?;
31//!
32//!     logger.log_episode_creation(
33//!         "client-123",
34//!         "episode-uuid",
35//!         "task description",
36//!         true,
37//!         None
38//!     ).await;
39//!
40//!     Ok(())
41//! }
42//! ```
43
44pub mod core;
45pub mod episode_ops;
46pub mod pattern_ops;
47pub mod query_ops;
48pub mod relationship_ops;
49pub mod security_ops;
50pub mod tag_ops;
51pub mod types;
52
53pub use core::AuditLogger;
54pub use types::{AuditConfig, AuditDestination, AuditLogEntry, AuditLogLevel};