mask-pii for Zig

Choose the Zig implementation of mask-pii to mask email and phone PII in logs and data pipelines. The workflow remains easy to review.

Email masking

Masks the local part while keeping the email domain visible.

Phone masking

Masks sensitive digits while preserving the format and visible suffix.

Builder-style API

Enable email and phone rules, then set the mask character explicitly before processing.

Install and run a first example

Install from the tagged Git source, load the Zig API, and run the minimal example below. It enables both masking rules explicitly and records the expected output.

Installation

zig fetch --save https://github.com/finitefield-org/mask-pii/archive/refs/tags/v0.2.0.tar.gz

Usage

src/main.zig
const std = @import("std");
const MaskPII = @import("mask-pii");

pub fn main() !void {
    var masker = MaskPII.Masker.init();
    _ = masker.maskEmails().maskPhones().withMaskChar('#');

    const allocator = std.heap.page_allocator;
    const input = "Contact: alice@example.com or 090-1234-5678.";
    const output = try masker.process(allocator, input);
    defer allocator.free(output);

    try std.io.getStdOut().writer().print("{s}\n", .{output});
    // Output: "Contact: a####@example.com or ###-####-5678."
}
Note

Please check the. This also keeps team handoffs clear. README for exact package ecosystem details and API examples for this language.