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

Bản triển khai bằng Rust của mask-pii. Cấu hình các quy tắc ẩn danh rõ ràng cho email và số điện thoại để xử lý văn bản an toàn trước khi ghi nhật ký, kiểm toán hoặc chia sẻ dữ liệu.

Email Masking

Duy trì khả năng hiển thị phần tên miền và che đi phần tên người dùng (local part) để địa chỉ email vẫn có thể truy vết được mà không làm lộ thông tin nhận dạng cá nhân (PII) đầy đủ.

Global Phone Formats

Ẩn các chữ số ở giữa trong khi vẫn giữ nguyên định dạng và hậu tố hiển thị để hỗ trợ quá trình khắc phục sự cố vận hành.

Custom & Lightweight

Tính năng ẩn thông tin (masking) là tùy chọn. Chỉ kích hoạt các quy tắc bắt buộc và chọn ký tự ẩn phù hợp với chính sách lưu nhật ký của bạn.

Installation & Basic Usage

Cài đặt bằng cargo, chỉ kích hoạt các quy tắc cần thiết và xác thực đầu ra dựa trên các nhật ký mẫu thực tế trước khi triển khai rộng rãi.

Cài đặt

cargo add mask-pii

Cach dung

src/main.rs
use mask_pii::Masker;

fn main() {
  // 1) Enable only the masking rules you need.
  let masker = Masker::new()
    .mask_emails()
    .mask_phones()
    .with_mask_char('*');

  // 2) Process free-form text such as logs or export lines.
  let input = "user=alice@example.com phone=+81-90-1234-5678";
  let output = masker.process(input);
  println!("{}", output);

  // 3) Keep a minimal regression check in tests.
  assert_ne!(output, input);
  assert!(output.contains("@example.com"));
}

// README (Rust):
https://github.com/finitefield-org/mask-pii/tree/main/rust
Important Note

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