가입·인증 데이터 인벤토리

“화면에서 한 번 보이는 값”과 “회원 프로필로 오래 저장되는 값”은 다릅니다. 아래 표는 수집원, 실제 처리, 보관 위치, 현재 코드에서 확인 가능한 보유 상태를 분리했습니다.

실제 값은 조회하지 않음운영 회원의 개인정보·보유 건수·채움률은 확인하지 않았습니다.
PASS는 서버 결과가 기준이메일 가입 body의 CI·실명 등은 호환용이며 서버가 tx로 재조회합니다.
로그인 ≠ 자격인증계정이 생겨도 기본 USER이며, 별도 법조 자격 승인이 필요합니다.

이메일 가입

직접 입력 + 이메일 인증 + PASS 본인확인 + 약관 동의

정보수집원·시점필수용도실제 처리·저장위치보유 상태v3 검토
이메일가입폼 직접 입력계정 ID·로그인·연락중복 확인 후 Member 저장Member.email스키마·저장 확인정규화·중복 정책 명시
비밀번호가입폼 직접 입력이메일 로그인서버 해시만 장기 저장Member.password해시 저장 확인PASS 왕복 재개 방식 개선
비밀번호 확인가입폼 직접 입력입력 오타 확인비교 후 장기 저장 안 함요청 body/브라우저 상태처리용전송 필요성 재검토
이메일 인증코드메일 발송·폼 입력이메일 소유 확인6자리 검증, 완료 Redis 키는 가입 후 삭제Redis + 요청 body일시 확인TTL·시도 제한·감사 기준
PASS txNICE 본인확인 시작/완료서버 신원 재조회신원 확정용 트랜잭션 값브라우저 저장소·서버 PASS 처리일시 처리만료·재사용 방지 명시
CI서버가 PASS tx로 조회사실상 예개인 동일성body 값은 무시하고 PASS 결과 저장Member.ci저장 확인동일인 중복 가입 차단 키
실명서버가 PASS tx로 조회본인·자격 확인PASS 결과 우선 저장Member.name저장 확인변경·재인증 이력
휴대폰서버가 PASS tx로 조회연락·본인확인PASS 결과 우선 저장Member.phone저장 확인정규화·변경 검증
생년월일서버가 PASS tx로 조회신원·연령 확인날짜 정규화 후 저장Member.birthdate저장 확인KST/UTC 기준 고정
성별서버가 PASS tx로 조회응답 의존회원 기본 정보enum 변환 후 저장, 없으면 nullMember.gender저장 경로 확인필요성·최소수집 재검토
회원 코드서버 자동 생성자동외부 노출용 회원 식별TSID 생성Member.code저장 확인전역 식별 규칙 유지
닉네임서버 자동 생성자동커뮤니티 표시중복 확인한 랜덤 닉네임Member.nickname저장 확인변경·금칙어 자동화
기본 역할서버 자동 생성자동가입 직후 제한 권한USER 역할 생성MemberRole저장 확인정책표에서 역할·상태 분리
약관 동의가입폼 선택항목별법적 동의·수신 설정LEGAL_AGE, TERMS, PRIVACY, MARKETING, PROPOSAL 최신 버전 이력AgreementHistory이력 저장 확인화면 문구·버전·증거 통합
가입 초안모바일 PASS 왕복 전조건부리로드 뒤 폼 복구이메일·평문 비밀번호·확인값·코드·인증상태 저장 후 복구 시 삭제sessionStorage일시 보관 확인평문 비밀번호 미보관 방식
호환용 body 신원클라이언트 요청일부 DTO 필수기존 클라이언트 호환CI·이름·전화·생일·성별은 신원 근거로 사용하지 않음요청 body서버 무시 확인v3 계약에서 제거/정리

카카오 가입·로그인

카카오 id는 필수이며 나머지는 카카오 응답과 동의 범위에 따라 없을 수 있습니다.

