moneygol-legal

개인정보 수집 정리 (내부용)

이 문서의 목적: 맴매일지 앱이 실제로 수집·처리하는 개인정보를 한 곳에 정리한 내부 기준 문서. 개인정보처리방침(공개용)·이용약관·앱스토어 심사 자료 작성 시 근거로 사용한다.

마지막 업데이트: 2026-05-13 다음 검토 시점: 새 기능 추가 / 외부 서비스 연동 / Supabase 플랜 변경 / 출시 직전


1. 한 줄 요약

맴매일지은 사용자가 직접 입력한 정보 + 인증을 위한 최소한의 정보만 수집한다. 분석 도구·광고 ID·위치·실명·전화번호·결제 정보·기기 권한은 일체 수집·요청하지 않는다.


2. 수집하는 개인정보 전체 목록

2-1. 사용자가 직접 입력하는 정보

항목 수집 시점 저장 위치 필수/선택 비고
이메일 회원가입 auth.users.email 필수 로그인 ID로 사용
비밀번호 회원가입 auth.users.encrypted_password 필수 Supabase가 bcrypt 해시 처리, 평문 저장 안 됨
닉네임 가입 후 마이페이지에서 사용자 선택 auth.users.raw_user_meta_data.nickname 선택 미설정 가능

2-2. 서비스 이용 중 사용자가 직접 입력하는 정보

항목 저장 테이블 비고
매매 기록 (종목/단가/수량/손익/메모 등) trades 사용자가 본인 매매를 기록하는 핵심 기능
매매 원칙 (제목/카테고리/목표값) trading_principles 사용자가 자기 매매 규칙 설정
원칙 준수 체크 (준수/위반) principle_checks 매매별 원칙 점검 결과
매매 회고 (내용/감정/배운점) trade_reflections 사용자가 작성한 회고
투자 일기 (제목/본문/시장 분위기/날짜) investment_diaries 사용자가 작성한 일기
관심 종목 (종목명/코드/메모) watchlist 사용자가 추가한 관심 종목
시드 자본 / 목표 자산 기기 로컬 (SharedPreferences) 서버에 전송 안 함, 기기에만 저장
다크모드 설정 기기 로컬 (SharedPreferences) 서버에 전송 안 함
온보딩 완료 여부 기기 로컬 (SharedPreferences) 서버에 전송 안 함

법적 관점: 매매 기록은 본인의 재산 상태를 추정할 수 있는 정보이므로 한국 개인정보보호법상 개인정보로 분류될 수 있음. 따라서 공개용 처리방침에 명시 필요.

2-3. Supabase가 자동으로 기록하는 정보 (서비스 운영상 불가피)

항목 저장 위치 목적 비고
회원가입 일시 auth.users.created_at 가입 이력 관리 Supabase 기본값
마지막 로그인 일시 auth.users.last_sign_in_at 비활성 계정 식별 / 보안 Supabase 기본값
인증 토큰 발급 이력 auth.sessions 세션 관리 / 토큰 갱신 Supabase 기본값
로그인 시 IP 주소 Supabase 보안 로그 (일정 기간 후 자동 삭제) 비정상 로그인 탐지 Supabase 기본값, 앱에서 별도 저장 안 함

이 항목들은 우리가 코드로 수집하는 것이 아니라 Supabase 백엔드가 자동으로 기록한다. 그러나 법적으로는 “수집한 정보”에 포함되므로 공개용 처리방침에 명시한다.


3. 수집하지 않는 정보 (명시적 확인)

다음 정보는 일체 수집·저장하지 않는다.

근거 (2026-05-13 확인):


4. 개인정보 처리 위탁

4-1. 데이터 저장 / 인증

위탁업체 위탁 항목 위치 비고
Supabase Inc. 회원 인증, 사용자 데이터 저장 도쿄 리전 (ap-northeast-1) 모든 사용자 데이터 저장

4-2. 외부 API 통신 (개인정보 미전송)

