Skip to main content

rskit_logging/masking/
mod.rs

1//! Sensitive data masking engine for structured log output.
2//!
3//! Provides a [`Masker`] trait (adapter pattern)
4//! and a [`DefaultMasker`] implementation that redacts common secrets, PII,
5//! and credentials from log output before it reaches any sink.
6//!
7//! Masking is **on by default** — callers must explicitly disable it via [`MaskingConfig::enabled`].
8//!
9//! # Examples
10//!
11//! ```rust
12//! use rskit_logging::masking::{DefaultMasker, Masker, MaskingConfig};
13//!
14//! let masker = DefaultMasker::default();
15//! assert_eq!(masker.mask_value("password", "hunter2"), "[REDACTED]");
16//! assert_eq!(masker.mask_value("name", "Alice"), "Alice");
17//! ```
18
19mod config;
20mod default_masker;
21mod masker;
22mod writer;
23
24pub use config::MaskingConfig;
25pub use default_masker::{DefaultMasker, mask_value};
26pub use masker::Masker;
27pub use writer::{MaskingMakeWriter, MaskingWriter};
28
29#[cfg(test)]
30mod tests;