개인정보처리방침
시행일: 2026년 8월 12일
1. 수집하는 개인정보 항목
회원가입 시
| 항목 | 구분 | 이용 목적 |
| 아이디, 이메일 주소 | 필수 | 회원 식별, 로그인 |
| 비밀번호 (암호화 저장) | 필수 | 본인 인증 |
| 이름 | 필수 | 가입 정보와 기본 표시명 |
| 닉네임 | 선택 | 커뮤니티 등 서비스 내 표시명 |
소셜 로그인 시 (Google / 카카오)
| 항목 | 이용 목적 |
| 이메일 주소 | 회원 식별, 로그인 |
| 프로필 이름 | 닉네임 기본값 설정 |
| 소셜 계정 고유 ID | 소셜 로그인 연동 |
훈련·커뮤니티·코치 기능 이용 시
| 항목 | 구분 | 이용 목적 |
| 훈련 일지, 준비도, 목표, 플랜, 뱃지·챌린지 진행 정보 | 선택 | 대시보드, 추천, 월간 리포트와 성취 기능 제공 |
| 사용자가 직접 선택한 운동 요약 스크린샷과 AI가 추출한 날짜·거리·시간·풀 길이·영법·칼로리·심박·랩 정보 | 선택 | 확인 가능한 훈련 일지 초안 생성. 원본 이미지는 Gemini 분석 요청 중에만 처리하며 SwimMate 서버와 DB에 저장하지 않음 |
| 과거에 직접 업로드한 건강 앱 수영 운동 파일과 변환 기록 | 선택 | 기존 기록 유지. 현재 신규 가져오기 UI는 비활성화 |
| 커뮤니티 글·댓글·이미지·좋아요·북마크·신고·멘션 | 선택 | 커뮤니티와 알림 제공, 신고 처리 |
| 코치 프로필·선택 자격정보, 코치-수강생 관계, 피드백·강습안·과제 | 선택 | 코치 연동, 강습 운영과 선택 인증 |
| AI 코치 대화 내용, 개인화 질문 시 훈련 설정·최근 일지·목표·준비도·개인 최고기록·플랜/세트 수행 요약, 코치가 입력한 강습 조건 | 선택 | 수영 지식 답변, 본인 기록 기반 맞춤 답변과 강습 문서 초안 생성. 이름·이메일·자유 입력 메모는 개인화 답변용으로 전달하지 않음 |
| 월간 결과 카드의 공개 허용 합계·영법 분포·PB, 선택 닉네임, 공개 토큰·조회 수 | 선택 | 이용자가 선택한 월간 성과 공개. 위치·심박·메모·원본 스크린샷과 개별 일지는 포함하지 않음 |
| 클럽 홍보 캠페인의 소개·기간·공동 목표·선택 회원 수·반 참여 코드, 회원이 직접 동의한 익명 합산 거리 | 선택 | 클럽 운영자가 선택한 공동 목표와 반 초대 공개. 거리 합산은 회원별 기본 미동의이며 본인이 켠 경우에만 포함하고, 이름과 개인 일지 상세는 포함하지 않음 |
서비스 이용 시 자동 수집
| 항목 | 구분 | 이용 목적 |
| 접속 IP, 브라우저 정보 | 자동 | 보안 및 서비스 안정성 |
| 페이지 조회, 메뉴·기능 이용 기록, 오류 정보 | 자동 | 운영 상태 확인과 서비스 개선 |
2. 개인정보 수집 및 이용 목적
- 회원 관리: 회원 가입, 본인 확인, 로그인, 탈퇴 처리
- 개인 훈련 관리: 준비도, 플랜, 일지, 월간 리포트, 뱃지와 챌린지 제공
- 코치 강습 운영: 학생 연동, 피드백, 강습안·일정·코칭 과제 배포
- 정보·커뮤니티: AI 코치, 수영장 찾기, 가이드, 게시글과 알림 제공
- 보안 및 안전: 부정 이용 방지, 로그인 시도 제한
- 서비스 운영·개선: 기능 사용 현황과 오류 확인, 신규 기능 개발
- 선택적 홍보 공유: 월간 결과 카드와 클럽 공동 목표·초대 페이지 제공
3. 개인정보 보유 및 이용 기간
| 항목 | 보유 기간 |
| 회원 식별 정보 | 회원 탈퇴 시 식별 불가능한 값으로 변경 |
| 훈련·플랜·리포트·커뮤니티·코치 운영 데이터 | 회원 탈퇴 또는 개별 기능에서 삭제할 때까지. 관계 보존이 필요한 기록은 식별정보를 제거한 뒤 남을 수 있음 |
| 건강 앱 가져오기 원본 운동 정보와 변환 이력 | 계정과 연결해 보관하며, 탈퇴 후에는 식별정보를 제거한 계정에 연결된 상태로 남을 수 있음. 별도 삭제 요청 가능 |
| 확인된 운동 스크린샷의 구조화 값·이미지 해시·변환 일지 연결 | 훈련 일지와 함께 보관. 원본 이미지는 보관하지 않으며, 일지 삭제·회원 탈퇴 또는 별도 삭제 요청 시 관계 데이터 처리 |
| 월간 결과 카드 스냅샷·공개 토큰 | 최대 생성일부터 180일. 이용자가 공유를 종료하면 공개 조회를 즉시 차단하고, 최소 이력은 만료일까지 보관한 뒤 삭제 |
| 클럽 홍보 캠페인 | 클럽 운영자가 비공개·삭제하거나 클럽이 삭제될 때까지 |
| 접속·운영 로그 | 서비스 운영 목적 달성 시까지. 삭제 요청은 개인정보 보호 책임자에게 접수 |
4. 개인정보 제3자 제공
원칙적으로 제3자에게 제공하지 않으며, 아래의 경우만 예외입니다.
- 이용자가 사전에 동의한 경우
- 법령에 의거하거나 수사기관의 요청이 있는 경우
제3자 서비스 연동
| 서비스 | 제공 항목 | 목적 |
| Google (소셜 로그인) | 이메일, 소셜 ID | 소셜 로그인 인증 |
| 카카오 (소셜 로그인) | 이메일, 소셜 ID | 소셜 로그인 인증 |
| Google Gemini | AI 코치 질문과, 사용자가 개인화를 요청한 경우에만 최소화한 훈련 설정·최근 일지 수치·목표·준비도·개인 최고기록·플랜/세트 수행 요약. 코치가 입력한 강습 조건과 학생 이름을 익명 참조로 바꾼 수업 브리핑. 사용자가 운동 스크린샷 등록을 선택한 경우 해당 이미지 1장 | 수영 지식·본인 기록 기반 답변, 강습 문서 초안 생성, 운동 화면의 구조화 값 추출 |
| Atlassian Jira (코치 기능) | 코칭 과제 제목·설명·분류와 대상 학생 표시명 | 코치 업무 과제 동기화 |
| 카카오맵 | 지도 조회와 사용자가 입력한 장소 검색어 | 주변 수영장 검색 |
5. 이용자의 권리
이용자는 언제든지 아래 권리를 행사할 수 있습니다.
- 열람: 본인의 개인정보 열람 요청
- 정정: 부정확한 개인정보 정정 요청
- 삭제: 개인정보 삭제 요청 (회원 탈퇴)
- 처리 정지: 개인정보 처리 정지 요청
- 이동: 프로필의 내 데이터 내보내기에서 계정·훈련·테스트 기록·플랜·활동 데이터를 JSON 파일로 다운로드
내보내기 파일에는 비밀번호 해시, 로그인 토큰, 소셜 제공자 식별자, 외부 서비스 비밀값과 다른 회원의 계정 프로필을 포함하지 않습니다. 로컬 계정은 파일 생성 전에 현재 비밀번호를 다시 확인합니다.
그 밖의 권리 행사는 서비스 내 설정 메뉴 또는 이메일(hyeonjunj014@gmail.com)로 요청하실 수 있습니다.
6. 개인정보 보호를 위한 기술적 조치
- 비밀번호 bcrypt 단방향 암호화 저장
- JWT HttpOnly 쿠키 (8시간 만료)
- 계정별 세션 버전을 확인해 비밀번호 변경·전체 로그아웃·회원 탈퇴 후 기존 액세스·갱신 토큰 무효화
- 개인 데이터 내보내기와 계정 보안 변경 전 로컬 계정의 현재 비밀번호 재확인
- 회원 탈퇴 요청의 확인 문구와 로컬 계정 현재 비밀번호를 서버에서 재검증
- HTTPS 통신 암호화 (Vercel·Render 운영 환경, 로컬 Caddy)
- Redis가 연결된 환경에서 동일 IP 로그인 5회 실패 시 15분 잠금
- 로그인·체험 로그인·AI 요청별 Rate Limiting
- 파일 업로드 유형 및 크기 검증
7. 쿠키 사용
서비스는 로그인 유지를 위해 쿠키를 사용합니다.
| 쿠키명 | 목적 | 보유 기간 |
| swimtech_token | 로그인 세션 유지 | 8시간 |
| swimtech_refresh_token | 토큰 갱신 | 7일 |
8. 개인정보 보호 책임자
- 성명: 진현준
- 이메일: hyeonjunj014@gmail.com
- 서비스명: SwimMate
9. 개정 이력
v1.4
2026.08.12
선택형 월간 결과 카드와 클럽 공개 캠페인의 공개 범위·보유 기간 반영
v1.3
2026.07.27
AI 코치의 명시적 개인화 요청과 최소 데이터 전달 범위 반영
v1.2
2026.07.23
개인 데이터 JSON 내보내기, 비밀번호 변경과 전체 기기 세션 무효화 반영
v1.1
2026.07.20
현재 훈련·커뮤니티·코치·AI·외부 연동 데이터 처리 내용 반영
v1.0
2026.06.15
최초 시행