B2B SaaS를 운영하다 보면 이런 상황이 생깁니다. 고객사가 계약을 해지했습니다. 그 회사 직원들의 이름, 이메일, 업무 데이터가 여러분의 서버에 남아 있습니다. 어떻게 해야 할까요?
"우리가 수집한 데이터니까 계속 갖고 있어도 되겠지"라는 생각은 틀렸습니다. SaaS 제공사는 개인정보보호법상 수탁자로서 계약 종료 후 엄격한 의무를 집니다.
B2B SaaS의 법적 구조
수탁자와 위탁자
B2B SaaS에서 개인정보 관계는 다음과 같습니다.
고객사 (위탁자, 개인정보처리자)
↓ 서비스 이용 계약 체결
SaaS 제공사 (수탁자, 개인정보 처리 수탁자)
↓ 고객사 직원/고객의 데이터를 처리
SaaS 제공사는 고객사를 위해 개인정보를 처리하는 수탁자입니다. 수탁자는 위탁자(고객사)의 지시 범위 내에서만 처리할 수 있고, 계약 종료 후에는 데이터를 반환하거나 파기해야 합니다.
이 의무는 개인정보보호법 제26조에 명시되어 있습니다.
계약 종료 후 의무
법적 의무 3가지
계약 종료
↓
1. 데이터 반환 (요청 시)
2. 데이터 파기 (반환 후 또는 요청 시)
3. 파기 이력 통보 (고객사에게)
반환 기간
명시적인 법정 기간은 없지만, 실무에서는 계약 종료 후 30일 이내 반환·파기를 기준으로 삼는 경우가 많습니다. 계약서에 명시하는 것이 가장 안전합니다.
파기 방법
- 데이터베이스 레코드: 삭제 후 복구 불가 확인, 백업 포함 파기
- 파일·첨부파일: 완전 삭제 (단순 삭제 ≠ 복구 불가)
- 로그 파일: 해당 고객사 데이터가 포함된 로그 파기
- 백업 스토리지: 정기 백업에서도 제거 (또는 일정 기간 후 자동 덮어쓰기 보장)
DPA(데이터 처리 계약)에 반드시 넣어야 할 조항
개인정보보호법 제26조 필수 기재 항목
법이 요구하는 최소 기재 항목:
□ 위탁하는 업무의 목적 및 범위
□ 재위탁 제한에 관한 사항
□ 개인정보에 대한 접근 제한 등 안전 조치에 관한 사항
□ 위탁업무와 관련하여 보유하고 있는 개인정보의
관리 현황 점검 등 감독에 관한 사항
□ 수탁자가 준수하여야 할 의무를 위반한 경우의 손해배상 등
책임에 관한 사항
계약 종료 관련 추가 권장 조항
제 X 조 (계약 종료 시 데이터 처리)
① 본 계약이 종료되거나 해지된 경우, 수탁자는 위탁자의
요청에 따라 다음 중 하나의 방법으로 개인정보를 처리한다.
1. 위탁자에게 반환 (CSV, JSON 등 표준 형식)
2. 안전한 방법으로 즉시 파기
② 수탁자는 제①항의 처리를 계약 종료일로부터 [30]일 이내에
완료하고, 완료 사실을 위탁자에게 서면으로 통보한다.
③ 반환 또는 파기가 완료된 후에는 동 개인정보를
어떠한 목적으로도 보유·이용하지 아니한다.
단, 법령에 따른 보관 의무가 있는 경우는 예외로 한다.
④ 수탁자는 파기 이력(파기 일시, 방법, 파기 데이터 목록)을
기록하여 위탁자의 요청 시 제공한다.
실제 데이터 반환 구현
고객사가 데이터 반환을 요청할 수 있는 셀프서비스 내보내기 기능을 제공하는 것이 모범 사례입니다.
권장 구현
관리자 설정 > 데이터 관리 > 데이터 내보내기
[전체 데이터 내보내기 (CSV/JSON)]
- 회원 목록
- 콘텐츠 데이터
- 활동 로그
내보내기 파일은 [7일간] 다운로드 가능합니다.
계약 해지 전 반드시 데이터를 내보내 주세요.
[계정 삭제 및 데이터 파기 요청]
⚠️ 삭제 후 복구가 불가능합니다.
데이터를 내보낸 후 요청하세요.
데이터 파기 스케줄
계약 해지 후 자동 파기 스케줄을 운영하는 것이 권장됩니다.
# 예시: 해지 후 30일 경과 시 자동 파기
def schedule_data_purge(company_id, termination_date):
purge_date = termination_date + timedelta(days=30)
# 30일 전 경고 이메일
send_warning_email(company_id, days_remaining=30)
# 7일 전 최종 경고
send_warning_email(company_id, days_remaining=7)
# 파기 실행
schedule_task(purge_all_company_data, company_id, run_at=purge_date)
법정 보관 의무와의 충돌
SaaS 제공사가 법령에 따라 자체적으로 보관해야 하는 데이터가 있을 수 있습니다.
| 데이터 유형 | 근거 | 보관 기간 | |------------|------|---------| | 결제·세금 기록 | 부가가치세법 | 5년 | | 이용 계약 기록 | 전자상거래법 | 5년 | | 보안 로그 (침해 대비) | 개인정보 안전성 확보 조치 기준 | 6개월~1년 |
고객사 개인정보와 자체 보관 의무 데이터를 분리 저장하면 충돌을 최소화할 수 있습니다.
SaaS 고객사 입장에서의 체크포인트
반대로 SaaS를 이용하는 고객사(위탁자) 입장에서도 계약 시 확인해야 할 항목이 있습니다.
□ DPA(데이터 처리 계약)가 체결되어 있는가?
□ 계약 종료 후 데이터 반환·파기 기간이 명시되어 있는가?
□ 재위탁 제한 조항이 있는가?
□ 파기 완료 통보 의무가 명시되어 있는가?
□ SaaS의 데이터 저장 위치(국가)가 확인되었는가?
실무 체크리스트 (SaaS 제공사)
계약 단계
- [ ] 모든 B2B 고객사와 DPA를 체결한다
- [ ] 계약 종료 후 데이터 반환·파기 기간을 계약서에 명시했다
- [ ] 재위탁 현황을 고객사에게 공개하고 있다
기술 구현
- [ ] 고객사 단위 데이터 내보내기 기능이 있다
- [ ] 계약 해지 후 자동 파기 스케줄이 구현되어 있다
- [ ] 파기 이력을 기록하고 고객사에 통보하는 절차가 있다
- [ ] 백업 데이터에서도 파기가 이루어진다
운영
- [ ] 해지 고객사 데이터 파기 처리를 정기적으로 확인한다
- [ ] 법정 보관 의무 데이터와 고객사 데이터를 분리 저장한다
PipaGuard로 SaaS 수탁자 의무 점검
DPA 필수 조항 포함 여부, 데이터 반환·파기 절차, 재위탁 관리까지 — B2B SaaS 운영에 특화된 수탁자 의무 체크리스트를 자동으로 점검받으세요.
pipaguard.vercel.app에서 무료로 시작할 수 있습니다.