서비스 전송 내용 비고
Finnhub (미국 주식 검색 API) 사용자가 입력한 검색어 (예: “AAPL”) 사용자 식별 정보 전송 안 함, 검색어만 전달

4-3. 출시 후 추가 예정 (현재 미사용)

서비스 용도 예상 시점
Google Sign-In 구글 소셜 로그인 출시 직후
Apple Sign-In 애플 소셜 로그인 출시 직후
Kakao Login 카카오 소셜 로그인 사업자 등록 후
Naver Login 네이버 소셜 로그인 사업자 등록 후

소셜 로그인 활성화 시점에 본 문서·개인정보처리방침 재검토 필수 (각 제공자로부터 이메일·프로필 이름 등을 받게 됨)


5. 보유 기간 및 백업 정책

5-1. 보유 기간

데이터 보유 기간 삭제 방식
회원 정보 (이메일, 비밀번호 해시, 닉네임) 회원 탈퇴 시까지 탈퇴 즉시 완전 삭제
매매 기록 / 원칙 / 회고 / 일기 / 관심종목 회원 탈퇴 시까지 탈퇴 시 ON DELETE CASCADE로 즉시 완전 삭제
Supabase 자동 로그 (IP·세션) Supabase 정책에 따름 일정 기간 후 자동 삭제
기기 로컬 데이터 (시드/목표/테마/온보딩) 앱 삭제 시까지 앱 삭제 또는 기기 데이터 삭제 시 제거

5-2. 백업 정책

현재 상태 (Free 플랜, 2026-05-13 기준):

향후 변경 가능성:

5-3. 회원 탈퇴 처리 흐름

  1. 마이페이지 → 회원탈퇴 (2단계 확인)
  2. delete_current_user() RPC 호출
  3. auth.users.id 삭제 → 모든 관련 테이블 ON DELETE CASCADE로 연쇄 즉시 삭제
  4. 백업 없음 (Free 플랜) → 복구 불가능

6. 가입 정책

항목 정책
최소 가입 연령 만 14세 이상
연령 확인 방식 회원가입 시 동의 체크박스 (현재 미구현, 출시 전 추가 예정)
보호자 동의 필요 여부 만 14세 이상만 받으므로 별도 보호자 동의 절차 없음

법적 근거: 한국 개인정보보호법상 만 14세 미만은 법정대리인(보호자) 동의 필수. 별도 동의 절차를 만들지 않기 위해 만 14세 이상만 가입 허용으로 정책 결정.


7. 사용자 권리

사용자는 언제든지 다음을 행사할 수 있다.

권리 행사 방법 처리
본인 정보 조회 앱 내 마이페이지 즉시
닉네임 변경 마이페이지 → 닉네임 편집 즉시
데이터 수정·삭제 앱 내 각 화면에서 직접 즉시
회원 탈퇴 (전체 삭제) 마이페이지 → 회원탈퇴 즉시 완전 삭제
처리정지 요청 회원 탈퇴로 처리 즉시

비밀번호 분실 시: Supabase 비밀번호 재설정 메일 발송 (출시 전 동작 확인 필요)


8. 보안 조치

항목 적용 여부 비고
비밀번호 해시 저장 Supabase Auth가 bcrypt로 처리, 평문 저장 안 됨
HTTPS 통신 Supabase·Finnhub 모두 HTTPS
행 수준 보안(RLS) 모든 테이블 user_id = auth.uid() 적용, 타 사용자 데이터 접근 불가
API 키 관리 .env 파일, .gitignore에 포함 (.env, .env.*, *.env 패턴)
인증 토큰 관리 Supabase SDK가 자동 관리
기기 민감 권한 미요청 iOS Info.plist에 위치/카메라/사진/마이크/연락처 등 권한 키 미선언

9. 향후 변경 시 재검토 항목

다음 작업을 진행하면 본 문서·개인정보처리방침을 반드시 업데이트한다.


10. 참고