業種別 導入事例
「既存のアプリに1〜2行追加するとどうなるか」の実例です。
💰 金融・証券
シーン: 顧客がAIチャットで口座番号を入力する
javascript
// ✅ fw.mask() を1行追加するだけ
const { masked } = fw.mask(userMessage); // ← これだけ追加
const response = await openai.chat.completions.create({
messages: [{ role: "user", content: masked }]
});
const answer = fw.restoreAll(response.choices[0].message.content);効果: 口座番号・クレジットカード・マイナンバーがAIログに残らない。FISC安全対策基準への準拠を補強。
⚖️ 法律・リーガルテック
シーン: 弁護士が契約書をAIに読ませて要約を依頼する(MCPパターン)
javascript
server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { document_text } = request.params.arguments;
const { masked, detections } = fw.mask(document_text); // ← これだけ追加
console.log(`PII検知: ${detections.length}件をマスクしました`);
const summary = await claude.messages.create({
messages: [{ role: "user", content: `以下の契約書を要約してください:\n${masked}` }]
});
return { content: [{ type: "text", text: fw.restoreAll(summary.content[0].text) }] };
});効果: 依頼人の個人情報が外部AIに送信されない。守秘義務(弁護士法第23条)のリスクを低減。
🏥 医療・ヘルスケア
シーン: 患者がAIに症状を相談する(氏名・生年月日が含まれるケース)
javascript
app.post("/ai-consultation", async (req, res) => {
const { message } = req.body;
// インジェクション検知 + PIIマスクを1エンドポイントで
const threats = fw.detectInjection(message);
if (threats.length > 0) return res.status(403).json({ error: "不正なリクエスト" });
const { masked, detections } = fw.mask(message); // ← これだけ追加
const aiAnswer = await callMedicalAI(masked);
res.json({
answer: fw.restoreAll(aiAnswer),
pii_removed: detections.length,
});
});効果: 氏名・生年月日・電話番号がAI事業者に渡らない。個人情報保護法・医療情報システム安全管理ガイドライン対応を補強。
🏢 HR・人事システム
シーン: 人事担当者がAIに候補者の評価まとめを依頼する(RAGパターン)
javascript
async function summarizeCandidates(candidateData) {
const { masked } = fw.mask(JSON.stringify(candidateData)); // ← これだけ追加
const summary = await rag.query(masked, {
prompt: "候補者を評価基準でランキングしてください"
});
return fw.restoreAll(summary);
}効果: 氏名・連絡先・評価情報がAIベンダーのサーバーに渡らない。
導入効果まとめ
| 導入前 | 導入後 | |
|---|---|---|
| 追加コード行数 | — | 2〜3行 |
| 既存コードの変更 | — | ほぼなし |
| AIへのPII送信 | あり | なし |
| 個人情報保護法リスク | 高 | 低 |
| GDPR / FISC対応 | 別途対応必要 | 補強される |
