개인정보 처리 근거 고르기 — 동의만이 답이 아니다
한 문장 결론
섹션 제목: “한 문장 결론”개인정보를 수집하는 모든 필드는 제15조제1항의 7가지 근거 중 하나에 매핑되어야 하고, “일단 동의를 받자”는 기본값이 아니라 다른 근거가 없을 때 쓰는 근거로 다루는 편이 안전합니다.
적용 조건과 예외
섹션 제목: “적용 조건과 예외”| 근거 (제15조제1항) | 개발 현장 예시 | 주의 |
|---|---|---|
| 1호 정보주체의 동의 | 마케팅 수신, 선택 항목(관심사, 프로필 사진) | 제15조제2항의 4가지 고지 필요, 제22조의 구분 동의 |
| 2호 법률의 특별한 규정·법령상 의무 | 전자상거래 거래기록 보존 등 개별 법률이 요구하는 경우 | 근거 법률과 조문을 실제로 확인해야 함 |
| 3호 공공기관의 소관 업무 | 공공기관 시스템 | 민간 서비스에는 해당하지 않음 |
| 4호 계약 체결·이행 | 회원 로그인 ID, 배송 주소, 결제 처리에 필요한 정보 | “필요한 경우”로 한정. 서비스와 무관한 항목은 해당 없음 |
| 5호 급박한 생명·신체·재산 이익 | 응급 상황 연락 | “명백히”, “급박한”이라는 요건이 엄격함 |
| 6호 정당한 이익 | 부정 이용 탐지, 보안 로그 | 정보주체 권리보다 명백하게 우선해야 하고, 합리적 범위를 넘지 않아야 함 |
| 7호 공중위생 등 긴급 필요 | 감염병 대응 등 | 일반 서비스 기능의 근거로 쓰기 어려움 |
예외와 경계:
- 제15조제3항: 당초 목적과 합리적으로 관련된 범위의 추가 이용은 시행령이 정한 기준(불이익 여부, 암호화 등 안전조치 여부 등)을 따질 때만 동의 없이 가능합니다. 기준을 충족하는지 판단한 기록을 남기는 편이 안전합니다.
- 민감정보·고유식별정보는 제15조만으로 처리할 수 없습니다. 제23조와 제24조의 별도 요건을 확인하세요. → 민감정보 구분
- 제3자 제공은 제17조의 별도 근거가 필요합니다. 제15조 근거로 수집했다고 해서 제공까지 할 수 있는 것은 아닙니다.
실제 법적 근거
섹션 제목: “실제 법적 근거”- 「개인정보 보호법」 제15조제1항: “개인정보처리자는 다음 각 호의 어느 하나에 해당하는 경우에는 개인정보를 수집할 수 있으며 그 수집 목적의 범위에서 이용할 수 있다.”
- 같은 조 제2항: 동의를 받을 때 ① 수집·이용 목적 ② 수집 항목 ③ 보유·이용 기간 ④ 동의 거부권과 거부에 따른 불이익을 알려야 하고, 이 사항을 바꿀 때도 다시 알리고 동의를 받아야 합니다.
- 제22조제3항: 동의 없이 처리할 수 있는 개인정보는 그 항목과 처리의 법적 근거를 동의 기반 정보와 구분하여 처리방침으로 공개하거나 알려야 하며, 동의 없이 처리할 수 있다는 입증책임은 개인정보처리자에게 있습니다.
(현행 법률 제21445호, 2026.9.11. 시행 기준. 조문은 국가법령정보센터 원문과 대조함.)
개발자용 실무 해설
섹션 제목: “개발자용 실무 해설”- 필드 단위로 근거를 붙입니다. 화면이나 API 단위로 하면 근거가 서로 다른 필드가 한 번에 묶여 관리됩니다. 데이터 모델에
lawfulBasis메타데이터를 두면 처리방침, 동의 화면, 파기 배치가 같은 정의를 공유할 수 있습니다. - “필수 동의”라는 UI는 대부분 다시 설계해야 합니다. 계약 이행에 꼭 필요한 정보라면 4호 근거로 처리하고 처리방침에 구분해 공개하면 됩니다. 그런 정보를 “동의하지 않으면 가입 불가”라는 동의로 받으면, 동의를 철회했을 때 어떻게 처리할지가 애매해집니다.
- 정당한 이익(6호)은 판단 기록을 남깁니다. 목적, 필요성, 정보주체가 예상할 수 있는지, 영향을 줄이는 조치를 정리한 짧은 내부 문서를 PR이나 설계 문서에 연결하세요. 이 판단은 법무 검토 대상입니다.
- 입증책임은 서비스 쪽에 있습니다. 언제 어떤 근거로 수집했는지 기록할 수 있어야 하고, 동의라면 어떤 고지문 버전에 동의했는지까지 남겨야 합니다.
권장 설계
섹션 제목: “권장 설계”FieldPolicy├─ field: "shipping_address"├─ basis: CONTRACT (제15조제1항제4호)├─ purpose: "주문 상품 배송"├─ retention: "주문 완료 후 N일 (근거 문서 링크)"└─ disclosed_in_policy: true ← 제22조제3항 구분 공개- 동의 기반 필드는
consent_id(고지문 버전, 시각, 채널)와 함께 저장합니다. - 근거가
CONSENT인 필드는 동의 철회 이벤트를 구독해 처리를 멈추거나 삭제합니다. - 근거 없는 필드는 CI에서 실패하게 만듭니다(아래 예제).
위험한 설계
섹션 제목: “위험한 설계”- 모든 항목을 “필수 동의” 하나로 묶은 체크박스
- 수집 목적이 “서비스 제공 및 개선”처럼 모든 기능에 통하는 문구
- 근거 기록 없이 “정당한 이익”을 이유로 행동 데이터를 전부 수집
- 동의 고지문을 바꾸고도 기존 사용자에게 다시 알리거나 동의를 받지 않음(제15조제2항 후단)
Python/TypeScript 구현 예제
섹션 제목: “Python/TypeScript 구현 예제”# 필드별 처리 근거 레지스트리 + 누락 검사 (pytest에서 호출)from enum import Enumfrom dataclasses import dataclass
class Basis(str, Enum): CONSENT = "pipa-15-1-1" LEGAL_OBLIGATION = "pipa-15-1-2" CONTRACT = "pipa-15-1-4" LEGITIMATE_INTEREST = "pipa-15-1-6"
@dataclass(frozen=True)class FieldPolicy: basis: Basis purpose: str retention_days: int | None
FIELD_POLICIES = { "email": FieldPolicy(Basis.CONTRACT, "로그인 및 계정 알림", None), "marketing_opt_in": FieldPolicy(Basis.CONSENT, "광고성 정보 발송", None),}
def assert_all_fields_have_basis(model_fields: set[str]) -> None: missing = model_fields - FIELD_POLICIES.keys() if missing: raise AssertionError(f"처리 근거가 없는 개인정보 필드: {sorted(missing)}")// 동의 기록: 어떤 고지문 버전에 동의했는지 남긴다 (제15조제2항, 제22조제3항 입증 대비)type ConsentRecord = { userId: string; purposeId: 'marketing-email' | 'profile-personalization'; noticeVersion: string; // 고지문 해시 또는 버전 granted: boolean; at: string; // ISO 8601 channel: 'web' | 'app';};전체 실행 가능한 예제와 테스트는 구현 예제를 참고하세요.
개발 체크리스트
섹션 제목: “개발 체크리스트”- 개인정보 필드마다 제15조제1항의 근거가 하나씩 지정되어 있다
- 동의가 근거인 필드는 4가지 고지 사항(목적·항목·기간·거부권/불이익)이 화면에 있다
- 동의 없이 처리하는 필드는 처리방침에 근거와 함께 구분되어 있다
- 동의 기록에 고지문 버전과 시각이 남는다
- 동의 철회 시 해당 필드 처리가 멈춘다
- 정당한 이익(6호)을 쓰는 경우 판단 근거 문서가 있고 법무 검토를 요청했다 (
review-required) - 민감정보·고유식별정보·제3자 제공은 별도 근거를 확인했다
공식 원문 링크와 확인일
섹션 제목: “공식 원문 링크와 확인일”아래 “근거 구분표”와 “공식 원문 링크”를 참고하세요. 법률 조문은 2026-10-23에 국가법령정보센터 Open API로 현행 원문을 확인했습니다. 개인정보 처리 통합 안내서의 해석은 원문 쪽수 대조가 끝나지 않아 review-required로 표시했습니다.
근거 구분표
법률·시행령·고시는 법적 의무, 안내서는 행정기관 해석·권고, 기술 표준과 프로젝트 권장사항은 법적 의무가 아닙니다.
| 구분 | 출처·조항 | 내용 | 확인 상태 |
|---|---|---|---|
| 법률 | 개인정보 보호법 제15조제1항 | 개인정보를 수집·이용할 수 있는 7가지 근거(동의, 법률 규정·법령상 의무, 공공기관 소관업무, 계약 체결·이행, 급박한 생명·신체·재산 이익, 정당한 이익, 공중위생 등 긴급 필요) | 원문 확인 |
| 법률 | 개인정보 보호법 제15조제2항 | 동의를 받을 때 알릴 사항 4가지(목적, 항목, 보유·이용 기간, 거부권과 불이익) | 원문 확인 |
| 법률 | 개인정보 보호법 제22조제3항 | 동의 없이 처리하는 개인정보는 항목과 법적 근거를 동의 기반 정보와 구분해 공개·고지하고, 그 입증책임은 개인정보처리자가 진다 | 원문 확인 |
| 행정기관 안내서 | 개인정보 처리 통합 안내서 | 서비스 계약 체결·이행에 필요한 정보는 별도 동의 없이 처리할 수 있다는 취지의 해석(원문 쪽수 확인 필요) | review-required |
| 법률 | 개인정보 보호법 제15조제3항 | 당초 수집 목적과 합리적으로 관련된 범위에서 대통령령으로 정하는 바에 따라 동의 없이 추가 이용 가능 | 원문 확인 |
공식 원문 링크
- 개인정보 보호법 · 법률 제21445호 · 시행 2026-09-11 · 확인일 2026-10-23
- 개인정보 처리 통합 안내서 · 2025.7. · 발행 2025-07-14 · 확인일 2026-10-23
- 개인정보 보호법 시행령 · 대통령령 제36671호 · 시행 2026-09-11 · 확인일 2026-10-23