Skip to content

Secure RAG — 社内文書を安全にRAGで活用する

Starter プラン以上が必要

/rag/ingest および /rag/resolveStarter プラン以上でご利用いただけます。Free プランからのリクエストは 403 Forbidden を返します。 プランの詳細を確認する →

製造業・医療・金融など「データをクラウドに出せない」業種向けに、社内文書のPIIをトークン化してからRAGパイプラインに渡すフローを提供します。

Secure RAG とは

通常のRAGでは、社内文書をそのままベクトルDBやLLMに渡すため、個人情報・取引先情報・機密情報が外部クラウドに送信されます。
Secure RAGは、文書をRAGに渡す前にPIIをトークンに置き換え、LLMには匿名化済みテキストのみを渡します。回答を返す際にトークンを元の値に復元するため、ユーザーには完全な情報が届きます。

社内文書 → rag_ingest → PIIをトークン化 → ベクトルDB格納
                ↓                              ↓
        [クラウドには匿名化済みテキストのみ]   LLMで検索・回答生成

                                         rag_resolve → PIIを復元 → ユーザーへ

MCPツール

ツール説明
rag_ingest社内文書をPIIトークン化してRAGチャンクに安全取り込み
rag_resolveRAG検索結果のPIIトークンを元の値に復元

使用例(Claude Desktop)

Claude Desktop から自然な言葉で依頼できます:

「rag_ingest ツールを使って、以下の社内文書を安全に取り込んでください:[文書テキスト]」

「RAG検索結果の [SRAG:...] トークンを rag_resolve で復元してください」

SDK での利用

typescript
import { createFirewall } from '@pii-firewall/sdk'

const fw = createFirewall({ lang: 'ja' })

// 1. 文書をRAGに取り込む前にトークン化
const ingestResult = await fw.ragIngest(documentText)
// ingestResult.chunks  → ベクトルDBに格納する匿名化チャンク
// ingestResult.tokenMap → 復元に使うトークンマップ(ローカル保持)

// 2. LLMの回答内のトークンを復元
const resolvedText = await fw.ragResolve(llmResponse, ingestResult.tokenMap)

Proxy API

bash
# rag_ingest: 文書のPIIをトークン化(氏名検出には extraTypes: ["name"] を指定)
curl -X POST https://pii-firewallproxy-production.up.railway.app/rag/ingest \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pf_live_xxx" \
  -d '{"text": "担当者: 山田 太郎(yamada@example.com)/ 顧客: 株式会社ABC製造", "lang": "ja", "extraTypes": ["name"]}'

# rag_resolve: トークンを元の値に復元
curl -X POST https://pii-firewallproxy-production.up.railway.app/rag/resolve \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer pf_live_xxx" \
  -d '{"text": "[SRAG:cat=PII,name=EMAIL,id=abc123]", "sessionId": "..."}'

氏名検出について

氏名検出は extraTypes: ["name"] を指定することで有効になります(デフォルトはOFF)。
現在は姓と名の間にスペースがある表記(例: 山田 太郎)を検出対象としています。

テスト結果(実証済み)

入力: 担当者: 山田 太郎(yamada@example.com)/ 顧客: 株式会社ABC製造 / 電話: 03-1234-5678
      製品仕様: 精密部品A型の加工精度は±0.01mm(社外秘)

rag_ingest 後(LLMに渡るテキスト):
  担当者: [SRAG:cat=PII,name=NAME,id=...]([SRAG:cat=PII,name=EMAIL,id=...])
  顧客: [SRAG:cat=BUSINESS,name=COMPANY_NAME_JP,id=...]
  電話: [SRAG:cat=PII,name=PHONE,id=...]
  製品仕様: 精密部品A型の加工精度は±0.01mm(社外秘)← 技術情報はそのまま通過

rag_resolve 後: 4/4件を完全復元 ✅

技術情報(仕様・数値・社外秘マーク)はPIIではないためそのまま通過し、RAGの有用性を損なわずにプライバシーを保護します。

対応業種・ユースケース

業種ユースケース
製造業仕様書・品質記録・取引先情報を社外LLMで活用
医療患者情報を含む診療記録のRAG検索
金融顧客情報・契約書・取引履歴の社内AI活用
法律依頼人情報を含む書類の調査・要約
人事社員情報を含む社内規定・評価書類の活用

ローカル処理・クラウド送信ゼロ

MCPサーバー経由の場合、rag_ingest / rag_resolve はすべてローカルで処理されます。クラウドにはトークン化済みテキストのみが届きます。

関連ページ

Privacy by Design.