AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

PII Proxy – LLM 호출 전 개인정보를 로컬에서 마스킹하는 미들웨어

PII Proxy는 애플리케이션과 클라우드 LLM 사이에 놓이는 로컬 미들웨어로, 프롬프트 내 개인식별정보(PII, Personally Identifiable Information)를 탐지·마스킹한 뒤 정제된 텍스트만 외부 모델에 전송하고, 응답을 받은 후 원래 값을 복원하는 아키텍처 패턴이다.

배경 문제

클라우드 LLM을 그대로 사용하면 고객 이름, 이메일, 전화번호, 계정 ID 같은 민감 정보가 서드파티 모델 제공자 서버로 전송된다. GDPR·HIPAA·개인정보보호법 등 컴플라이언스 요건을 충족하면서 고품질 클라우드 모델을 쓰고 싶을 때 이 문제가 발생한다.

대안은 세 가지다:

방식특징한계
클라우드 LLM 직접 사용최고 품질PII 외부 유출
로컬 LLM 전용완전한 데이터 격리품질 저하 또는 고비용
정규식 마스킹구조화된 패턴(이메일 등) 처리문맥 의존 PII(인명 등) 누락
로컬 AI 프록시품질·프라이버시 균형지연 증가, 상태 관리 필요

스크럽-리하이드레이트 워크플로

PII Proxy는 요청마다 네 단계를 거친다:

  1. 탐지(Detect) — 로컬 NER 모델이 원문에서 민감 스팬을 추출. 정규식으로 구조화 패턴 보완
  2. 마스킹(Mask)<PERSON_0>, <EMAIL_1> 같은 플레이스홀더로 치환. 동일 값은 동일 토큰 사용
  3. 추론(Infer) — 정제된 프롬프트만 클라우드 LLM에 전송
  4. 복원(Rehydrate) — 응답 내 플레이스홀더를 원본 값으로 교체 후 반환

클라우드 모델은 실제 개인정보를 전혀 보지 못하고 플레이스홀더만 처리한다.

PII 탐지 기술

GLiNER

GLiNER는 고정 레이블이 아닌 추론 시점에 레이블을 지정할 수 있는 경량 NER 모델이다. person, email, credit_card, account 등 원하는 엔티티 유형을 런타임에 전달하면 해당 스팬을 반환한다. 범용 SLM에 JSON 생성을 요청하는 방식보다 구조화된 출력이 보장되어 보안 전처리에 적합하다.

정규식 보완

GLiNER는 문맥 의존 엔티티(인명, 조직명 등)에 강하고, 이메일·전화번호 같은 구조적 패턴은 정규식이 더 빠르고 확실하다. 두 방식을 결합해 각각의 약점을 보완한다.

사용 대상

  • 고객 지원 요약, 환자 노트, 사내 티켓 처리 등 민감 데이터가 포함된 LLM 워크플로를 운영하는 팀
  • GDPR·HIPAA 등 컴플라이언스 요건 때문에 원시 데이터를 외부에 전송할 수 없지만 클라우드 모델 품질이 필요한 경우

관련 문서



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)