WEBBOOK CHAPTER

AI 활용 바이블: 29장. 개인정보와 비밀정보는 입력 전에 줄인다

29장. 개인정보와 비밀정보는 입력 전에 줄인다

AI 보안의 가장 쉬운 개선은 보내지 않아도 될 데이터를 보내지 않는 것이다. “공급자가 안전할 것”이라는 기대와 조직의 데이터 분류·계약·보존 정책은 다르다.

입력 전에 분류한다.


PUBLIC: 공개해도 되는 자료
INTERNAL: 조직 내부 일반 자료
CONFIDENTIAL: 고객·계약·재무·소스 등 제한 자료
RESTRICTED: 인증정보·민감정보·규제 데이터

작업에 이메일이 필요하지 않으면 제거한다. 이름 대신 합성 ID를 쓰고, 자유 텍스트의 전화번호·API 키 패턴을 마스킹한다. 마스킹만으로 재식별 위험이 사라지지 않으므로 작은 집단과 결합 가능한 속성도 본다.

API 키는 프롬프트, 소스, 스크린샷, 로그, 평가 fixture에 넣지 않는다. 환경 변수나 비밀 관리 시스템의 참조만 사용한다. 노출되었다면 문장을 지우는 것으로 끝나지 않는다. 공급자에서 폐기·회전하고 현재 트리와 활성 ref, 필요한 경우 이력을 확인한다.

로그에는 목적에 필요한 최소값만 남긴다.


{
  "trace_id": "DD-...",
  "model_config": "approved-route-v3",
  "prompt_version": "decision-brief-1.4.0",
  "input_class": "internal",
  "result": "awaiting_approval",
  "raw_customer_text": "NOT_STORED"
}

공급자 데이터 사용과 보존은 제품, endpoint, 설정, 계약에 따라 다르다. 사용 전 공식 정책과 조직 승인을 확인하고, 외부 도구나 MCP로 전달되는 데이터는 그 제3자의 정책도 적용됨을 기억한다.

데이터 흐름 지도를 그린다


사용자 → 우리 서버 → AI 공급자 → 선택 도구/MCP
       ↘ 로그·평가 저장소 ↘ 사람 검토 화면

각 화살표에 데이터 종류, 목적, 지역, 보존, 삭제 owner를 적는다. “AI에 보냄” 한 칸으로 뭉개면 외부 도구와 로그 복제본을 놓친다. 파일·이미지·음성은 텍스트와 보존 조건이 다를 수 있다. 개발·스테이징·운영 데이터를 분리하고 운영 고객 데이터를 평가 편의를 위해 복사하지 않는다. 합성 fixture로 재현하지 못하는 문제는 최소화·접근 승인·삭제 기한을 갖춘 별도 절차로 처리한다.