クイックスタート
所要時間: 約5分
インストール
bash
npm install @pii-firewall/sdk最初の3行
javascript
const { createFirewall } = require("@pii-firewall/sdk");
const fw = createFirewall({ extraTypes: ["name"] }); // 氏名検出を有効化
const { masked } = fw.mask("田中 太郎のメールは tanaka@example.com、電話は 090-1234-5678 です");
console.log(masked);
// → [SECURED:type=name,id=e5f6...] のメールは [SECURED:type=email,id=a1b2...] 、電話は [SECURED:type=phone,id=c3d4...] ですこれだけです。 AIに渡す前に .mask() を通すだけで、個人情報はAIに届きません。
氏名検出について
氏名検出は extraTypes: ["name"] を指定することで有効になります(デフォルトはOFF)。
現在の検出エンジンは姓と名の間にスペースがある表記(例: 田中 太郎)を対象としています。
スペースなしの表記(例: 田中太郎)は現時点では検出されません。詳細は留意事項をご確認ください。
AIと組み合わせる基本パターン
javascript
async function secureChat(userMessage) {
// ① AIに送る前にマスク
const { masked } = fw.mask(userMessage);
// ② AIにはトークンしか届かない
const aiResponse = await callYourAI(masked); // OpenAI / Claude など
// ③ ユーザーに返す前に元の値に復元
return fw.restoreAll(aiResponse);
}ユーザー入力 あなたのサーバー AI
"tanaka@example.com" → fw.mask() → [SECURED:xxx] → Claude / GPT
↓
"tanaka@example.com" ← fw.restoreAll() ← "件名: [SECURED:xxx] 宛に送信しました"インジェクション攻撃もまとめてブロック
javascript
async function secureChatWithGuard(userMessage) {
// インジェクション攻撃を検知(1行追加するだけ)
const threats = fw.detectInjection(userMessage);
if (threats.some(t => t.level === "critical")) {
throw new Error("Security: Prompt injection detected");
}
// 通常通りマスク → AI → 復元
const { masked } = fw.mask(userMessage);
const aiResponse = await callYourAI(masked);
return fw.restoreAll(aiResponse);
}動作確認(ターミナルで即確認)
bash
node -e "
const { createFirewall } = require('@pii-firewall/sdk');
const fw = createFirewall();
const { masked, detections } = fw.mask('連絡先: sato@example.com / 080-9876-5432');
console.log('マスク後:', masked);
console.log('検知数:', detections.length, '件');
const restored = fw.restoreAll(masked);
console.log('復元後:', restored);
"期待される出力:
マスク後: 連絡先: [SECURED:type=email,id=xxxx] / [SECURED:type=phone,id=yyyy]
検知数: 2 件
復元後: 連絡先: sato@example.com / 080-9876-5432オプション設定
javascript
const fw = createFirewall({
extraTypes: ["name"], // 氏名の検出を追加(デフォルト: OFF)
dpMode: false, // 差分プライバシー(数値ノイズ): Businessプラン
engine: "BASIC", // 暗号エンジン: "BASIC"(無料)/ "ADVANCED"(Starterプラン以上)
});| オプション | デフォルト | 説明 | プラン |
|---|---|---|---|
extraTypes | [] | 追加検出タイプ。"name" で氏名も検出 | Free+ |
dpMode | false | 数値データにラプラスノイズを付加(統計的匿名化) | Business |
engine | "BASIC" | "ADVANCED" にすると高セキュリティの暗号モード | Starter+ |
次のステップ
- コア関数リファレンス — 全関数の詳細
- 実用パターン — チャット履歴・二重防御・ファイルスキャン
- APIサーバー設定 — Python/Goなど他言語から使う
- 業種別導入事例 — 金融・医療・法律など
- Slack・IT/OT連携 — Slackボット・n8n・OTシステムとの連携