PII masking for logs and pipelines in Rust.
Mask email addresses and global phone numbers safely, quickly, and with minimal dependencies. Designed for logging and data processing workflows.
alternate_email
Email Masking
Preserves the domain and the first local character: alice@example.com -> a****@example.com.
public
Global Phone Formats
Keeps formatting and the last 4 digits: +1 (800) 123-4567 -> +1 (***) ***-4567.
construction
Custom & Lightweight
Change the mask character and keep dependencies minimal (regex only).
Installation & Basic Usage
Use cargo add mask-pii (or add mask-pii = "0.1.0" to Cargo.toml) and enable masking with the builder pattern.
Installation
cargo add mask-pii
Usage
main.rs
use mask_pii::Masker;
fn main() {
// Configure the masker
let masker = Masker::new()
.mask_emails()
.mask_phones()
.with_mask_char('#');
let input = "Contact: alice@example.com or 090-1234-5678.";
let output = masker.process(input);
println!("{}", output);
// Output: "Contact: a####@example.com or 090-####-5678."
}
info
Important Note
By default, Masker::new() performs no masking. Enable email/phone filters explicitly before processing text.
Previous
chevron_left Overview