소프트웨어 개발사는 고객사의 데이터베이스, API, 시스템에 접근하여 개발·유지보수를 수행합니다. 이 과정에서 고객사의 실제 사용자 개인정보에 노출될 수 있으며, PIPA상 수탁자 의무가 발생합니다.
외주 개발사의 법적 지위
고객사(발주사)가 개발사에게 시스템 개발을 맡기는 관계:
개인정보 처리 위탁 관계:
고객사 (처리자/위탁자)
└── 개발사 (수탁자)
└── 개발자 프리랜서 (재수탁자)
수탁자인 개발사는:
- 고객사의 지휘·감독 하에 개인정보 처리
- 목적 외 이용·제3자 제공 금지
- 안전조치 의무 이행
- 재위탁 시 고객사 동의 필요
개발 환경에 실제 개인정보 사용 금지
가장 흔한 PIPA 위반 사례: 개발·테스트 환경에 운영 DB를 복제해서 사용.
❌ 잘못된 관행:
- 운영 DB를 개발 서버에 덤프해서 사용
- 실제 사용자 이름·이메일이 포함된 데이터로 테스트
- 개발자 PC에 실 데이터 CSV 저장
✅ 올바른 관행:
- 가명처리 또는 랜덤 데이터로 테스트 데이터 생성
- Faker 라이브러리 등으로 테스트용 가상 데이터 사용
- 개발 환경과 운영 환경 완전 분리
테스트 데이터 생성 방법
방법 1: 가명처리
운영 데이터를 가명처리 후 테스트에 사용:
# 예시: 이름 마스킹
def mask_name(name):
return name[0] + '*' * (len(name) - 1)
# 이메일 마스킹
def mask_email(email):
local, domain = email.split('@')
return local[:2] + '***@' + domain
방법 2: 합성 데이터 생성
# Python Faker 사용
pip install faker
from faker import Faker
fake = Faker('ko_KR')
print(fake.name(), fake.phone_number(), fake.email())
방법 3: 데이터 마스킹 도구
- 상용 도구: IRI FieldShield, Protegrity
- 오픈소스: ARX Data Anonymization Tool
유지보수 접근 — 운영 데이터 접근 시
유지보수 목적으로 운영 서버에 접근하는 경우:
필수 조치:
□ 접근 목적 사전 승인 (고객사 IT팀 또는 담당자)
□ 접근 로그 기록 (언제, 어디서, 무엇을 조회했는지)
□ 개인정보 조회 최소화 (특정 레코드만, 전체 DB 조회 금지)
□ 작업 완료 후 접근 권한 즉시 반납
□ 조회 내용 외부 반출 금지 (로컬 PC 저장, 이메일 전송 금지)
NDA vs DPA — 차이와 필요성
| 구분 | NDA (비밀유지계약) | DPA (개인정보 처리 위탁 계약) | |------|----------------|--------------------------| | 목적 | 영업 비밀, 기술 정보 보호 | 개인정보 처리 위탁 의무 이행 | | PIPA 요구 여부 | 불필요 | 법적 의무 | | 내용 | 비밀 유지 의무 | 목적 외 처리 금지, 안전조치, 파기 의무 |
NDA만 체결하는 것은 PIPA 위반: 개인정보 처리 위탁이 발생하면 반드시 DPA도 체결해야 합니다.
처리 위탁 계약 필수 항목
[개인정보 처리 위탁 계약서 필수 기재]
1. 위탁 업무 범위: [시스템 개발, API 연동 등 구체적 명시]
2. 목적 외 처리 금지
3. 재위탁 제한: 고객사 사전 승인 필요
4. 안전조치 의무: 접근 통제, 암호화, 접속 기록 보관
5. 개발 완료 후 데이터 파기 또는 반환
6. 위반 시 손해배상 및 계약 해지
7. 고객사의 감독 권한 (점검, 감사)
프리랜서 개발자 재위탁
외주 개발사가 작업을 프리랜서에게 재위탁하는 경우:
- 고객사 동의 없이 재위탁 → PIPA 위반
- 재위탁 시 프리랜서와도 DPA 체결 필요
- 프리랜서에게 최소 권한만 부여
프로젝트 완료 후 데이터 파기
개발 완료 또는 계약 종료 후:
파기 대상:
- 개발·테스트에 사용한 모든 데이터
- 개발자 PC, 개발 서버, 백업 매체
- 소스코드 내 하드코딩된 실 데이터 (환경변수로 대체)
파기 확인:
- 파기 완료 확인서 발급 → 고객사에 제출
- 파기 일시, 방법, 담당자 기록
처리방침 기재 사항 (외주 개발사)
[IT 서비스 위탁 운영 관련 처리방침]
수탁 업무: 시스템 개발, 유지보수, 운영
위탁자: [고객사명]
처리 항목: 고객사 이용자 개인정보 (위탁 범위 내)
목적: 위탁 업무 수행
개발 환경: 실제 개인정보 사용 금지 — 가명처리 데이터 사용
접근 로그: 모든 운영 환경 접근 기록 보관
계약 종료: 위탁 데이터 전량 파기 확인서 발급
최소 준수 체크리스트
- [ ] 고객사와 DPA 계약 체결 (NDA만으로 불충분)
- [ ] 개발·테스트 환경 실제 데이터 사용 금지 정책 수립
- [ ] 프리랜서 재위탁 시 고객사 동의 + 프리랜서 DPA
- [ ] 운영 환경 접근 로그 기록 및 보관
- [ ] 프로젝트 완료 후 데이터 파기 확인서 발급
PIPAGuard로 IT 서비스 처리방침 점검하기
처리방침 위탁 업무 기재, 수탁자 안전조치 현황, 재위탁 정책을 자동으로 점검합니다.