Ẩn PII cho log và pipeline bằng Rust.

Mask email addresses and global phone numbers safely, quickly, and with minimal dependencies. Designed for logging and data processing workflows.

Email Masking

Preserves the domain and the first local character: alice@example.com -> a****@example.com.

Global Phone Formats

Keeps formatting and the last 4 digits: +1 (800) 123-4567 -> +1 (***) ***-4567.

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.2.0" to Cargo.toml) and enable masking with the builder pattern.

Cài đặt

cargo add mask-pii

Cach dung

src/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."
}
Important Note

By default, README performs no masking. Enable email/phone filters explicitly before processing text.