AI 프롬프트에서 PII를 마스킹한다는 것은 ChatGPT, Claude 또는 Gemini에 텍스트를 붙여 넣기 전에 사람을 식별할 수 있는 세부사항(이름, 연락처 정보, 계정 및 ID 번호, 생년월일)을 중립적인 표기로 바꾸는 것을 뜻합니다. AI에 필요한 역할, 금액, 사건 날짜는 남기고, 그 사람이 누구인지 드러내는 정보는 모두 가린 다음, 보내기 전에 마스킹된 텍스트를 한 번 더 읽으세요.

크림색 책상 위에는 회색 줄이 인쇄된 종이가 놓여 있고, 짧은 구간 몇 곳이 작은 남색 테이프로 가려져 있습니다. 옆에 남색 마스킹 테이프, 작은 가위, 노트북이 있습니다.

PII란 무엇이며 개인 정보와 어떻게 다른가

PII는 personally identifiable information, 즉 개인 식별 정보의 약자입니다. 미국 연방 지침에서 유래한 용어입니다. OMB Circular A-130 에서는 이를 단독으로 또는 해당 개인과 연결되거나 연결될 수 있는 다른 정보와 결합하여 개인의 신원을 구별하거나 추적하는 데 사용할 수 있는 정보로 정의합니다. NIST SP 800-122는 PII의 기밀성 보호에 관한 NIST 지침으로, 이름, 사회보장번호, 출생 날짜와 장소, 생체 기록, 그리고 의료·금융·고용 정보처럼 개인과 연결된 정보를 예로 듭니다.

EU와 영국에서는 다른 용어를 사용합니다. GDPR 제4조 제1항및 UK GDPR의 같은 조항에 따르면 개인 정보란 "식별되었거나 식별 가능한 자연인에 관한 모든 정보"이며, 여기에는 위치 데이터, 온라인 식별자, 또는 개인의 신체적·경제적·문화적·사회적 정체성에 특유한 요소를 통한 식별이 포함됩니다.

프롬프트에서는 대부분 익숙한 용어의 차이일 뿐입니다. “PII”라고 생각하는 사람들은 이름, SSN, 이메일 같은 필드를 찾는 경향이 있습니다. GDPR의 정의에 따르면 문장을 나머지 내용과 함께 읽었을 때 특정인을 가리키는지도 살펴봐야 합니다. 고객이 EU 또는 UK에 있다면 더 폭넓은 정의를 기준으로 작업하세요. 특정 AI 사용이 귀사에 적법한지는 마스킹 도구가 아니라 변호사나 데이터 보호 책임자에게 문의할 사안입니다.

무해해 보이는 세부사항이 모이면 문제가 되는 이유

식별자는 두 그룹으로 나뉩니다. 직접 식별자는 그 자체로 특정인을 가리킵니다. 성명, 여권 번호, 이메일 주소가 이에 해당합니다. 준식별자는 단독으로 특정인을 가리키지는 않지만 대상의 범위를 좁힙니다. 우편번호, 생년월일, 직함, 희귀 진단명이 그 예입니다.

준식별자가 얼마나 빠르게 대상의 범위를 좁히는지 보여주는 가장 잘 알려진 측정치는 Latanya Sweeney의 연구에서 나왔습니다. 그녀는 1990년 미국 인구조사 자료를 사용해 다음 연구에서 추정했습니다. “간단한 인구통계 정보만으로도 사람을 고유하게 식별하는 경우가 많다” 미국 인구의 87%는 세 가지 항목, 즉 5자리 ZIP 코드, 성별, 생년월일만으로도 고유하게 식별될 가능성이 높았습니다. 이후 Philippe Golle의 재분석 에서는 2000년 인구조사의 경우 그 수치가 약 63%로 나타났습니다. 어느 쪽이든 흔한 정보 세 가지면 대부분의 사람을 특정하기에 충분했습니다.

프롬프트에서 준식별자는 보통 자유 형식 텍스트에 숨어 있습니다. “리즈 사무실의 유일한 여성 파트너”, “지난봄 메인 스트리트의 빵집을 판 고객” 같은 표현입니다. 저희의 AI에 문서를 보내기 전에 삭제할 정보 목록에서는 이러한 조합을 유형별로 살펴봅니다.

마스킹, 삭제, 가명 처리: AI가 여전히 할 수 있는 일

이 세 용어는 흔히 엄밀한 구분 없이 사용됩니다. 프롬프트에서는 각 방법이 AI가 활용할 수 있는 내용을 어떻게 남기는지가 중요합니다. 다음 문장을 예로 들어 보겠습니다. “Anna Weber가 5월 3일 Tom Hale에게 이메일을 보냈고, Anna는 Tom의 청구서에 이의를 제기한다.”

