← ブログ一覧に戻る
開発者向け

開発者向け:PII Firewall SDK/APIで
AIアプリに個人情報保護を組み込む方法

📅 2026年4月11日 ⏱ 読了時間 約8分

この記事で分かること


AIアプリ開発者が見落とすPIIリスク

LLMを使ったアプリケーションを開発する際、多くの開発者はプロンプト設計・レスポンス品質・コストの最適化に集中します。しかし「ユーザーが入力した情報にPIIが含まれていたらどうなるか」を考慮している開発者は少ないのが現状です。

たとえば、カスタマーサポートチャットボットを開発したとします。ユーザーが「山田太郎です。注文番号12345の件で問い合わせたい」と入力した場合、その氏名と注文番号がそのままOpenAIやAnthropicのAPIに送信されます。このデータは開発者が意図しない形でログに残ったり、サードパーティサービスに転送されたりする可能性があります。

個人情報保護法・GDPRのもとでは、ユーザーの個人情報を適切に保護する責任は、アプリケーション開発者(データ処理者)にも課されます。


PII Firewall SDKの基本的な使い方

インストール

npm install @pii-firewall/core

基本的なPIIマスキング

import PiiFirewall from '@pii-firewall/core';

const fw = new PiiFirewall({ lang: 'ja' });

// ユーザー入力をマスク
const { masked, detections, map } = fw.mask(userInput);

// maskedをLLMに送信
const response = await openai.chat.completions.create({
  messages: [{ role: 'user', content: masked }]
});

// レスポンスのプレースホルダーを元の値に復元
const restored = fw.restore(response.choices[0].message.content, map);

detections には検出されたPIIの種類・位置・値が含まれます。これをログに記録することで、監査証跡も自動生成できます。

プロンプトインジェクション検出

const threats = fw.detectInjection(userInput);

if (threats.detected) {
  // インジェクション攻撃を遮断
  console.log('攻撃カテゴリ:', threats.categories);
  return res.status(400).json({ error: 'Invalid input' });
}

155以上のパターンで、ジェイルブレイク・ロールプレイ攻撃・間接インジェクションなどを検出できます。


RESTful APIによるバックエンド統合

フロントエンドやマイクロサービスからHTTPで利用する場合は、REST APIを使います。

PII検出エンドポイント

POST https://pii-firewallproxy-production.up.railway.app/api/detect

{
  "text": "山田太郎さん(03-1234-5678)から問い合わせがありました",
  "lang": "ja"
}

レスポンス例:

{
  "detections": [
    { "type": "name", "value": "山田太郎", "start": 0, "end": 4 },
    { "type": "phone", "value": "03-1234-5678", "start": 8, "end": 20 }
  ],
  "riskScore": 0.85
}

マスキング→LLM→復元のプロキシパターン

このアーキテクチャにより、LLMはPIIを一切受け取らず、ユーザーには自然なレスポンスが返ります。アプリコードの変更を最小限に抑えながら、GDPR・個人情報保護法対応を実現できます。

ユーザー → [PII Firewall: マスク] → LLM API → [PII Firewall: 復元] → ユーザー

RAGパイプラインへの組み込み

Retrieval Augmented Generation(RAG)システムでは、ベクトルストアへのインデックス時にもPIIが混入するリスクがあります。PII Firewallの Secure RAG エンドポイントを使うと、文書のインデックス前に自動でPIIを除去できます。

POST /api/rag/secure-store
{
  "documents": [...],
  "pii_handling": "mask"
}

TypeScript型定義

SDKはTypeScriptファーストで設計されており、型定義が付属しています。

import type {
  MaskResult,
  Detection,
  InjectionResult,
  PiiType
} from '@pii-firewall/core';

PiiType には 'name' | 'email' | 'phone' | 'address' | 'mynumber' | 'creditcard' | ... など24種類の型が定義されています。


まとめ

AIアプリ開発においてPII保護は後付けではなく、設計段階から組み込むべきセキュリティ要件です。PII Firewall SDKを使えば、数行のコードでPIIマスキングとインジェクション防御をパイプラインに追加できます。npm installから動作確認まで5分もかかりません。まずは無料プランでお試しください。


関連用語

AIアプリに個人情報保護を5分で組み込む

npm install @pii-firewall/core から始められます。TypeScript型定義・REST API・MCP Serverに対応した開発者向けSDKを無料でお試しください。

🚀 無料で始める