외주로 만든 프로그램에서 고객 정보가 샜다면, 책임은 누구에게 있나
개발은 외주에 맡겼어도 개인정보 유출의 법적 책임은 원칙적으로 발주사에 있습니다. 개인정보보호법상 위탁자는 수탁자를 관리·감독할 의무를 지기 때문입니다. 개발사에 구상할 수 있는 범위와, 계약 단계에서 정해두어야 할 것을 정리했습니다.
- •개인정보의 법적 책임 주체는 발주사(위탁자)입니다. 개발을 맡겼다고 책임이 넘어가지 않습니다.
- •위탁자에게는 수탁자를 관리·감독할 의무가 있고, 이를 소홀히 하면 별도의 책임이 됩니다.
- •개발사의 잘못이면 구상은 가능하지만, 그건 사후 정산이지 대외 책임의 면제가 아닙니다.
개발사에 맡겼는데 왜 우리 책임인가
여기서 인식이 크게 어긋납니다.
개인정보보호법은 개인정보를 누가 결정하고 이용하는가를 기준으로 책임을 지웁니다. 고객의 이름과 연락처를 수집해 쓰는 주체는 발주사이고, 개발사는 그 처리를 위탁받은 쪽입니다.
위탁자(발주사) — 개인정보처리자. 대외적 책임을 집니다.
수탁자(개발사) — 위탁받아 처리하는 자. 위탁자의 지휘를 받습니다.
그래서 유출이 나면 이용자와 감독기관을 상대하는 것은 발주사입니다. "개발은 외주였습니다" 는 대외적으로 통하지 않습니다.
더 중요한 게 있습니다. 위탁자에게는 수탁자를 관리·감독할 의무가 따로 있습니다. 이걸 안 했다면 유출 자체와 별개로 감독 소홀이 문제가 됩니다.
실무에서 감독 의무는 이런 것들입니다:
위탁 계약을 서면으로 체결했는가
무엇을 위탁하는지 범위를 정했는가
개발사가 안전조치를 하는지 확인했는가
재위탁(개발사가 또 다른 곳에 맡기는 것)을 통제했는가
계약서에 위탁 조항이 아예 없는 경우가 가장 위험합니다. 사고가 나면 감독은커녕 위탁 관계 자체를 문서로 증명하지 못합니다.
그럼 개발사는 아무 책임이 없나
그렇지 않습니다. 다만 책임의 방향이 다릅니다.
대외 책임(이용자·감독기관) — 원칙적으로 발주사
내부 책임(발주사 ↔ 개발사) — 계약과 과실에 따라 개발사에 구상
즉 발주사가 먼저 책임을 지고, 개발사 잘못이면 그만큼 돌려받는 구조입니다.
개발사 과실로 보기 쉬운 것:
비밀번호를 암호화하지 않고 그대로 저장한 경우
접근 권한 없이 남의 정보를 조회할 수 있게 만든 경우
접속 기록을 남기지 않아 유출 경로를 추적할 수 없는 경우
서버·데이터베이스를 인터넷에 그대로 열어둔 경우
개발사 직원이 운영 데이터를 반출한 경우
발주사 과실로 보기 쉬운 것:
계약에 보안 요구사항을 넣지 않은 경우
개발이 끝난 뒤 임시 계정·테스트 계정을 정리하지 않은 경우
퇴사자 접근 권한을 그대로 둔 경우
필요 없는 정보까지 수집하도록 지시한 경우
마지막 항목이 실제로 흔합니다. 주민등록번호나 계좌번호를 "혹시 필요할까 봐" 받아두면, 유출 시 피해 규모와 책임이 함께 커집니다. 수집하지 않은 정보는 샐 수 없습니다.
계약 단계에서 정해둘 것
사고가 난 뒤에는 정할 수 없습니다. 계약서에 아래를 넣으십시오.
1. 위탁 조항 (필수)
위탁하는 업무의 내용과 개인정보 항목
재위탁 금지 또는 사전 승인 의무
위탁 종료 시 개인정보 파기·반환 방법
개발사의 안전조치 의무
2. 접근 범위
개발에 운영 데이터가 꼭 필요한지 먼저 따져보십시오. 대부분은 가짜 데이터로 개발할 수 있습니다. 실제 고객 정보를 개발사에 넘기지 않는 것이 가장 확실한 예방입니다.
넘겨야 한다면 최소한 이렇게 합니다.
필요한 항목만, 필요한 기간만
이름·연락처는 가려서 (홍길동 → 홍*동)
누가 언제 접근했는지 기록이 남게
3. 사고 시 절차
개발사가 유출을 인지하면 몇 시간 안에 발주사에 알릴 것
원인 조사에 협조할 의무
손해 분담 기준
4. 종료 시 처리
프로젝트가 끝나면 개발사가 가진 데이터와 접근 권한이 어떻게 되는지 적습니다. 여기가 가장 자주 비어 있습니다. 끝난 지 1년 된 프로젝트의 개발사 노트북에 고객 명단이 남아 있는 경우가 실제로 있습니다.
유출이 의심될 때 하는 일
순서가 있습니다. 원인 규명보다 확산 차단이 먼저입니다.
즉시:
1. 유출 경로를 막습니다 — 문제 기능 중단, 노출된 접근 권한 차단
2. 증거를 보존합니다 — 서버 로그, 접속 기록. 덮어쓰기 전에 백업하십시오. 로그는 보관 기간이 지나면 자동으로 지워집니다.
3. 개발사에 통지합니다 — 문서로 남는 방식으로
확인 후:
4. 범위를 파악합니다 — 어떤 항목이, 몇 명 분량이, 언제부터
5. 이용자에게 알립니다 — 유출된 항목, 시점, 대응 방법, 문의처
6. 감독기관에 신고합니다 — 요건과 기한은 사안에 따라 다르므로 개인정보보호위원회 안내를 확인하십시오
서두르다 흔히 하는 실수:
서버를 초기화해버리는 것 — 증거가 사라져 원인 규명도, 구상도 못 하게 됩니다
개발사에게 구두로만 알리는 것 — 통지 시점을 증명할 수 없습니다
범위 파악 전에 "별일 아니다" 로 공지하는 것 — 나중에 규모가 커지면 은폐로 비칩니다
규모가 크거나 판단이 서지 않으면 초기에 법률 자문을 받는 편이 낫습니다. 신고 요건과 기한은 사안마다 다르고, 초기 대응이 이후 책임 판단에 영향을 줍니다.
*이 글은 일반적인 실무 안내이며 개별 사안의 법률 자문이 아닙니다.*
두 가지만 고르면 됩니다. 연락처 입력 없음, 범위는 실제 수주가 기준입니다.
