# 데이터 마스킹

> **이 장에서 배우는 것**
> 무엇이 가려지는지, 왜 지우지 않고 토큰으로 바꾸는지, 그리고 사람에게는 여전히
> 보이는 이유.

## 나가기 전에 바꿉니다

**설정 → 데이터 마스킹**을 켜면, 이 워크스페이스를 떠나는 **모든 메시지와 문서
발췌**에 적용됩니다.

![데이터 마스킹](/guide-assets/cn-settings-security.png)

```
원문:  담당 김철수 010-1234-5678 chulsoo@hanbit.co.kr
모델이 받는 것:  담당 김철수 [전화번호#1] [이메일#1]
```

## 지우지 않고 토큰으로 바꾸는 이유

`[REDACTED]` 로 뭉개면 **문장 구조가 깨져서 모델이 관계를 못 읽습니다.**

```
✓ "[고객사#1] 이 [고객사#2] 에 납품"   → 관계가 남습니다
✗ "[REDACTED] 가 [REDACTED] 에"      → 아무 정보가 아닙니다
```

그리고 **같은 값에는 항상 같은 토큰**을 줍니다. "A상사"가 한 대화 안에서
`[고객사#1]`과 `[고객사#2]`로 갈리면 모델은 그것을 두 회사로 인식합니다.

## 가릴 항목을 고릅니다

| 항목 | 어떻게 잡나 |
|---|---|
| 주민등록번호 | 정규식 |
| 카드번호 | 정규식 |
| 전화번호 | 정규식 |
| 계좌번호 | 정규식 |
| 이메일 | 정규식 |
| **용어사전 단어** | [용어사전](/guide/cn-glossary-terms)에 등록한 말 |

**마지막 줄이 이 기능의 절반입니다.** 거래처명·제품 코드·내부 명칭은 정규식으로
못 잡습니다. 워크스페이스마다 값이 달라서 코드에 둘 수 없기 때문입니다. 그래서
용어사전이 그 목록 노릇을 합니다.

> 주민번호를 전화번호 패턴이 먼저 먹으면 뒷자리가 남습니다. 그래서 **더 구체적인
> 규칙부터** 검사합니다 — 항목을 켜고 끄는 순서는 신경 쓸 필요가 없습니다.

## 미리보기로 확인하세요

화면 아래 **미리보기**가 "모델이 실제로 받는 내용"을 보여 줍니다. 항목을 켜고 끌
때마다 바로 바뀌므로, **켜기 전에 여기서 한 번 보세요.**

## 사람에게는 여전히 보입니다

가장 자주 오해하는 지점입니다.

> **마스킹은 모델에게 감추는 것이지 사람에게 감추는 것이 아닙니다.**

치환 사전을 들고 있으므로 권한 있는 사용자에게는 원문을 되돌려 보여 줄 수
있습니다. 사람에게 감추려면 그건 마스킹이 아니라 **[공개 범위](/guide/cn-security)**의
일입니다.

## 등급

Business 등급 기능입니다([요금제와 등급](/guide/cn-plans)). 하위 등급에서는 화면이
잠기지만, 잠긴 것은 정책 설정이지 데이터가 아닙니다.

## 어디에 켜나

전부 켜는 것이 정답은 아닙니다.

| 워크스페이스 | 권장 |
|---|---|
| 고객 응대 · 인사 · 법무 | 켜기 |
| 외부 인입(위젯·이메일)이 붙은 곳 | 켜기 |
| 사내 개발·기획 | 대개 불필요 |

**마스킹은 공짜가 아닙니다.** 모델이 실제 값을 못 보므로, 값 자체를 다뤄야 하는
작업(전화번호 형식 검증 같은)은 마스킹된 워크스페이스에서 안 됩니다. 그런 업무는
워크스페이스를 나누세요.

## 자주 하는 오해

### "마스킹을 켜면 개인정보보호법을 지킨 건가요?"

**아닙니다.** 모델로 나가는 경로 하나를 막은 것입니다. 수집 근거·보관 기간·파기
절차는 그대로 남습니다([규제와 컴플라이언스](/guide/ax-compliance)).

### "문서에 든 개인정보도 가려지나요?"

**드라이브 발췌도 같은 경로를 탑니다.** 다만 원본 파일 자체는 그대로이므로,
파일을 내려받는 사람에게는 원문이 갑니다. 그건 [드라이브 권한](/guide/cn-drive)의
문제입니다.

---

## 확인

**1. 왜 지우지 않고 토큰으로 바꿉니까?**

<details>
<summary>답</summary>

**문장 구조를 남겨야 모델이 관계를 읽기 때문**입니다. "[고객사#1]이 [고객사#2]에
납품"은 관계가 남지만 "[REDACTED]가 [REDACTED]에"는 아무 정보가 아닙니다.
</details>

**2. 거래처명은 어떻게 가립니까?**

<details>
<summary>답</summary>

**용어사전에 등록하고 "용어사전 단어도 가리기"를 켭니다.** 정규식으로는 못 잡는
값이고, 워크스페이스마다 달라 코드에 둘 수 없습니다.
</details>

**3. 마스킹을 켜면 팀원도 원문을 못 봅니까?**

<details>
<summary>답</summary>

**봅니다.** 마스킹은 모델에게 감추는 것입니다. 사람에게 감추는 것은 공개 범위와
권한의 일입니다.
</details>

---

다음은 남는 기록입니다 → [감사 로그](/guide/cn-audit)
