본문으로 건너뛰기

회원 탈퇴 시스템

문서 정보

  • 작성일: 2026-04-08
  • 최종 업데이트: 2026-04-08
  • 버전: v1.1.0

TL;DR

회원 탈퇴는 즉시 삭제가 아닙니다. 탈퇴를 요청하면 14일간의 유예기간이 주어지고, 이 기간 내에 언제든 마음을 바꿔 철회할 수 있습니다. 14일이 지나면 데이터가 정리되며, 이후 30일간은 같은 계정으로 재가입할 수 없습니다.


목차

  1. 왜 이렇게 만들었나?
  2. 탈퇴 타임라인
  3. Phase 1: 탈퇴 요청
  4. Phase R: 탈퇴 철회
  5. Phase 2: 데이터 정리
  6. Phase 3: 재가입 차단 해제
  7. 사용자 경험 시나리오
  8. 데이터 처리 분류
  9. 스케줄러
  10. FAQ

왜 이렇게 만들었나?

탈퇴를 즉시 처리하면 다음과 같은 문제가 생깁니다:

문제설명
실수로 탈퇴버튼 한 번으로 모든 데이터가 사라짐
악용탈퇴 후 바로 재가입하여 프로모션 중복 수령
CS 대응 불가데이터가 사라져서 복구 요청에 대응 불가

이를 방지하기 위해 유예기간재가입 차단을 도입했습니다.


탈퇴 타임라인

구간기간설명
유예기간Day 0 ~ 14서비스 이용 차단, 탈퇴 철회 가능
데이터 정리Day 14개인정보 익명화, 불필요 데이터 삭제
재가입 차단Day 14 ~ 44동일 계정으로 재가입 불가
재가입 가능Day 44 이후새 계정으로 가입 가능

Phase 1: 탈퇴 요청

사용자가 탈퇴를 요청하는 순간 일어나는 일입니다.

무엇이 바뀌나요?

항목변경 내용이유
계정 상태PENDING_WITHDRAWAL유예기간임을 표시
로그인전체 기기 로그아웃서비스 접근 차단
구독일시 정지 (SUSPENDED)유예기간 중 결제 방지
캐쉬 (톨)사용 차단복구 시 원래대로 돌려야 하니까
공유 링크비활성화탈퇴 의사를 밝힌 사용자의 링크 노출 방지
댓글"삭제된 사용자" 표시다른 사용자에게 노출 차단
핵심 포인트

이 단계에서는 데이터를 삭제하지 않습니다. 모든 데이터는 원본 그대로 보존됩니다. 사용자가 마음을 바꾸면 모든 것을 원래대로 되돌릴 수 있습니다.


Phase R: 탈퇴 철회

유예기간(14일) 내에 사용자가 마음을 바꿀 수 있습니다.

어떻게 철회하나요?

  1. SSO 로그인 시도 (카카오/애플)
  2. 서버가 "탈퇴 진행 중" 상태를 감지
  3. 서버가 provider + providerId를 확인한 뒤 Recovery Session 발급
  4. 앱이 Recovery Session으로 탈퇴 상태 조회
  5. 사용자가 "철회하기" 버튼 클릭
  6. 모든 것이 원래대로 복원

무엇이 복원되나요?

Phase 1에서 변경한 모든 항목이 원래대로 돌아갑니다.

항목복원 내용
계정 상태ACTIVE
구독ACTIVE (재결제 필요 없음)
캐쉬 (톨)사용 가능
공유 링크다시 활성화
댓글다시 표시
주의

철회 후에도 재로그인이 필요합니다. 토큰은 탈퇴 요청 시 삭제되었기 때문에 새로 발급받아야 합니다.

Recovery Session이 왜 필요한가요?

  • 탈퇴 요청 시 기존 Access/Refresh Token과 서버 세션이 모두 삭제됩니다.
  • 그래서 유예기간 중 GET /withdrawal/status, POST /withdrawal/cancel은 정상 Bearer 토큰이 아니라 Recovery Session으로만 접근합니다.
  • Recovery Session은 SSO 재시도 직후에만 발급되며, provider + providerId로 식별된 동일 사용자에게만 연결됩니다.
  • Recovery Session은 탈퇴 상태 조회/철회 외의 API에는 사용할 수 없고, 철회 성공 시 즉시 폐기됩니다.

Phase 2: 데이터 정리

유예기간(14일)이 지나면 매일 새벽 2시에 자동으로 데이터가 정리됩니다.

개인정보 익명화

개인을 식별할 수 있는 정보는 DELETED-{timestamp}로 대체됩니다.

대상처리
닉네임, 이메일DELETED-1712534400000
프로필 사진, 소개글삭제
SSO 연결 정보익명화
본인인증 정보 (이름, 전화번호, 생년월일)익명화
결제 수단카드 정보 삭제, PG사 빌링키 해지
IP, User Agent (동의 이력, 변경 이력 등)익명화

영구 삭제되는 데이터

복구할 필요가 없는 데이터는 완전히 삭제됩니다.