방법문장은 다음과 같이 바뀝니다.AI가 여전히 할 수 있는 일이름을 복원할 수 있나요?
삭제 처리(제거하거나 검게 가리기)“[█████]가 5월 3일 [█████]에게 이메일을 보냈고, [█████]는 [█████]의 청구서에 이의를 제기한다.”할 수 있는 일이 거의 없습니다. 누가 작성했고, 누가 이의를 제기하며, 누구에게 대금을 지급해야 하는지 알 수 없습니다.아니요
유형 레이블을 사용한 마스킹“[이름]이 5월 3일 [이름]에게 이메일을 보냈고, [이름]은 [이름]의 청구서에 이의를 제기한다.”이들이 사람이라는 것은 알지만, 각각 누구인지는 알 수 없습니다.아니요
가명처리(일관된 플레이스홀더 사용)“Person_1가 5월 3일 Person_2에게 이메일을 보냈고, Person_1는 Person_2의 청구서에 이의를 제기한다.”누가 무엇을 했는지 파악하고, 동일한 표현을 사용해 답변합니다.예. 단, 플레이스홀더와 이름을 연결하는 표를 사용자 측에 보관해야 합니다.

대부분의 AI 작업에서는 일관된 플레이스홀더가 가장 좋은 답변을 얻을 수 있습니다. AI가 이야기의 흐름을 계속 따라갈 수 있기 때문입니다. GDPR은 이를 가명처리 (제4조 제5항)라고 부르며, 처리된 정보도 여전히 개인정보로 간주합니다. 저희의 익명처리, 가명처리, 삭제 처리 관련 글에서 세 용어를 자세히 설명합니다.

프롬프트에서 마스킹할 정보와 남길 정보

사람을 식별하는 정보는 마스킹하세요. 질문의 주제와 관련된 내용은 남겨 두세요.

마스킹할 항목남겨 둘 항목
사람과 회사의 이름, 별명, 이니셜역할: 구매자, 세입자, 직원, 당사 고객, 상대방
이메일 주소, 전화번호, 도로명 주소답변에 필요한 경우 국가 또는 관할권
계좌 번호, IBAN, 카드 번호, 세금 번호와 신분증 번호, 사건 번호와 보험 증권 번호금액. 단, 금액 자체가 고객을 식별할 수 있다면 마스킹합니다.
생년월일사건 날짜: 서명일, 통지일, 지급일, 기한
특정인을 가리키는 자유 형식 세부 정보: 희귀한 직함, 작은 마을, 이름이 언급된 친척질문의 핵심이 되는 사실은 일반적인 표현으로 남겨 두세요.

“생년월일을 마스킹한다”는 원칙에는 나이가 흔한 예외입니다. 답변이 누군가의 만 18세 초과 여부나 은퇴 연령 임박 여부에 달려 있다면 생년월일 대신 나이 또는 “65세 초과”라고 적으세요.

짧은 프롬프트의 수정 전후 예:

Before:
Maria Lopez (born 12 March 1981, maria.lopez@example.com) rents
a flat from Greenfield Lettings Ltd. Her deposit of $2,400 was not
returned after she moved out on 30 June. What can she do?

After:
Person_1 (born Date_1, Email_1) rents a flat from Company_1.
Person_1's deposit of $2,400 was not returned after Person_1 moved
out on 30 June. What can Person_1 do? Keep the placeholders as written.

답변이 금액과 퇴거 날짜에 달려 있으므로 이 두 정보는 남깁니다. 생년월일이 질문과 무관하다면 마스킹하는 대신 삭제하세요.

마스킹하는 세 가지 방법

수작업으로 처리하기

짧은 프롬프트 하나라면 직접 텍스트를 읽고 각 식별자를 바꾸세요. 작업하면서 플레이스홀더 목록을 메모에 적어 두세요(Person_1 = Maria Lopez). 그러면 같은 사람에게 항상 같은 레이블을 사용할 수 있습니다. 직접 마스킹하는 작업은 느리고 긴 텍스트에서는 실수가 발생합니다. 이름이 열두 번 나오면 열한 번만 바꾸는 식입니다.

패턴 찾기 및 바꾸기 사용

일부 식별자는 고정된 패턴을 따르므로 정규식을 사용해 한 번에 모두 찾을 수 있습니다. Notepad++와 VS Code 같은 텍스트 편집기가 정규식을 지원하며, Word에는 자체 구문을 사용하는 와일드카드 검색 기능이 있습니다. 먼저 다음 두 패턴을 사용해 보세요.

