AI에 넣기 전 개인정보 마스킹 완전 가이드 — 무엇을·왜·어떻게 가리나

업데이트 2026-07-11 · 일반 참고 정보 · 이 도구는 정규식 기반 보조 수단으로 완전 탐지를 보장하지 않습니다.

작성 김지광 (운영자)감수 개인정보보호 실무 기준 기반 검토마지막 업데이트 bal.pe.kr 마이크로 SaaS
🔒 프라이버시 원칙. 이 도구의 모든 탐지·마스킹은 여러분의 브라우저 안에서만 실행됩니다. 원문 텍스트와 탐지된 개인정보 값은 어떤 서버로도 전송·저장되지 않습니다. 저장되는 것은 "어떤 유형을 가릴지"와 "마스킹 스타일" 같은 설정값뿐입니다.

1. 왜 AI에 넣기 전에 가려야 하나

ChatGPT·Claude 같은 생성형 AI는 강력한 업무 도구지만, 붙여넣은 텍스트가 서비스 정책에 따라 모델 개선·검토에 활용되거나 로그로 남을 수 있습니다. 회사 기밀이 AI로 유출되는 가장 흔한 경로가 바로 복사·붙여넣기라는 지적이 나오는 이유입니다. 특히 계약서·이력서·상담 기록·고객 명단을 그대로 붙여넣으면 주민등록번호·카드번호·연락처 같은 민감정보가 통째로 외부로 나갈 수 있습니다.

해결책은 간단합니다. AI에 넣을 텍스트에서 개인을 식별할 수 있는 정보(PII)만 자리표시자로 바꿔 넣는 것입니다. "홍길동, 900101-1234567 고객이 3월에 결제한 내역을 정리해줘"를 "[이름], [주민번호] 고객이 3월에 결제한 내역을 정리해줘"로 바꾸면, AI는 여전히 문맥을 이해하고 작업을 수행하지만 실제 개인정보는 밖으로 나가지 않습니다.

2. 무엇이 개인정보(PII)인가

개인정보는 그 자체로, 또는 다른 정보와 결합해 특정 개인을 알아볼 수 있는 정보를 말합니다. 본 도구는 한국에서 특히 민감하고 형식이 뚜렷해 정규식으로 탐지 가능한 다음 유형을 다룹니다.

유형예시탐지 방식
주민등록번호900101-1234567생년월일·성별코드 구조 검증
사업자등록번호123-45-6789110자리 + 공식 체크섬 검증
신용/체크카드4111-1111-1111-111115~16자리, Luhn 체크섬 옵션
전화번호010-1234-5678휴대폰·유선·070 형식
계좌번호110-234-567890하이픈 구분 10~16자리
이메일hong@example.com표준 이메일 패턴
여권번호M12345678유형문자 + 8자리
이름이름: 홍길동라벨 뒤 한글 2~4자(컨텍스트)

3. 각 유형은 어떻게 탐지되나

주민등록번호 — 구조 검증

주민등록번호는 앞 6자리가 생년월일(YYMMDD), 7번째 자리가 성별·세기 코드입니다. 본 도구는 6자리 + 성별코드(1~8) + 6자리 형식을 찾은 뒤 월(01~12)·일(01~31) 범위와 성별코드가 유효한지 확인합니다. 체크섬(마지막 검증숫자)까지 강제하면 오타가 있는 실제 번호를 놓칠 수 있어(미탐 = 유출), 기본 탐지는 구조 검증만 사용해 넉넉하게 가리는 쪽을 택했습니다.

사업자등록번호 — 체크섬 검증

사업자등록번호 10자리는 정해진 가중치와 검증식(마지막 자리 체크섬)을 가집니다. 본 도구는 이 공식 체크섬을 통과한 번호만 사업자번호로 인식합니다. 덕분에 우연히 나열된 10자리 숫자를 오탐하지 않습니다.

카드번호 — Luhn 체크섬(옵션)

신용카드 번호는 Luhn(모듈러스 10) 알고리즘을 만족합니다. 설정에서 Luhn 검증을 켜면 체크섬이 유효한 카드만 가려 오탐을 줄이고, 끄면 15~16자리 형식만 맞으면 모두 가려 미탐을 줄입니다. 기밀 유출이 더 위험하다면 끈 상태(넉넉히 가림)를 권장합니다.

전화·계좌·이메일·여권

전화번호는 휴대폰(010·011 등)과 유선(02, 지역번호, 070)을, 계좌번호는 하이픈으로 구분된 10~16자리를, 이메일은 표준 형식을, 여권번호는 유형문자 뒤 8자리를 각각 정규식으로 탐지합니다. 같은 자리에서 여러 유형이 겹치면 더 구체적인 유형(예: 카드가 계좌보다 우선)이 채택되어 같은 값이 중복 집계되지 않습니다.

이름 — 라벨 컨텍스트 기반

한글 이름은 형태만으로 일반 단어와 구분하기 어렵습니다. 무턱대고 2~4자 한글을 모두 가리면 문장이 엉망이 되므로, 본 도구는 "이름:", "성명", "고객명", "담당자" 같은 라벨 바로 뒤에 오는 한글 2~4자만 이름으로 인식합니다. 이렇게 하면 오탐을 크게 줄일 수 있지만, 라벨 없이 흩어진 이름은 놓칠 수 있습니다.

4. 라벨 치환 vs 부분 마스킹

마스킹 스타일은 두 가지입니다.

  • 라벨 치환 — 값을 [주민번호]처럼 유형 이름으로 완전히 바꿉니다. 원래 값의 흔적이 전혀 남지 않아 가장 안전합니다.
  • 부분 마스킹901010-1******, 4111-****-****-1111처럼 일부만 남기고 핵심 자릿수를 가립니다. "어떤 값이었는지" 문맥은 유지하면서도 전체 노출은 막습니다. 여러 건을 구분해야 할 때 유용합니다.

AI에 넣을 때 값 자체가 전혀 필요 없다면 라벨 치환을, 값의 형태나 마지막 자리 정도는 남겨야 문맥이 유지된다면 부분 마스킹을 고르세요.

5. 한계 — 반드시 눈으로 다시 확인하세요

정규식 기반 탐지는 편리하지만 만능이 아닙니다. 다음과 같은 경우 놓칠 수 있습니다.

  • 형식이 특이하거나 오타·띄어쓰기가 섞인 번호
  • 라벨 없이 문장 속에 흩어진 이름·주소·회사명
  • 사진·표·이미지 안에 든 정보(텍스트가 아니면 탐지 불가)
  • 새로운 형식의 식별자(사원번호·주문번호 등 도구가 모르는 패턴)

미탐은 곧 개인정보 유출입니다. 마스킹 결과를 AI에 붙여넣기 전에 반드시 직접 훑어보고, 필요하면 남은 민감정보를 손으로 지우세요. 사용자 정의 사전이 필요할 만큼 반복되는 값은 도구를 돌린 뒤 한 번 더 찾아 바꾸는 습관을 들이면 좋습니다.