> ## Documentation Index
> Fetch the complete documentation index at: https://docs.starfort.io/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタマイズした PII ポリシーを追加する方法

> NER、regex、keyword ルールを使って PII Guard Policy を作成し、Guardian に適用します。

このレシピでは、個人データをマスクする PII ポリシーを作成し、Guardian に割り当て、実際の呼び出しで検証します。モデルについては [Guard Policy](/ja/v1.2/concepts/guard-policy) を参照してください。

## 1. ポリシーを作成して割り当てる

対象の Guardian を開き、**Policies** → **Input Policies** の **Add** → **Create & Assign Policy** を選択します。名前を付け（例：`PII Masking Policy`）、**Policy Type = PII** を設定して作成します。`v0.1.0` から始まり、エディターで開かれます。

<Frame caption="PII ポリシーを作成">
  <img src="https://mintcdn.com/aimintelligence/A1_c5EL9JAZ7xlFg/images/v1.2/admin/pii-create-assign.png?fit=max&auto=format&n=A1_c5EL9JAZ7xlFg&q=85&s=f345733f2f06034b62587ee4237e71ca" alt="PII ポリシーを作成" width="1200" height="626" data-path="images/v1.2/admin/pii-create-assign.png" />
</Frame>

## 2. ルールを追加する

エディターの **Add** を使って、種類を選びながらルールを 1 つずつ追加します。

| ルール                    | 定義する内容            | `policy_type` によるアクション             |
| ---------------------- | ----------------- | ---------------------------------- |
| **NER Entity**         | 名前、マスクワード、± サンプル  | `MASKING` または `BLOCKING`           |
| **Regular Expression** | regex + `rule_id` | `MASKING` / `BLOCKING` / `PASSING` |
| **Keyword**            | 完全一致する単語          | `MASKING` / `BLOCKING` / `PASSING` |

マスキングの場合は、**`policy_type: MASKING`** と**マスクワード**（例：`PHONE_NUMBER`）を設定します。一致した箇所は `[PHONE_NUMBER_1]` になります。

<Frame caption="マスキング NER ルール">
  <img src="https://mintcdn.com/aimintelligence/A1_c5EL9JAZ7xlFg/images/v1.2/admin/pii-ner-editor.png?fit=max&auto=format&n=A1_c5EL9JAZ7xlFg&q=85&s=9301c34f29eee94c9b89cb84e0f7079f" alt="マスキング NER ルール" width="1200" height="902" data-path="images/v1.2/admin/pii-ner-editor.png" />
</Frame>

### より速く：JSON を読み込む

**JSON** を選択すると、ポリシー全体を一度に貼り付けられます。許可されるトップレベルキーは `ner`、`regex`、`keyword` です。

```json theme={null}
{
  "ner": [
    { "id": 0, "name": "Phone number", "policy_type": "MASKING", "mask_word": "PHONE_NUMBER",
      "alert_message": "Phone number detected", "positive_examples": ["010-1234-5678"] }
  ],
  "regex": [
    { "id": 1, "rule_id": "email", "regex": "(?i)\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b",
      "policy_type": "MASKING", "mask_word": "EMAIL", "description": "email", "alert_message": "Email detected" }
  ],
  "keyword": []
}
```

エディターは保存前に検証を行います。**Save** で新しいバージョンが作成されます。

<Frame caption="PII ポリシーを JSON で読み込み">
  <img src="https://mintcdn.com/aimintelligence/A1_c5EL9JAZ7xlFg/images/v1.2/admin/pii-json-editor.png?fit=max&auto=format&n=A1_c5EL9JAZ7xlFg&q=85&s=d39161d2e4713000d329f6aa8581ca58" alt="PII ポリシーを JSON で読み込み" width="1200" height="626" data-path="images/v1.2/admin/pii-json-editor.png" />
</Frame>

## 3. 新しいバージョンを適用する

保存によって**新しいバージョン**が作成されました（番号はこのポリシー内で一意でありさえすればよく、直前のものより大きい必要はありません）。**保存しただけでは適用されません** — Guardian を新しいバージョンに再度ポイント（ピン留め）しないと、変更は反映されません。[ポリシー更新のバージョン管理と適用](/ja/v1.2/admin/how-to/version-and-apply-policy)を参照してください。

<Frame caption="Guardian を新しいバージョンに再設定">
  <img src="https://mintcdn.com/aimintelligence/A1_c5EL9JAZ7xlFg/images/v1.2/admin/edit-policy-version.png?fit=max&auto=format&n=A1_c5EL9JAZ7xlFg&q=85&s=577dd17c719589c02fbf83ef8c3c66d5" alt="Guardian を新しいバージョンに再設定" width="1200" height="626" data-path="images/v1.2/admin/edit-policy-version.png" />
</Frame>

## 4. 検証する

PII を含むテスト呼び出しを送信し、マスクされることを確認します。

```bash theme={null}
curl -X POST "https://bastion-guardian-api.starfort.io/v1/guard/api" \
  -H "Content-Type: application/json" -H "X-Starfort-Guard-Api-Key: sf_your_key" \
  -d '{"messages":[{"role":"user","content":"My number is 010-2543-2513."}],"processType":"input"}'
```

マスクされたレスポンス（`"action":"MASK"`、`[PHONE_NUMBER_1]` を含む `processed_content`）が、正しく動作していることを示します。[Opticon](/ja/v1.2/admin/monitoring-opticon) で確認してください。

<Frame caption="Opticon で MASK を確認">
  <img src="https://mintcdn.com/aimintelligence/A1_c5EL9JAZ7xlFg/images/v1.2/admin/opticon-trace-detail.png?fit=max&auto=format&n=A1_c5EL9JAZ7xlFg&q=85&s=349507d9af82597115ccd1277cd19920" alt="Opticon で MASK を確認" width="1200" height="626" data-path="images/v1.2/admin/opticon-trace-detail.png" />
</Frame>

<Tip>
  Starfort には包括的な**デフォルト PII ポリシー**（韓国の電話番号、住民登録番号、パスポート、カード、メールなど）が付属しています。JSON エディターで読み込むのが最も速い出発点です。その後、必要なものだけに絞り込んでください。
</Tip>