Email:  [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
IBAN:   \b[A-Z]{2}[0-9]{2}(?: ?[A-Z0-9]){11,30}\b

IBAN 패턴은 다음에 명시된 구조를 따릅니다. SWIFT IBAN 레지스트리: 두 글자의 국가 코드, 두 자리 확인 숫자, 그리고 최대 서른 자의 문자와 숫자입니다. 패턴은 형식은 찾지만 의미는 파악하지 못합니다. “oh-seven-seven”처럼 적힌 전화번호는 찾지 못하며, 이름은 절대로 찾을 수 없습니다.

탐지 도구 사용

탐지 도구는 패턴뿐 아니라 이름, 회사, 장소도 찾습니다. 긴 문서를 다룰 때는 직접 작업하는 것보다 훨씬 빠르지만, 어떤 도구도 모든 것을 찾아내지는 못합니다. 오픈소스 탐지 툴킷인 Presidio 의 문서에도 이 점이 분명히 나와 있습니다. 자동 탐지를 사용하므로 “Presidio가 모든 민감 정보를 찾아낼 것이라고 보장할 수 없습니다.”

따라서 탐지 후에는 검토 단계가 필요합니다. 도구가 찾은 항목을 살펴보고, 성이기도 한 거리 이름처럼 잘못 탐지된 항목은 선택 해제하세요. 그런 다음 놓친 항목이 있는지 텍스트를 읽어 보세요. 별명, 소문자로 적힌 이름, 이름을 직접 쓰지 않고 묘사한 사람 등이 이에 해당합니다. 가명처리 도구에서 살펴볼 사항 에서는 이용 가능한 도구의 유형을 비교합니다.

ClientSafe의 원본 보기에서 임대차 계약서를 보여 주며, 검토를 위해 이름, 주소, 신분증 번호가 강조 표시되어 있습니다.
ClientSafe에서 안전 사본을 만들기 전에 원본의 각 탐지 결과가 강조 표시됩니다.

ClientSafe에서 문서를 케이스에 추가하면 PC에서 이름, 회사, 주소, 전화번호, 이메일 주소, 계좌 번호와 신분증 번호, 생년월일을 찾아냅니다. 개인정보가 아닌 항목은 선택 해제하고, 누락된 항목은 직접 표시합니다. 그런 다음 안전 사본을 AI 채팅에 복사합니다. 케이스에 포함된 모든 문서에서 같은 사람에게 동일한 플레이스홀더가 지정됩니다.

플레이스홀더가 포함된 답변이 돌아옵니다

마스킹은 양방향으로 작동합니다. AI는 사용자가 쓴 것과 같은 표현으로 답하므로 “Maria Lopez가 …에게 요청할 수 있다”가 아니라 “Person_1가 Company_1에게 …을 요청할 수 있다”라고 답합니다. 위 예시처럼 플레이스홀더를 그대로 유지하라고 요청하면 그럴 가능성이 커집니다.

실제 이름은 채팅이 아니라 사용자 컴퓨터에서 복원하세요. 플레이스홀더 목록을 사용해 찾기 및 바꾸기를 하거나, 마스킹에 사용한 도구를 이용하면 됩니다. 그런 다음 복원된 답변을 한 번 읽어 보세요. AI가 플레이스홀더를 변경했다면(“Person_1” 대신 “Person 1”이라고 쓴 경우 등) 복원되지 않았을 수 있습니다. 저희 가이드 AI 답변에서 실제 이름 복원하기 에서 전체 복원 과정을 단계별로 설명합니다.

자주 묻는 질문

마스킹한 텍스트는 익명인가요?

대개 그렇지 않습니다. 플레이스홀더와 이름을 연결하는 표를 보관한다면 해당 텍스트는 가명처리된 것이며 GDPR에 따라 여전히 개인정보입니다. 마스킹은 AI 서비스가 받는 정보를 줄여 줍니다. 하지만 해당 텍스트를 데이터 보호법의 적용 대상에서 제외하지는 않습니다.

회사 이름도 마스킹해야 하나요?

고객 회사와 고객을 식별할 수 있는 회사(예: 소규모 가족 기업)는 마스킹하세요. 질문에 필요한 경우 공급업체나 거래 상대방으로 언급된 대형 상장 기업의 이름은 대개 남겨 둘 수 있습니다.

마스킹하면 AI 답변의 품질이 떨어지나요?

일관된 플레이스홀더를 사용하면 드물게 그렇습니다. AI는 여전히 누가 무엇을 했는지 알 수 있습니다. 답변에 국가나 사람의 나이처럼 마스킹한 정보가 필요한 경우에는 답변의 품질이 떨어집니다. 그 세부 정보를 일반적인 형태로 추가하세요.

AI에게 개인정보를 무시하라고 말하기만 하면 되나요?

아니요. AI가 그 지시를 읽을 때쯤이면 데이터는 이미 전송된 뒤입니다. 붙여넣기 전에 마스킹해야 합니다.

ClientSafe PC에서 이름, 주소, 전화번호, 이메일 주소, 계좌 번호와 신분증 번호, 생년월일을 플레이스홀더로 바꾸고 AI 답변에서 실제 이름을 복원합니다. 탐지가 완벽하지 않으므로 복사하기 전에 목록을 검토하세요.