> ## 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, 정규식, 키워드 규칙으로 PII Guard Policy를 생성한 후 Guardian에 적용합니다.

이 레시피는 개인정보를 마스킹하는 PII 정책을 생성하고, Guardian에 할당한 다음, 실제 호출로 검증합니다. 모델에 대해서는 [Guard Policy](/ko/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**를 사용해 종류를 선택하면서 규칙을 하나씩 추가합니다:

| 규칙                     | 정의 항목            | `policy_type`을 통한 action           |
| ---------------------- | ---------------- | ---------------------------------- |
| **NER Entity**         | 이름, 마스크 단어, ± 예시 | `MASKING` 또는 `BLOCKING`            |
| **Regular Expression** | 정규식 + `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이 새 버전을 가리키도록 다시 지정(고정, pin)해야 하며, 그렇지 않으면 변경 사항이 적용되지 않습니다. [정책 업데이트 버전 관리 및 적용](/ko/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](/ko/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>