대상이유
사용자 설정개인 설정, 보존 의미 없음
멤버십 권한구독 취소로 무의미
잔액 (톨, 리워드)재화 소멸
알림 설정 및 수신 알림개인 알림
디바이스 정보FCM 토큰 등
공유 접근 기록접근/요청/활동 기록
운동 컨디션 프로필개인 운동 기록
리워드 카운터활동 카운터

보존되는 데이터

법적 의무 또는 비즈니스 추적이 필요한 기록은 보존됩니다.

대상보존 이유
캐쉬/리워드 거래 이력세무/회계 보존 의무
결제 이력법적 보존 의무
본인인증 시도 이력불변 감사 로그
활동/출석/카메라 해금 기록불변 감사 로그
CS 대화 이력고객 지원 참조
마케팅 정책 적용 이력재가입 시 중복 혜택 방지

재가입 차단 식별자 저장

개인정보를 익명화하기 전에 동일인을 식별할 수 있는 해시값을 저장합니다.

식별자방식용도
SSO 계정 IDSHA256 해시같은 카카오/애플 계정으로 재가입 차단
전화번호SHA256 해시다른 SSO로 우회 재가입 차단
개인정보 보호

원본 정보가 아닌 해시값만 저장합니다. 해시값으로는 원래 정보를 복원할 수 없습니다. 차단 기간이 끝나면 해시값도 삭제됩니다.


Phase 3: 재가입 차단 해제

데이터 정리 후 30일이 지나면 매일 새벽 3시에 만료된 차단 기록이 자동 삭제됩니다.

이후 해당 SSO 계정이나 전화번호로 다시 가입할 수 있습니다.


사용자 경험 시나리오

시나리오 1: 탈퇴 후 3일 만에 철회

시나리오 2: 탈퇴 후 복구 없이 완전 탈퇴

시나리오 3: 유예기간 만료 후 철회 시도


데이터 처리 분류

전체 43개 관련 테이블에 대한 처리 방식입니다.

Phase 1에서 변경 (철회 시 복원)

대상Phase 1 (요청)Phase R (철회)
UserPENDING_WITHDRAWALACTIVE
Token전체 삭제재로그인 시 재발급
WithdrawalRecoverySession없음SSO 재시도 시 생성 후 철회 성공 시 폐기
SubscriptionSUSPENDEDACTIVE
GrainItemINACTIVEACTIVE
ShareLink소프트 삭제복원
ScheduleCommentUSER_DELETEDPUBLISHED
UserMarketingPolicyApplicationREVOKEDACTIVE

Phase 2에서 처리 (비가역)

분류대상 수설명
익명화11개PII 제거, 구조 보존 (User, SSO, 결제 등)
영구 삭제12개보존 불필요 (설정, 잔액, 알림 등)
소프트 삭제6개deletedAt 설정 (스케줄, 마이콕 등)
보존12개법적/감사 목적 (거래 이력, CS 등)

스케줄러

작업실행 시간주기설명
만료 탈퇴 처리매일 02:00 (KST)일 1회PENDING 상태이고 유예기간이 지난 요청 처리
재가입 차단 해제매일 03:00 (KST)일 1회30일이 지난 차단 기록 삭제

FAQ

Q: 유예기간 중에 서비스를 이용할 수 있나요?

아니요. 탈퇴 요청 즉시 모든 기기에서 로그아웃되며, 탈퇴 철회/상태 조회 외의 API는 접근이 차단됩니다. 상태 조회/철회는 SSO 재시도 직후 발급된 Recovery Session으로만 접근할 수 있습니다.

Q: 유예기간 중에 구독 결제가 발생하나요?

아니요. 구독이 즉시 SUSPENDED(정지) 상태로 변경되어 결제가 일어나지 않습니다. 철회하면 구독이 다시 활성화됩니다.

Q: 탈퇴 후 같은 카카오/애플 계정으로 바로 재가입할 수 있나요?

아니요. 데이터 정리 후 30일간 재가입이 차단됩니다. 재가입 가능 날짜는 안내 화면에서 확인할 수 있습니다.

Q: 탈퇴하면 캐쉬(톨)와 리워드는 어떻게 되나요?

유예기간 중에는 사용이 차단되지만 보존됩니다. 철회하면 다시 사용할 수 있습니다. 유예기간이 지나면 잔액이 영구 삭제됩니다. 거래 이력은 법적 의무에 따라 보존됩니다.

Q: 탈퇴 후 내 스케줄이 공유된 다른 사용자에게는 어떻게 보이나요?

유예기간 시작 시 공유 링크가 비활성화되어 접근이 차단됩니다. 철회하면 다시 접근 가능합니다. 유예기간 만료 후에는 "소유자 탈퇴"로 접근 불가 처리됩니다.

Q: PG사(결제 대행사) 빌링키는 언제 해지되나요?

유예기간 만료 후(Day 14) 데이터 정리 시 해지됩니다. 유예기간 중에는 빌링키를 유지하여 철회 시 결제 수단이 바로 복구되도록 합니다.


관련 문서


변경 이력

버전날짜변경 내용
v1.1.02026-04-08Recovery Session 인증 흐름 반영 - SSO 재시도 후 복구 세션 발급, status/cancel 접근 방식 명시
v1.0.02026-04-08초기 문서 작성 - 14일 유예기간 + 30일 재가입 차단 정책