지금 읽는 곳왜 회원 탈퇴 처리가 두 방향에서 시작될 수 있는가목차
STEP 2 중급·실무 › 2-1. 빅테크 미디어 믹스·광고 집행 › 과목 59 › 레슨 09
카카오싱크 개인정보보호 컴플라이언스: 회원 탈퇴 시 카카오싱크 동의 철회 및 자사 DB 파기가 동시에 이루어지는 자동화 시스템 점검
탈퇴 버튼 하나 뒤에서 실제로 어떤 처리가 함께 이뤄져야 하는지, 그 구조를 기술적으로 짚습니다.
핵심요약
- 카카오 로그인·싱크 연동은 사용자가 카카오 계정 연결을 해제했을 때 이 이벤트를 서비스 제공자가 인지할 수 있도록 '연결 끊기(Unlink) 콜백' API를 제공한다
- 이 콜백 구조를 활용하면 카카오 쪽에서 발생한 연결 해제를 자사 시스템이 감지해 회원 정보 처리를 이어갈 수 있다
- 회원 탈퇴는 자사 서비스 내에서 시작되는 경우와 카카오 계정 쪽에서 연결을 끊는 경우 두 방향이 있어, 양쪽 모두를 처리하는 설계가 필요하다
- 동의 철회와 DB 파기가 "동시에" 이뤄지는 완전 자동화 여부는 자사 구현 수준에 달려 있어, 이 콜백을 실제로 연동했는지부터 점검해야 한다
왜 회원 탈퇴 처리가 두 방향에서 시작될 수 있는가
카카오싱크로 가입한 회원의 탈퇴는 두 가지 경로로 시작될 수 있습니다. 하나는 사용자가 자사 서비스 안에서 직접 "회원 탈퇴" 버튼을 누르는 경우이고, 다른 하나는 사용자가 카카오톡·카카오계정 설정에서 해당 서비스와의 연결을 끊는(연동 해제) 경우입니다. 두 경로 모두 최종적으로는 "이 사용자와의 관계를 끝낸다"는 같은 결과로 이어져야 하지만, 이벤트가 발생하는 시작 지점이 다릅니다.
자사 서비스 안에서 탈퇴 버튼을 누른 경우는 자사 시스템이 이 이벤트를 바로 인지하므로 처리가 비교적 단순합니다. 문제는 두 번째 경로, 즉 사용자가 카카오 쪽에서 먼저 연결을 끊는 경우입니다. 이 경우 자사 시스템은 이 사실을 스스로 알 방법이 없고, 카카오가 이 이벤트를 알려주는 별도의 기술적 장치가 있어야만 인지할 수 있습니다.
연결 끊기(Unlink) 콜백은 어떤 역할을 하나
이 문제를 해결하기 위해 카카오 로그인·싱크 연동은 사용자가 카카오 계정 연결을 해제했을 때, 서비스 제공자가 이를 인지해 자사 회원 정보를 처리할 수 있도록 '연결 끊기(Unlink) 콜백' API를 제공합니다. 사용자가 카카오 쪽에서 연동을 해제하면, 카카오 플랫폼이 사전에 등록된 콜백 주소로 이 해제 이벤트를 통지하는 구조입니다.
이 콜백을 자사 서버에서 수신하도록 구현해두면, 사용자가 어느 경로로 연결을 끊든 자사 시스템이 그 이벤트를 감지해 후속 처리(회원 상태 변경, 데이터 처리)를 시작할 수 있습니다. 반대로 이 콜백을 연동해두지 않았다면, 사용자가 카카오 쪽에서 연결을 끊어도 자사 DB에는 여전히 그 회원이 활성 상태로 남아있는 불일치가 생길 수 있습니다.
"동의 철회와 DB 파기가 동시에" 이뤄지려면 무엇이 갖춰져야 하나
이 편의 제목처럼 동의 철회와 자사 DB 파기가 실제로 동시에, 자동으로 이뤄지려면 최소 세 가지가 순서대로 연결돼 있어야 합니다. 첫째, 카카오 쪽 연결 해제 이벤트를 수신하는 Unlink 콜백이 자사 서버에 구현돼 있어야 합니다. 둘째, 이 콜백을 수신했을 때 어떤 회원의 이벤트인지 식별할 수 있어야 하는데, 이때 5강에서 다룬 user_id 매칭 정보가 식별자로 쓰입니다. 셋째, 식별된 회원의 개인정보를 자사 파기 정책에 따라 실제로 삭제·비식별화하는 내부 로직이 이 콜백 처리와 연결돼 있어야 합니다.
이 세 단계 중 하나라도 빠지면 "동시 자동 처리"는 성립하지 않습니다. 예를 들어 콜백은 수신하지만 이후 파기 로직이 수동 처리로 남아있다면, 담당자가 별도로 확인하고 삭제 작업을 진행할 때까지 개인정보가 남아있는 공백 기간이 생깁니다. 자사 시스템이 이 세 단계를 모두 자동으로 연결해뒀는지 점검하는 것이 이 컴플라이언스 점검의 핵심입니다.
자사 서비스 내 탈퇴 버튼을 눌렀을 때는 별도로 무엇을 처리해야 하나
사용자가 자사 서비스 안에서 탈퇴 버튼을 누른 경우, 이 이벤트는 자사 시스템이 직접 인지하므로 Unlink 콜백에 의존할 필요가 없습니다. 다만 이 경우에도 카카오 쪽 연동 관계를 함께 정리하는 것이 바람직합니다. 자사 DB에서는 회원을 삭제했는데 카카오 쪽에는 여전히 연동 정보가 남아있으면, 이후 그 사용자가 재가입을 시도할 때 예상치 못한 충돌이 발생할 수 있습니다.
따라서 자사 탈퇴 처리 로직에는 자사 DB 파기와 함께, 카카오 API를 통해 해당 사용자와의 연동을 명시적으로 해제하는 요청을 함께 보내는 절차를 포함시키는 것이 두 시스템 간 정합성을 유지하는 방법입니다. 이 부분을 빠뜨리면 자사 DB 기준으로는 탈퇴 처리가 끝났어도, 카카오 쪽 기록과는 어긋난 상태로 남게 됩니다.
이 구조를 점검할 때 확인해야 할 체크리스트는 무엇인가
자사 시스템이 이 컴플라이언스 요구사항을 충족하고 있는지 점검할 때는 다음 항목을 순서대로 확인하는 것이 실무적입니다. 카카오 디벨로퍼스 콘솔에 Unlink 콜백 URL이 등록돼 있는지, 이 콜백을 수신하는 서버 엔드포인트가 실제로 구현·배포돼 있는지, 콜백 수신 시 user_id 기준으로 회원을 정확히 식별하는지, 식별 이후 파기 로직까지 자동으로 연결돼 있는지, 그리고 자사 탈퇴 버튼 처리 시에도 카카오 쪽 연동 해제 요청이 함께 나가는지입니다.
이 항목들은 한 번 구현했다고 끝나는 것이 아니라, 시스템 개편이나 담당자 교체 시점에 누락되기 쉬운 부분이므로 정기적으로 재점검하는 일정을 잡아두는 것이 안전합니다. 특히 개인정보 관련 처리는 사후에 문제가 드러났을 때 되돌리기 어려운 영역이므로, 구현 여부를 추정하지 말고 실제 로그나 테스트 계정으로 연결 해제 시나리오를 직접 재현해 확인하는 것이 확실한 점검 방법입니다.