Desert Ant Labs

Redact:iOS、Android、Web 向けのオンデバイス PII マスキング

PII マスキング提供中

EU 公用語 24 言語すべてのテキストから個人データを検出してマスクする、オンデバイスの PII マスキング。テキストがデバイスの外に出ることはありません。

Redact は、テキスト内の個人データを検出してマスクします。氏名、住所、メールアドレス、電話番号、クレジットカード番号、IBAN、国民 ID、VAT 番号などに対応します。デバイス上で動作するため、生のテキストがネットワークやサーバー(自社・第三者を問わず)に触れることはありません。Microsoft Presidio、AWS Comprehend、Google Cloud DLP と同じ PII の領域をカバーしつつ、処理はオンデバイスで完結し、LLM とのやり取りのために可逆的です。

差別化要因は、LLM とのやり取りに対応した可逆的なマスキングです。外部モデルに送信する前にテキストをマスクし、応答の中で元の値を復元します。プレースホルダーの対応表を保持すれば結果は仮名化され、破棄すればマスク済みのコピーは匿名化されます。内部では、小さな 6 層のトークン分類器が文脈依存の PII を処理し、決定論的なレイヤーが実際のチェックサムで構造化フィールドを検証します。

デモ

パフォーマンス

EU 24 言語すべてで個人データの 88.8% を捕捉し、カード番号、IBAN、VAT 番号、国民 ID はチェックサムで検証します。すべて単一の 23M パラメータモデルによるものです。

88.8
リーク防止の再現率
85.4
型付き F1
12-14 MB
オンデバイス
24
EU 言語

外部の WikiANN および MultiNERD に加え、形式的に妥当な構造化 PII セットを用いた社内評価。約 23M パラメータ。

ユースケース

安全な LLM とのやり取り

プロンプトが外部モデルに送られる前に PII をマスクし、回答の中で実際の値を復元します。[GIVEN_NAME_1][EMAIL_1] のような一意の番号付きプレースホルダーにより、やり取りで情報が失われません。

ログとサポート記録の除去

サポートの記録やアプリケーションログから氏名、メールアドレス、カード番号、IBAN を取り除き、生の個人データがサーバーに届かないようにします。

GDPR に沿った非識別化

仮名化と匿名化はローカルで実行されるため、コンプライアンス上重要な処理が、データのデバイス外流出前に完了します。

標準で多言語対応

1 つのモデルで、ラテン文字・ギリシャ文字・キリル文字にまたがる EU 24 言語すべてをカバーします。言語ごとに別々のパイプラインを用意する必要はありません。

できること

  • 20 の検出カテゴリー:氏名、住所、メールアドレス、電話番号、クレジットカード番号、IBAN、国民 ID、VAT 番号など。
  • 決定論的な検証レイヤー:Luhn によるカード番号チェック、ISO-13616 の IBAN、EU 24 か国すべてのチェックサム付き国民 ID、EU 27 か国すべての VAT 形式、IMEI、国別の運転免許証番号。
  • LLM とのやり取り向けの、一意の番号付きプレースホルダーによる可逆的なマスキング。
  • カテゴリー別のフィルタリングと、各検出結果を正確な文字範囲付きで確認。

プラットフォームとインストール

SwiftiOS, macOS
インストール
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/redact-swift", from: "0.2.2")
使用例
import Redact

let redact = Redact()
let r = try await redact.redaction(of: text)
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"
KotlinAndroid
インストール
// build.gradle.kts (via JitPack)
implementation("com.github.Desert-Ant-Labs:redact-kotlin:0.2.1")
使用例
import ai.desertant.redact.Redact

val r = Redact.redaction(text)
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"
JavaScript / TypeScriptWeb, Node.js
インストール
npm i @desert-ant-labs/redact
使用例
import { Redact } from "@desert-ant-labs/redact";

const redact = await Redact.load();
const r = await redact.redaction(text);
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"

仕様

言語
EU 公用語 24 言語すべて(ラテン、ギリシャ、キリル文字)
オンデバイスサイズ
12〜14 MB(Apple では 4-bit Core ML、Android と Web では int4 ONNX)
モデル
6 層の BIOES トークン分類器、Multilingual-MiniLM 系、約 23M パラメータ
プライバシー
完全にオンデバイスで動作。テキストがデバイスの外に出ることはありません

FAQ

Redact とは?

EU 公用語 24 言語すべてのテキストから個人データを検出してマスクする、オンデバイスの PII マスキング。テキストがデバイスの外に出ることはありません。

Redact はオンデバイスで動作しますか?

はい。Redact は完全にオンデバイスで動作します。推論はローカルで行われ、サーバーへの通信は発生しないため、データがデバイスの外に出ることはありません。

Redact はどのプラットフォームに対応していますか?

Redact は Swift, Kotlin, JavaScript / TypeScript 向けのネイティブなオンデバイス SDK として提供されます。

Redact の料金はいくらですか?

すべてのモデルは、SDK ごとに月間アクティブデバイス 100k 台まで無料です。ユーザーあたりの推論は無制限です。 カスタムライセンスについては、お問い合わせください

Redact の精度や速度はどれくらいですか?

EU 24 言語すべてで個人データの 88.8% を捕捉し、カード番号、IBAN、VAT 番号、国民 ID はチェックサムで検証します。すべて単一の 23M パラメータモデルによるものです。

リソース