개인정보처리방침
1. 운영자와 문의
Habits Shape Life은 성공하는 습관이 운영합니다. 개인정보 보호책임자는 성공하는 습관 대표이며, 개인정보 열람·정정·삭제·처리정지·동의 철회·사본 요청과 개인정보 관련 불만은 syc1117@gmail.com으로 받습니다. 요청 처리를 위해 필요한 범위에서 본인 확인을 요청할 수 있으며, 확인한 뒤 지체 없이(늦어도 10일 이내, EU 등 해당 법이 기한을 정한 경우 그 기한 이내) 처리 결과를 알립니다.
2. 처리하는 정보와 목적
| 정보 | 목적 및 저장 위치 |
|---|---|
| Google·카카오·Apple 계정 식별자 및 로그인 공급자가 반환하는 이메일·프로필 정보 | 계정 인증·식별. Supabase Auth에서 처리합니다. 앱의 계정 화면은 이메일을 사용합니다. Google·카카오·Apple 비밀번호를 앱이 직접 수집하지 않습니다. 현재 카카오 로그인은 계정 식별자만 요청하며 이메일·닉네임·프로필 사진을 추가 요청하지 않습니다. |
| 루틴 제목·목표·메모·완료 상태, 음식 이름·섭취량·단위·칼로리·영양성분, 운동·세트·초안, 저장한 항목과 기록 날짜 | 기록 제공 및 기기 간 동기화. 기기에 저장하고 계정 서버(Supabase)와 동기화합니다. |
| 선택한 건강 데이터 출처와 활동 칼로리 | 사용자가 건강 연동을 허용한 경우 하루 활동 칼로리를 표시합니다. 활동 칼로리 합계·기록 날짜·출처·시간대·갱신 시각을 계정 서버에 저장하여 다른 기기와 웹에서도 확인할 수 있습니다. |
| 언어·테마·건강 연결 설정과 로그인 세션 | 기기별 설정 및 로그인 유지. 세션은 iOS Keychain 또는 Android 보안 저장소에 보관합니다. |
| 문의 이메일과 문의 내용, 서비스 요청 관련 접속·인증 로그 | 문의 대응, 인증·보안 및 장애 대응. 공급자 서비스 이용 과정에서 IP 주소·요청 시각 등 기술 정보가 처리될 수 있습니다. |
| 거주 국가, 직접 입력한 만 나이, 약관·개인정보·건강정보 처리 동의 내역(문서 버전·시각) | 만 16세 이상 가입 확인과 동의 기록. 생년월일은 수집하지 않습니다. 동의를 철회하거나 변경한 기록도 함께 보관합니다. |
| 구독 정보: 스토어 구분, 상품, 거래·구독 식별자, 상태, 만료·갱신 시각, 계정 연결용 식별자(Apple appAccountToken, Google 난독화 계정 ID), Google 구매 토큰 | 구독 검증, 이용권 관리, 해지·환불 반영. Google 구매 토큰은 암호화해 보관합니다. 카드 정보는 수집하지 않습니다. |
| 초대코드와 등록 시각 | 첫 구독 할인 자격 확인, 홍보 파트너별 가입·구독 집계와 수익 배분 정산. 파트너에게는 개인을 알아볼 수 없는 집계만 제공합니다. |
| 운영자 무료 이용권(개발자·홍보 파트너)의 기간·사유·발급자 | 약정에 따른 무료 이용 제공과 발급 이력 관리 |
Apple에서 발급한 갱신 토큰은 Apple 연결 해제·탈퇴 시 권한을 철회하기 위해 서버에서 암호화해 보관합니다. 암호키는 데이터베이스와 분리합니다. 카카오 서비스 연결 식별자와 철회 처리 상태도 계정 관리에 사용하며 계정 삭제 시 함께 삭제합니다.
선택적 앱 이용 분석
로그인 후 기능 이용 시각, 성공·실패 결과, 통계·코멘트 노출 여부, 검색 결과 유무, 플랫폼·앱 버전·언어 정보를 사용성과 안정성 개선에 사용할 수 있습니다. 분석용 식별자는 계정과 연결되므로 익명 정보가 아닙니다. 음식명·검색어·체중·영양값·운동 상세·루틴 문장·코멘트 내용은 분석 사건에 복제하지 않습니다.
적용되는 처리 근거와 단말 수집 요건을 확인한 범위에서만 수집합니다. 고지와 거부 방식이 허용되는 경우에는 안내를 표시한 후, 사전 동의가 필요한 경우에는 참여를 선택한 후 시작합니다. 확인되지 않은 지역에서는 수집하지 않습니다. 설정 → 앱 이용 분석에서 참여를 중단·재개하거나 기존 분석 자료를 삭제할 수 있습니다. 재참여하더라도 중단 기간의 사건을 소급 생성하지 않으며, 분석 자료 삭제는 참여 설정을 바꾸지 않습니다.
이 선택은 기록 보관·구독·AI 연결에 영향을 주지 않습니다. 필요한 보안·운영 로그와 결제 원장은 별도로 관리합니다. 이용 사건의 보존 기간은 최대 13개월입니다. 백업이나 운영자가 내려받은 이전 사본에서 삭제한 자료가 되살아나지 않도록 최소 삭제 이력은 15개월 보존합니다. 운영자 다운로드 사본도 같은 삭제·보존 기준을 따라야 합니다.
사용자가 선택한 AI 서비스와 기록 공유
본인의 ChatGPT·Claude 계정을 읽기 전용 MCP에 연결할 수 있습니다. 연결하기 전에 자료를 받는 서비스와 공유되는 기록 전체(식단·운동·루틴, 체중, 허용된 건강앱 요약, 되고 싶은 모습과 관련 루틴, 기존 목표, 메모)를 표시하고 한 번의 동의를 받습니다. 이 기록의 과거·앞으로의 내용이 대상이며, 연결 뒤 "연결된 AI"에서 항목별로 공유를 줄이거나 연결을 해제할 수 있습니다. 기존 연결에 새 항목을 자동으로 추가하지 않습니다.
제공 목적은 해당 AI가 사용자의 기록을 읽고 질문에 답하도록 돕는 것입니다. 앱 내부 AI 채팅·별도 AI 이용료·대화 저장 기능은 제공하지 않습니다. 외부 AI의 기능·요금·처리 방식은 해당 계정과 서비스의 조건을 따릅니다. 연결 전에 수신자의 개인정보 안내를 확인해 주세요: OpenAI, Anthropic. 수신자는 해당 약관에 따라 국외에서 정보를 처리할 수 있으며, 수신자와 출처별 제공을 활성화하기 전에 적용되는 국외 이전 요건을 충족해야 합니다.
설정 → 연결된 AI에서 서비스별 공유 범위를 줄이거나 연결을 해제할 수 있습니다. 범위를 늘리려면 해당 AI에서 다시 연결해 허용해야 합니다. 해제하면 이후 조회가 차단되지만, 이미 외부 대화에 전달된 정보를 우리 서버에서 삭제할 수는 없습니다. 해당 서비스에서 대화를 관리해 주세요. Habits Shape Life 구독이 만료되어도 유효한 공유 권한으로 보관된 기록을 조회할 수 있습니다. 분석 참여 여부는 AI 공유를 허용하거나 해제하지 않습니다.
지원하는 개인 생활·건강관리 기록과 요청에 필요한 허용된 건강 요약만 제공합니다. 의료기관 진료기록 등을 새로 수집하지 않으며, 동의로 출처·수신자의 제한을 우회하지 않습니다. 연결된 클라이언트·요청 도구·성공 여부 등의 최소 접근 감사 정보를 남기지만, AI 대화 내용이나 반환된 건강 수치를 감사 로그에 저장하지 않습니다.
3. 로그인과 이전 버전의 기기 내 기록
현재 버전은 로그인한 계정으로 이용하며 만 16세 이상만 가입할 수 있습니다. 이전 버전에서 로그인 없이 기기에 저장한 기록은 다른 계정으로 자동 이전하지 않습니다. 앱에서 회원 탈퇴할 때 현재 기기의 해당 계정 기록과 그 계정에 연결했던 로그인 전 원본을 함께 정리합니다.
4. 선택적 건강 연동과 Watch 측정
허용한 경우 휴대폰은 Apple HealthKit 또는 Android Health Connect의 활동 에너지를 읽어 하루 활동 칼로리를 표시하고 계정에 동기화합니다. 건강정보는 기록 보관, 기기 간 동기화와 변화 확인을 위해 사용합니다.
Apple Watch에서 직접 시작하거나 휴대폰의 ‘워치 사용하기’를 선택한 뒤 건강 권한을 허용하면, Habits Shape Life가 심박수와 활동 에너지를 표시하고 운동 종류·시작/종료 시각·시간·활동 에너지를 Apple 건강에 저장합니다. 여러 세트와 휴식 동안 하나의 측정을 유지하며 ‘전체 운동 종료’로 끝냅니다. 운동 경로는 수집하거나 저장하지 않습니다.
로그인한 앱과 연결된 Watch의 유산소 측정 결과는 운동 종류·시각·시간·운동별 활동 칼로리 합계·원본 식별자를 운동 일지에 전달하여 계정에 동기화합니다. ‘건강 앱 운동 가져오기’는 별도 동의가 필요한 선택 기능이며 기본값은 꺼짐입니다. 켜면 최근 30일부터 유산소 운동의 종류·시각·시간·출처·제공된 거리·해당 운동에 연결된 활동 칼로리 합계를 가져오고 이후 변경분을 반영합니다. 운동별 합계는 원본 연결이 확인될 때만 보관하고 직접 수정한 값은 재가져오기로 덮어쓰지 않습니다. 가져온 운동 칼로리를 하루 활동 칼로리에 다시 더하지 않습니다. 실내 운동의 원본 거리가 포함되어 있어도 화면·통계에는 사용하지 않습니다.
가져오기를 끄면 새 조회가 중단되며 이미 가져온 기록은 남습니다. 기록을 삭제하면 Habits Shape Life의 동기화 대상에서 삭제하지만 Apple 건강·Health Connect의 원본을 삭제하지 않습니다. 운영체제 건강 설정에서 권한과 원본 기록을 관리할 수 있습니다. 건강 데이터는 광고·판매·AI 학습에 사용하지 않습니다. 건강 접근은 선택 사항이며 휴대폰 직접 입력은 계속 이용할 수 있습니다.
5. 처리 위탁과 국외 이전
서비스 제공을 위해 다음 업체가 정보를 처리합니다. 처리를 맡긴 업체는 계약에 따라 필요한 범위에서만 처리하며, 로그인·앱 스토어 업체는 각자의 정책에 따라 처리합니다. 보유기간은 6장과 각 업체의 정책을 따릅니다.
| 업체(소재 국가) | 업무와 이전 정보·시기·방법 |
|---|---|
| Supabase Inc.(미국)·Supabase Pte. Ltd.(싱가포르)와 하위 처리자 | 계정 인증, 기록 보관·동기화, 서버 기능. 데이터베이스 지역은 대한민국 서울(ap-northeast-2)입니다. 계정 식별 정보·기록·기술 로그를 로그인·동기화 요청 때와 지원·보안 대응 때 네트워크로 전송합니다. |
| Cloudflare, Inc.(미국) | 웹사이트·기록 웹 제공과 암호화한 백업 파일 보관(R2). 접속할 때 기술 정보를, 정기 백업 때 암호화된 백업 파일을 전송합니다. |
| GitHub, Inc.(미국) | 정기 백업 실행 환경(비공개 Actions 실행기). 백업할 때 계정과 기록을 읽어 암호화한 뒤 보관소로 보냅니다. |
| Apple Inc.(미국)·Google LLC(미국) | 로그인 인증, 앱 스토어 결제와 구독 상태 알림. 로그인 식별자와 구독 거래 정보를 로그인·결제·구독 변경 때 주고받습니다. |
| 주식회사 카카오(대한민국) | 카카오 로그인 인증. 카카오 계정 식별자를 로그인 때 받습니다. |
현재 버전은 로그인한 계정으로만 이용하므로 국외 이전을 거부하면 서비스를 이용할 수 없습니다. 회원 탈퇴로 이후의 처리를 중단할 수 있습니다. 이용자가 직접 연결한 ChatGPT·Claude로의 제공은 위의 AI 서비스 공유 안내를 따릅니다. 카카오의 개인정보 처리에는 카카오 정책이 적용됩니다.
Supabase 개인정보 안내 · Supabase 데이터 처리 계약 · Google 개인정보처리방침 · Apple 개인정보 처리방침 · 카카오 개인정보처리방침 · Cloudflare · GitHub
6. 보관과 삭제
계정과 수동 기록은 서비스를 제공하는 동안 보관합니다. 회원 탈퇴를 실행하면 현재 구현은 서버 계정 및 관련 기록을 삭제하고 현재 기기의 해당 계정 기록을 정리합니다. 다른 기기의 최신 앱이 서버에서 계정 삭제를 확인하면 해당 계정의 로컬 기록을 정리합니다. 오프라인·만료된 세션·이전 버전에서는 이 확인이 지연되거나 불가능할 수 있습니다. 해당 기기에서 앱을 삭제해 로컬 사본을 지울 수 있으며, 운영체제 건강 데이터는 삭제하지 않습니다. 과거 버전에서 별도로 내보낸 파일이 있다면 직접 삭제해야 합니다. 탈퇴는 Google·카카오·Apple 계정 자체를 삭제하는 것이 아닙니다.
현재 Supabase Free 요금제의 API·데이터베이스 로그 조회 보존기간은 1일, 인증 감사 로그는 1시간입니다. 제공자 내부 보안·운영 정보의 보존기간은 별도 정책을 따르며 이 조회기간이 모든 내부 사본의 삭제시점을 뜻하지는 않습니다. Supabase Free의 관리형 복구 백업과 별도로, 비공개 GitHub Actions 실행기가 계정·기록을 읽어 암호화한 후 Cloudflare R2에 백업하도록 구성되어 있습니다. 운영 백업은 현재 35일 후 자동 삭제하며 보관 기간 변경 시 안내합니다. 사용자가 내보낸 파일은 직접 삭제해야 합니다. 문의 정보는 답변과 후속 처리에 필요한 동안 보관하고 목적이 끝나면 삭제합니다. 법령에 따른 보존 또는 분쟁 처리가 필요한 경우 해당 범위에 한해 보관합니다.
삭제된 계정이 과거 백업 복원으로 다시 살아나는 것을 막기 위해 삭제된 내부 계정 ID와 삭제 시각만 별도 보관합니다. 이름·이메일·기록 내용·인증 토큰은 포함하지 않습니다. 삭제 이력의 별도 보관·복원 시 제외 절차는 출시 전 검증 대상입니다.
구독 거래 기록(스토어 구분·상품·거래 식별자·상태·기간)은 계정을 삭제해도 계정과 분리해 보관하며, 중복 구매 확인·환불·분쟁 대응과 법령상 보존 의무에 필요한 기간이 지나면 삭제합니다. 초대코드 등록 정보는 계정과 함께 삭제하지만, 이미 확정된 파트너 정산 내역은 개인을 알아볼 수 없는 집계 형태로 세법상 보존 기간 동안 보관합니다.
보유기간이 끝나거나 처리 목적을 달성한 정보는 지체 없이 파기합니다. 전자 파일은 복구할 수 없는 방법으로 삭제하고, 암호화한 백업은 보관 기간(현재 35일)이 지나면 자동으로 삭제됩니다. 개인정보를 종이 문서로 보관하지 않습니다. 법령에 따라 보존해야 하는 정보는 다른 정보와 분리해 보관하고 그 기간이 끝나면 파기합니다. 전자상거래 등에서의 소비자보호에 관한 법률에 따라 계약·청약철회·대금결제 기록은 5년, 소비자 불만·분쟁 처리 기록은 3년 보관합니다.
7. 백업과 보안
앱과 웹은 기록 파일 내보내기·가져오기 기능을 제공하지 않습니다. 본인 기록의 사본이 필요하면 문의처로 요청해 주세요. 직접 연결한 ChatGPT·Claude 계정에서 기록을 읽는 방법은 위의 AI 서비스 공유 안내를 따릅니다. 로그인한 기록은 서버와 동기화되지만 동기화는 과거 시점으로 되돌리는 별도 백업을 뜻하지 않습니다. 정기 백업은 암호화하여 Cloudflare R2에 보관하도록 구성했습니다. 격리 환경에서 복원 검사를 수행하며, 실제 복구 범위는 성공한 백업과 보관 기간에 따라 달라집니다. 서버 연결에는 HTTPS를 사용하고 계정별 데이터 접근을 제한합니다. 이 구성은 사용자가 암호키를 독점하는 종단간 암호화를 의미하지 않습니다.
8. 이용자의 권리
앱에서 기록을 수정·삭제하고 회원 탈퇴할 수 있습니다. 앱을 사용할 수 없어도 계정 삭제 안내에 따라 삭제를 요청할 수 있습니다. 위 문의처로 개인정보 열람·정정·삭제·처리정지와 동의 철회를 요청할 수 있으며, 기록 사본을 요청하면 기계가 읽을 수 있는 형식(JSON)으로 보내 드립니다. 건강 연동, 앱 이용 분석, AI 공유는 각 설정에서 언제든 끌 수 있습니다. 이용자에게 법적 효과나 이에 준하는 중대한 영향을 주는 자동화된 결정은 하지 않습니다. 요청 가능한 권리와 처리 방식은 적용되는 법률에 따릅니다.
제공자 정책: 요금제별 로그·백업 · 데이터 위치·이전·삭제 · 하위 처리자 목록
9. 로그인 수단 연결과 해제
로그인한 상태에서 Google·카카오·Apple 계정을 추가로 인증하면 같은 앱 사용자 ID에 로그인 수단을 연결합니다. 연결 시 기존 기록의 소유자는 바뀌지 않습니다. 이미 다른 앱 계정에 연결된 수단과 그 기록은 자동으로 합치지 않습니다. 연결 해제는 해당 로그인 수단의 접근을 제거하며 기록이나 원래 Google·카카오·Apple 계정을 삭제하지 않습니다. 앱에서 다시 로그인할 수 있도록 사용 가능한 로그인 수단을 하나 이상 유지해야 합니다. Apple 인증 권한 철회에는 Apple 재인증이 필요할 수 있습니다. 카카오 연결 해제 및 탈퇴 시 카카오의 서비스 연결도 해제합니다.
10. 방침 변경
처리 항목·목적·제공자 등에 변경이 생기면 이 페이지의 개정일과 변경 내용을 갱신합니다. 동의나 별도 고지가 필요한 변경은 적용 전에 안내합니다.
11. 이 안내 웹사이트와 기록 웹의 브라우저 저장소
소개·약관 등 공개 안내 페이지에는 광고·방문 분석 스크립트가 없습니다. 로그인한 기록 서비스의 이용 분석은 위의 별도 설정을 따릅니다. 페이지 제공 과정에서 호스팅 제공자는 IP 주소, 브라우저·요청 시각 등 기술 정보를 처리할 수 있습니다. 문의 메일을 보내면 이메일 제공자도 해당 내용을 처리합니다.
로그인해 쓰는 기록 웹은 브라우저 저장소를 다음 용도로만 씁니다: 로그인 세션(인증 토큰), 언어·테마·무게 단위와 마지막으로 본 통계 같은 화면 설정, 계정별 기록 사본·전송 대기 중인 변경·작성 중인 초안, 이용 분석에 참여한 경우 전송 전의 분석 사건. 광고·추적 쿠키는 쓰지 않습니다. 브라우저 설정에서 이 사이트의 데이터를 지우면 삭제되며, 그 뒤에는 다시 로그인해야 합니다.
12. 구독과 홍보 파트너
연간 구독은 해당 앱 스토어에서 처리합니다. 구독 거래 검증과 이용권 관리에 필요한 정보를 처리하며 카드 정보는 수집·저장하지 않습니다. 해지·만료·환불·탈퇴는 각각 별개이며 구독 만료만으로 보관된 기록을 삭제하지 않습니다. 가격과 판매 가능 여부는 스토어에서 확인할 수 있습니다.
홍보 파트너의 정산·세금 처리에 필요한 정보(이름, 연락처, 지급 계좌, 세금 신고 정보)는 별도 약정에 따라 수집하며 앱 이용자 정보와 분리해 관리합니다. 파트너가 통계 화면에서 보는 정보는 자신의 초대코드로 집계된 가입·구독·환불 건수와 금액뿐입니다.
13. 만 16세 미만
만 16세 미만은 가입할 수 없으며 그 개인정보를 알면서 수집하지 않습니다. 만 16세 미만이 가입한 사실을 알게 되면 해당 계정과 기록을 삭제합니다. 보호자는 위 문의처로 삭제를 요청할 수 있습니다.
14. 권익침해 구제
개인정보 침해에 대한 상담과 신고는 아래 기관에 할 수 있습니다.
- 개인정보분쟁조정위원회: 1833-6972, www.kopico.go.kr
- 개인정보침해신고센터: 118, privacy.kisa.or.kr
- 대검찰청: 1301, www.spo.go.kr
- 경찰청: 182, ecrm.police.go.kr
15. EU·영국 등 이용자
EU·EEA·영국처럼 GDPR 또는 비슷한 법이 적용되는 지역의 이용자에게는 다음 처리 근거를 적용합니다.
- 계약 이행: 계정, 기록 보관·동기화, 구독 확인, 문의 응대
- 명시적 동의: 건강 데이터 연동과 계정 저장, 이용자가 연결한 AI 서비스로의 기록 공유, 사전 동의가 필요한 지역의 앱 이용 분석
- 법적 의무: 결제·세금 기록 보존
- 정당한 이익: 보안과 부정 이용 방지, 장애 대응과 백업, 초대코드에 따른 홍보 파트너 정산. 이 처리에는 이의를 제기할 수 있습니다.
동의는 언제든 철회할 수 있으며 철회 전 처리의 적법성에는 영향을 주지 않습니다. 열람·정정·삭제·처리 제한·이의 제기와 이동(사본을 기계가 읽을 수 있는 형식으로 받을 권리)을 요청할 수 있고, 거주 국가의 개인정보 감독기관에 민원을 제기할 수 있습니다. 대한민국은 EU 집행위원회의 적정성 결정을 받은 국가이며, 미국·싱가포르 등 다른 국가의 처리자로 이전할 때는 Supabase 데이터 처리 계약의 표준계약조항처럼 해당 업체가 제공하는 보호조치를 적용합니다.