mcpField
O
ocultar-pii

ocultar-pii

ローカル
github.com/Edu963セキュリティ119 週間前に更新

ocultar-pii について

Ocultarは、AIワークフローで個人データを保護するローカル型のPII/PHIマスキングエンジンです。機微な値を復元可能なトークンに置き換え、対応関係を暗号化してローカルのVaultに保存します。

主な機能

  1. 01ローカルHTTPサイドカー
  2. 02PIIの検出とマスキング
  3. 03決定的な復元可能トークン
  4. 04暗号化されたローカルVault
  5. 05設定可能なSLMベースNER
  6. 06エンティティレジストリ管理

活用シーン

  1. 01クラウドLLMへの送信前に個人データをマスク
  2. 02監査トークンでマスク値を復元
  3. 03エンティティ登録で名前の表記揺れを統一

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
pypiocultar-claude-mcp0.1.2
mcpbocultar-pii-0.1.0.mcpb0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Ocultar

Apache 2.0 Go 1.24+ Docker Release

Ocultar は、AI ワークフロー向けのオープンソースのローカル PII/PHI マスキングエンジンです。

ローカル HTTP サイドカーとして動作します。テキストがクラウド LLM に届く前に送信すると、個人データを決定論的で復元可能なトークン([EMAIL_9c8f7a1b]、[PERSON_3a12b4cd] など)に置き換えた同じテキストを返します。元のデータは暗号化され、ローカルのボールトに保存されます。監査者トークンを持つ呼び出し元は、元のデータを復元できます。

PII がアップストリームのモデルに届くことはありません。


クイックスタート — Docker

export OCU_MASTER_KEY=$(openssl rand -hex 32)
export OCU_SALT=$(openssl rand -hex 16)
export OCU_AUDITOR_TOKEN=$(openssl rand -hex 24)

docker run --rm -p 4141:4141 \
  -e OCU_MASTER_KEY \
  -e OCU_SALT \
  -e OCU_AUDITOR_TOKEN \
  ghcr.io/ocultar-dev/ocultar:latest -serve 4141

クイックスタート — ソースからビルド

CGO_ENABLED=1 go build -o ocultar ./services/refinery/cmd/

OCU_MASTER_KEY=$(openssl rand -hex 32) \
OCU_SALT=$(openssl rand -hex 16) \
OCU_AUDITOR_TOKEN=$(openssl rand -hex 24) \
./ocultar -serve 4141

API リファレンス

GET /api/health

エンジンのステータスを返します。認証は不要です。

{
  "status": "healthy",
  "version": "1.14",
  "vault": { "status": "online" },
  "slm":   { "status": "online", "circuit": "closed" }
}

POST /api/refine

テキストまたは JSON 内の PII をマスキングします。認証は不要です。

リクエストボディ:生テキスト文字列または任意の JSON 値。

レスポンス:

{
  "refined": "{\"message\":\"Hello [PERSON_3a12b4cd], your order [EMAIL_9c8f7a1b] is ready.\"}",
  "report": {
    "hits": 2,
    "types": ["PERSON", "EMAIL"]
  }
}

refined は JSON エンコードされた文字列です。マスキングされたペイロードを取得するには、一度パースしてください。


POST /api/reveal

ボールト内のトークンを元のデータに戻します。

認証:Authorization: Bearer <OCU_AUDITOR_TOKEN> ヘッダーが必要です。 サーバーで OCU_AUDITOR_TOKEN が設定されていない場合は、403 を返します。

リクエストボディ:

{ "tokens": ["[PERSON_3a12b4cd]", "[EMAIL_9c8f7a1b]"] }

レスポンス:

{
  "results": {
    "[PERSON_3a12b4cd]": "Alice Martin",
    "[EMAIL_9c8f7a1b]": "[email protected]"
  }
}

GET /api/entities · POST /api/entities · POST /api/entities/seed

永続的なエンティティレジストリを管理します(正規名を事前登録すると、すべてのバリエーションが同じトークンに対応します)。Authorization: Bearer <OCU_AUDITOR_TOKEN> が必要です。


アーキテクチャ

Ocultar は、テキストがマシンの外に出る前に、2 段階の検出を実行します。

第 1 段階 — 決定論的な正規表現/ヒューリスティック(高速、外部送信なし)
サブ段階シールド検出対象
0辞書VIP の名前、configs/protected_entities.json に登録された組織名
0.5パターン+エントロピーシャノン値によるスコアリングで検出する高エントロピー文字列(API キー、シークレット)
1ルールエンジンEMAIL、SSN、IBAN、クレジットカード、50 種類以上の国別 ID 形式
1.1電話番号シールドlibphonenumber による検証
1.2住所シールドヒューリスティックによる住所パーサー(EN/FR/ES/DE)
1.5コンテキスト挨拶、署名、疑問文に含まれる名前
第 2 段階 — SLM ベースの NER(再現率向上、エンドポイントを設定可能)

固有表現認識のために、テキストをローカル AI サイドカーに送信します。スキャナーは常に初期化されますが、互換性のあるサイドカーが SLM_SIDECAR_URL で稼働していない場合、結果は出力されません。NER を有効にするには、privacy-filter または llama.cpp のインスタンスを指定します。

SLM_SIDECAR_URL=http://localhost:8085 ./ocultar -serve 4141

llama.cpp/Qwen エンドポイントには SLM_ADAPTER=openai-chat を使用します。privacy-filter プロトコルを使用する場合は、設定せずにおきます(デフォルト)。


プライバシーモデル

  • 外部送信ゼロの設計。 上流モデルに転送されるデータは、マスクされたトークン([EMAIL_9c8f7a1b]、…)のみです。生テキストは送信されません。
  • ローカルの保管庫のみ。 各トークンを元の値に戻すための対応関係は、AES-256-GCMとHKDF-SHA256を使用して暗号化されたDuckDBの保管庫(vault.db)に、ローカルファイルシステム上で保存されます。保管庫ファイルが送信されることはありません。
  • 生のプロンプトの保持。 リファイナリーは監査差分ビューをサポートするため、マスクされていない生のプロンプトをすべてローカルの保管庫に記録します。このデータはトークンの対応関係とともに保存時に暗号化され、どこにも送信されません。プロンプトを保持しない場合は、OCU_AUDITOR_TOKENを設定しないでください。監査トークンがない場合、表示エンドポイントは403を返し、差分ビューにはアクセスできません。
  • フェイルクローズ設計。 リファイナリーでエラーが発生した場合、または利用できない場合、ゲートウェイは5xxエラーを返して処理を停止します。フォールバックとして生テキストを転送することはありません。

設定

変数必須デフォルト用途
OCU_MASTER_KEYはい(本番環境)安全でない開発用キーHKDF用の32バイト以上のAESキーマテリアル
OCU_SALTはい(本番環境)組み込みのデフォルト値デプロイごとのHKDFソルト
OCU_AUDITOR_TOKENはい—/api/revealおよび/api/entities用のベアラートークン
OCU_VAULT_PATHいいえvault.dbDuckDB保管庫のファイルパス
SLM_SIDECAR_URLいいえhttp://localhost:8085Tier 2 NERサイドカーのエンドポイント
SLM_ADAPTERいいえprivacy-filterサイドカープロトコル:privacy-filterまたはopenai-chat

ソースからのビルド

Go 1.24以降が必要です。CGOを有効にしてください(DuckDBとlibphonenumberにはCコンパイラーが必要です)。

git clone https://github.com/ocultar-dev/ocultar.git
cd ocultar
make build

テストを実行します:

CGO_ENABLED=1 go test ./...

ライセンス

Apache 2.0 — LICENSEを参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。