Zig 向け mask-pii

mask-pii の Zig 実装です。メールアドレスと電話番号のPIIマスキングを、ログやデータ処理に組み込めます。

メールマスキング

ローカル部を保護しつつドメインを維持する共通仕様です。

電話番号マスキング

末尾4桁を保持しながら電話番号のPIIをマスキングします。

Builderスタイル

メール・電話・マスク文字を実行前に明示的に設定できます。

導入と最初の一歩

Zig [git-only: v0.2.0]: 以下の現在のインストール方法を使用し、Zig API を読み込んで最小構成の例を実行します。この例ではメールアドレスと電話番号のマスキングを明示的に有効化し、期待される出力を示します。

インストール

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

使い方

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."
}
補足

仕様の詳細は README を参照してください。全言語で挙動をそろえるように設計されています。