이 문서의 목적: 맴매일지 앱이 실제로 수집·처리하는 개인정보를 한 곳에 정리한 내부 기준 문서. 개인정보처리방침(공개용)·이용약관·앱스토어 심사 자료 작성 시 근거로 사용한다.
마지막 업데이트: 2026-05-13 다음 검토 시점: 새 기능 추가 / 외부 서비스 연동 / Supabase 플랜 변경 / 출시 직전
맴매일지은 사용자가 직접 입력한 정보 + 인증을 위한 최소한의 정보만 수집한다. 분석 도구·광고 ID·위치·실명·전화번호·결제 정보·기기 권한은 일체 수집·요청하지 않는다.
| 항목 | 수집 시점 | 저장 위치 | 필수/선택 | 비고 |
|---|---|---|---|---|
| 이메일 | 회원가입 | auth.users.email |
필수 | 로그인 ID로 사용 |
| 비밀번호 | 회원가입 | auth.users.encrypted_password |
필수 | Supabase가 bcrypt 해시 처리, 평문 저장 안 됨 |
| 닉네임 | 가입 후 마이페이지에서 사용자 선택 | auth.users.raw_user_meta_data.nickname |
선택 | 미설정 가능 |
| 항목 | 저장 테이블 | 비고 |
|---|---|---|
| 매매 기록 (종목/단가/수량/손익/메모 등) | trades |
사용자가 본인 매매를 기록하는 핵심 기능 |
| 매매 원칙 (제목/카테고리/목표값) | trading_principles |
사용자가 자기 매매 규칙 설정 |
| 원칙 준수 체크 (준수/위반) | principle_checks |
매매별 원칙 점검 결과 |
| 매매 회고 (내용/감정/배운점) | trade_reflections |
사용자가 작성한 회고 |
| 투자 일기 (제목/본문/시장 분위기/날짜) | investment_diaries |
사용자가 작성한 일기 |
| 관심 종목 (종목명/코드/메모) | watchlist |
사용자가 추가한 관심 종목 |
| 시드 자본 / 목표 자산 | 기기 로컬 (SharedPreferences) | 서버에 전송 안 함, 기기에만 저장 |
| 다크모드 설정 | 기기 로컬 (SharedPreferences) | 서버에 전송 안 함 |
| 온보딩 완료 여부 | 기기 로컬 (SharedPreferences) | 서버에 전송 안 함 |
법적 관점: 매매 기록은 본인의 재산 상태를 추정할 수 있는 정보이므로 한국 개인정보보호법상 개인정보로 분류될 수 있음. 따라서 공개용 처리방침에 명시 필요.
| 항목 | 저장 위치 | 목적 | 비고 |
|---|---|---|---|
| 회원가입 일시 | auth.users.created_at |
가입 이력 관리 | Supabase 기본값 |
| 마지막 로그인 일시 | auth.users.last_sign_in_at |
비활성 계정 식별 / 보안 | Supabase 기본값 |
| 인증 토큰 발급 이력 | auth.sessions |
세션 관리 / 토큰 갱신 | Supabase 기본값 |
| 로그인 시 IP 주소 | Supabase 보안 로그 (일정 기간 후 자동 삭제) | 비정상 로그인 탐지 | Supabase 기본값, 앱에서 별도 저장 안 함 |
이 항목들은 우리가 코드로 수집하는 것이 아니라 Supabase 백엔드가 자동으로 기록한다. 그러나 법적으로는 “수집한 정보”에 포함되므로 공개용 처리방침에 명시한다.
다음 정보는 일체 수집·저장하지 않는다.
근거 (2026-05-13 확인):
pubspec.yaml에 분석/추적/광고 관련 패키지 미포함ios/Runner/Info.plist에 카메라·사진·위치·마이크·연락처 등 민감 권한 키 미선언| 위탁업체 | 위탁 항목 | 위치 | 비고 |
|---|---|---|---|
| Supabase Inc. | 회원 인증, 사용자 데이터 저장 | 도쿄 리전 (ap-northeast-1) | 모든 사용자 데이터 저장 |
| 서비스 | 전송 내용 | 비고 |
|---|---|---|
| Finnhub (미국 주식 검색 API) | 사용자가 입력한 검색어 (예: “AAPL”) | 사용자 식별 정보 전송 안 함, 검색어만 전달 |
| 서비스 | 용도 | 예상 시점 |
|---|---|---|
| Google Sign-In | 구글 소셜 로그인 | 출시 직후 |
| Apple Sign-In | 애플 소셜 로그인 | 출시 직후 |
| Kakao Login | 카카오 소셜 로그인 | 사업자 등록 후 |
| Naver Login | 네이버 소셜 로그인 | 사업자 등록 후 |
소셜 로그인 활성화 시점에 본 문서·개인정보처리방침 재검토 필수 (각 제공자로부터 이메일·프로필 이름 등을 받게 됨)
| 데이터 | 보유 기간 | 삭제 방식 |
|---|---|---|
| 회원 정보 (이메일, 비밀번호 해시, 닉네임) | 회원 탈퇴 시까지 | 탈퇴 즉시 완전 삭제 |
| 매매 기록 / 원칙 / 회고 / 일기 / 관심종목 | 회원 탈퇴 시까지 | 탈퇴 시 ON DELETE CASCADE로 즉시 완전 삭제 |
| Supabase 자동 로그 (IP·세션) | Supabase 정책에 따름 | 일정 기간 후 자동 삭제 |
| 기기 로컬 데이터 (시드/목표/테마/온보딩) | 앱 삭제 시까지 | 앱 삭제 또는 기기 데이터 삭제 시 제거 |
현재 상태 (Free 플랜, 2026-05-13 기준):
향후 변경 가능성:
delete_current_user() RPC 호출auth.users.id 삭제 → 모든 관련 테이블 ON DELETE CASCADE로 연쇄 즉시 삭제| 항목 | 정책 |
|---|---|
| 최소 가입 연령 | 만 14세 이상 |
| 연령 확인 방식 | 회원가입 시 동의 체크박스 (현재 미구현, 출시 전 추가 예정) |
| 보호자 동의 필요 여부 | 만 14세 이상만 받으므로 별도 보호자 동의 절차 없음 |
법적 근거: 한국 개인정보보호법상 만 14세 미만은 법정대리인(보호자) 동의 필수. 별도 동의 절차를 만들지 않기 위해 만 14세 이상만 가입 허용으로 정책 결정.
사용자는 언제든지 다음을 행사할 수 있다.
| 권리 | 행사 방법 | 처리 |
|---|---|---|
| 본인 정보 조회 | 앱 내 마이페이지 | 즉시 |
| 닉네임 변경 | 마이페이지 → 닉네임 편집 | 즉시 |
| 데이터 수정·삭제 | 앱 내 각 화면에서 직접 | 즉시 |
| 회원 탈퇴 (전체 삭제) | 마이페이지 → 회원탈퇴 | 즉시 완전 삭제 |
| 처리정지 요청 | 회원 탈퇴로 처리 | 즉시 |
비밀번호 분실 시: Supabase 비밀번호 재설정 메일 발송 (출시 전 동작 확인 필요)
| 항목 | 적용 여부 | 비고 |
|---|---|---|
| 비밀번호 해시 저장 | ✅ | Supabase Auth가 bcrypt로 처리, 평문 저장 안 됨 |
| HTTPS 통신 | ✅ | Supabase·Finnhub 모두 HTTPS |
| 행 수준 보안(RLS) | ✅ | 모든 테이블 user_id = auth.uid() 적용, 타 사용자 데이터 접근 불가 |
| API 키 관리 | ✅ | .env 파일, .gitignore에 포함 (.env, .env.*, *.env 패턴) |
| 인증 토큰 관리 | ✅ | Supabase SDK가 자동 관리 |
| 기기 민감 권한 미요청 | ✅ | iOS Info.plist에 위치/카메라/사진/마이크/연락처 등 권한 키 미선언 |
다음 작업을 진행하면 본 문서·개인정보처리방침을 반드시 업데이트한다.