정보수집원·시점필수용도실제 처리·저장위치보유 상태v3 검토
인가코드카카오 callbackKakao token 교환교환 요청에 사용, Member 저장 코드 없음서버 요청 처리일시 처리로그 마스킹·재사용 차단
Kakao access token카카오 토큰 API사용자 정보 조회조회 헤더에 사용, Member 저장 코드 없음서버 메모리일시 처리오류 로그 비노출 검증
Kakao id카카오 사용자 응답기존 카카오 회원 조회BigInt로 신규 Member 저장Member.kakaoId저장 확인로그인 수단 테이블 분리 검토
이메일카카오 계정 선택 응답아니오회원 연락·표시제공된 경우 신규 Member 저장Member.email저장 경로 확인검증 여부·중복 정책
이름/프로필 닉네임카카오 계정 선택 응답아니오회원 이름 후보name 우선, 없으면 profile nickname 저장Member.name저장 경로 확인실명과 표시명 분리
휴대폰카카오 계정 선택 응답아니오연락처+82를 국내 형식으로 정규화Member.phone저장 경로 확인PASS 검증 연락처와 구분
성별카카오 계정 선택 응답아니오회원 기본 정보MALE/FEMALE enum 변환Member.gender저장 경로 확인최소수집 재검토
생년월일birthyear + birthday아니오회원 기본 정보둘 다 있을 때 Date 생성Member.birthdate저장 경로 확인날짜대 기준 통일
CI카카오 계정 선택 응답아니오개인 동일성 후보제공된 경우 저장Member.ci저장 경로 확인서버 검증 PASS CI와 신뢰등급 구분
회원 코드·닉네임·역할서버 자동 생성자동회원 식별·표시·기본 권한TSID, 랜덤 닉네임, USER 역할Member + MemberRole저장 확인이메일 경로와 동일 정책화
기본 약관신규 카카오 회원 생성자동서비스 이용 근거TERMS·PRIVACY 동의=true 이력 생성AgreementHistory저장 확인명시 화면·버전·선택동의 감사
LegalCrew 토큰로그인 완료세션 유지access/refresh 발급, refresh 식별자 Redis 저장쿠키/응답 + Redis세션 보관기기·폐기·회전 정책
로그인 분석·최근접속로그인 완료자동활동 측정LOGIN 이벤트, lastAccessAtAnalyticsEvent + Member저장 확인실패·누락률 측정
실제 제공 동의 범위카카오 개발자 콘솔운영 설정어떤 선택값이 오는지 결정로컬 코드만으로 현재 설정 확인 불가외부 콘솔미확인정기 스냅샷·변경 감사

법조 자격 인증

정보수집 시점용도저장·상태서비스 영향확인
인증 유형가입 후 `/auth/*`변호사·로스쿨 등 심사 분기Verification.type승인될 역할 결정코드 확인
자격 구분·회차변호사 인증 요청변호사시험/사법연수원 자격qualificationType, round승인 후 프로필·지원 문서에 사용코드 확인
로스쿨명·기수로스쿨 인증 요청재학/졸업 자격 확인lawschoolName, round로스쿨 역할·게시판코드 확인
인증서류인증 요청 중 업로드운영자 심사 증거파일 메타 + 업로드 SUCCESS/FAILED서류 없음/실패를 운영자가 식별코드 확인
심사 상태요청·검토진행·승인·반려 관리DRAFT/PENDING/APPROVED/REJECTED/DELETED직역 기능 활성/차단코드 확인
반려 사유운영 검토보완 안내rejectReason재인증 경로 제공코드 확인

현재 확인된 위험 지점

  • 모바일 PASS 왕복을 위해 평문 비밀번호가 sessionStorage에 잠시 저장됩니다.
  • 카카오 신규가입은 kakaoId 기준 조회이며 이메일/PASS 계정과 자동 동일인 연결이 확인되지 않습니다.
  • 카카오 기본 동의 생성과 실제 동의 화면·외부 제공범위 사이의 운영 일치는 미확인입니다.

v3 후보

  • PASS로 검증한 CI 기준 동일인 중복 개인 가입 차단
  • 로그인 수단과 회원·자격 상태를 분리하고 연결 이력 보존
  • 평문 비밀번호 없는 가입 재개 토큰
  • 수집항목·약관버전·제공자 응답·예외 처리를 감사 가능한 이벤트로 기록