API Documentation

PII-Fi™ API Documentation

PII-Fi は日本語テキストから個人情報(PII: Personally Identifiable Information)を高精度で検出し、 5種類の非識別化方式で安全に処理するエンタープライズグレードのクラウドAPIサービスです。

🔎
高精度な日本語PII検出

人名(漢字・カタカナ・ローマ字の多表記対応)、電話番号、メールアドレス、住所、マイナンバーなど59種のPIIタイプを高精度で検出。 独自の4層アプローチと7種の文脈解析パイプラインで検出漏れを最小化。

🔒
5種類の非識別化方式

用途に応じて replacemaskfull_maskhashfake の5種類から最適な非識別化方式を選択可能。

🔄
可逆的仮名化

fake 方式では自然なダミーデータに置換し、後から元のPIIに復元可能。 同一人物の漢字・カタカナ・ローマ字表記は一貫したダミー名に置換。LLMワークフローに最適。

高パフォーマンス

1,000+ req/s のスループット、1-15ms のレイテンシを実現。 バッチ処理にも対応し、大量のテキストを効率的に処理。

Quick Example

以下はPII-Fi APIの基本的な使用例です。

bash
# デモ環境(本番環境では専用エンドポイントを提供)
curl -X POST https://api.pii-fi.com/api/detect \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "田中太郎(090-1234-5678)のメールはtanaka@example.comです。",
    "deidentification_type": "replace"
  }'
python
import requests

# デモ環境(本番環境では専用エンドポイントを提供)
response = requests.post(
    "https://api.pii-fi.com/api/detect",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY"
    },
    json={
        "text": "田中太郎(090-1234-5678)のメールはtanaka@example.comです。",
        "deidentification_type": "replace"
    }
)

result = response.json()
print(result["deidentified_text"])
# 出力: <人名>(<電話番号>)のメールは<メールアドレス>です。
javascript
// デモ環境(本番環境では専用エンドポイントを提供)
const response = await fetch("https://api.pii-fi.com/api/detect", {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_API_KEY"
    },
    body: JSON.stringify({
        text: "田中太郎(090-1234-5678)のメールはtanaka@example.comです。",
        deidentification_type: "replace"
    })
});

const result = await response.json();
console.log(result.deidentified_text);
// 出力: <人名>(<電話番号>)のメールは<メールアドレス>です。

Response

json
{
  "deidentified_text": "<人名>(<電話番号>)のメールは<メールアドレス>です。",
  "entities": [
    {
      "entity_type": "JPII_PERSON_NAME",
      "original_text": "田中太郎",
      "start": 0,
      "end": 4,
      "confidence_score": 0.95
    },
    {
      "entity_type": "JPII_PHONE_NUMBER",
      "original_text": "090-1234-5678",
      "start": 5,
      "end": 18,
      "confidence_score": 0.98
    },
    {
      "entity_type": "JPII_EMAIL_ADDRESS",
      "original_text": "tanaka@example.com",
      "start": 24,
      "end": 42,
      "confidence_score": 0.99
    }
  ]
}

Next Steps

Supported Entity Types

PII-Fi は 12カテゴリ・59種 のエンティティタイプを検出できます。以下は代表的なタイプです。

ルールベース検出

JPII_PERSON_NAME
人名

日本人名・外国人名を検出(漢字・カタカナ・ローマ字の多表記対応)

JPII_PHONE_NUMBER
電話番号

携帯電話・固定電話を検出

JPII_EMAIL_ADDRESS
メールアドレス

メールアドレスを検出

JPII_ADDRESS
住所

日本の住所を検出

JPII_ORGANIZATION
組織名・部署名

会社名、団体名、部署名を検出

JPII_CREDIT_CARD
クレジットカード

カード番号を検出

文脈解析パイプライン(7ドメイン・48カテゴリ)

JPII_PERSONAL_INCOME
個人収入

年収、月収、給与など金融PII

JPII_CRED_API_KEY
APIキー

AWS Key、OpenAI APIキー等の認証情報

JPII_HR_REVIEW
人事評価

評価グレード、業績評価等の人事労務情報

JPII_INTID_PROJECT
プロジェクトID

社内チケット番号、プロジェクトコード等の社内識別子

JPII_STRAT_MA
M&A情報

買収金額、合併条件等の経営戦略情報

JPII_LEGAL_CONTRACT
契約情報

契約条項、契約番号等の法務情報

12カテゴリ・59種すべてのエンティティタイプを見る →

Key Features

5種類の非識別化方式

方式 説明 可逆
replace タグ形式で置換 田中太郎 → <人名> -
mask 部分マスク 090-1234-5678 → 090-****-5678 -
full_mask 完全マスク 田中太郎 → **** -
hash ハッシュ値 田中太郎 → JPII_PERSON_NAME_a1b2c3
fake ダミーデータ 田中太郎 → 山田花子

カスタム検出器

正規表現パターンを登録して、独自のPIIタイプ(社員番号、顧客ID、注文番号など)を検出できます。

json
{
  "id": "custom.employee_id",
  "name": "社員番号認識器",
  "entity_type": "JPII_EMPLOYEE_ID",
  "patterns": [
    {"name": "emp", "regex": "EMP-\\d{6}", "score": 0.9}
  ]
}

カスタム検出器の詳細 →

辞書マッチング

会社名、製品名、禁止ワードなど、固有名詞を辞書ベースで高速検出。 10万語でも1〜5msの検出速度を実現。

辞書マッチングの詳細 →