초안 — 법률 검토 전

이 문서는 검토용 초안이며 시행 중인 정책이나 동의서가 아닙니다. [확정 필요] 항목과 빈자리를 채우고 법률 검토 및 필요한 고지·동의 절차를 마친 뒤 정식 문서로 공지합니다.

← 북한산으로 돌아가기

개인정보 처리방침

작성 기준일 2026-11-07(의견 보내기 추가) · 검토 초안 1
시행일: [확정 필요]

1. 운영자와 적용 범위

북한산은 브라우저에서 가상의 산길을 함께 걷는 서비스입니다. 이 초안은 계정, 가상 산행, 대화 및 안전 기능에서 처리하는 개인정보를 설명합니다. 기준일은 2026년 11월 6일(대화 저장 방식 변경)이며, 운영 중인 서버와 계약의 실제 설정은 별도 확인이 필요합니다.

운영자(개인정보처리자): [확정 필요: 상호 또는 성명] / 주소: [확정 필요] / 개인정보 보호책임자·담당 부서: [확정 필요] / 이메일·전화: [확정 필요] / 시행일: [확정 필요].

2. 처리 목적과 수집 항목

Google 로그인, 이용자가 입력하거나 선택한 내용, 서비스 이용 중 생성된 기록을 통해 아래 정보를 처리합니다. 기능에 필요한 정보와 이용자가 선택하는 활동을 구분합니다.

법적 근거 검토안: 계정 확인·세션 유지·요청한 산행 기능은 개인정보 보호법 제15조 제1항 제4호(계약 체결·이행에 필요한 처리)의 적용 여부를 검토합니다. Google 이름·프로필 사진의 필수성, 대화의 운영 목적 보관, 신고·제재 기록은 최소수집 범위와 별도 동의 또는 정당한 이익 등 적용 근거를 항목별로 확정해야 합니다. 동의를 근거로 하는 항목은 목적·항목·기간·거부권과 영향을 별도로 알리고 받으며, Google 로그인이나 이 문서 열람을 포괄 동의로 보지 않습니다.

Google 계정·회원 정보
계정 식별과 로그인에 Google 계정 식별자, 이름, 이메일, 이메일 확인 여부, 프로필 사진 주소를 사용합니다. 내부 회원 식별자, 가입·수정 시각, 권한, 기본 시간대도 저장합니다. 이름·사진의 제공 여부는 Google 응답에 따라 다를 수 있으며, 이름·사진을 필수로 받아야 하는지는 [확정 필요]입니다. Google 비밀번호는 전달받지 않습니다.
인증·접속 정보
로그인 유지에 세션 식별자·토큰·만료 및 생성·갱신 시각, IP 주소, 브라우저 정보(User-Agent)를 처리할 수 있습니다. 계정 연결에는 제공자 식별자·권한 범위와 OAuth 접근·갱신·ID 토큰 및 만료 시각을 저장할 수 있습니다. 저장 구조와 인증 설정을 확인했으며 실제 발급·저장 값과 서버 로그 범위는 [운영 확인 필요]입니다.
차림과 이어 걷기
이용자가 선택한 아바타의 피부·머리·옷·소품 번호, 게임 내 마지막 코스와 x·y 좌표, 산행 닉네임, 마지막 접속 시각을 저장합니다. 차림 복원과 이어 걷기에 사용합니다. 아바타는 Google 프로필 사진과 별개입니다.
산행 기록
회원·코스·접속 공간 식별자, 산행 시작·종료·완주 시각, 체크포인트와 통과 시각, 게임 안 이동 거리·상승고도, 등력·등력 갱신 시각·휴식 모드를 저장합니다. 완주 표시, 이어지는 이용 경험과 게임 속도 계산에 사용하며 실제 운동·건강 측정값이 아닙니다.
길·쉼터·쉘터 대화
대화 내용은 저장하지 않습니다. 대화를 켠 주변 이용자에게 전달하고, 실시간 서버의 메모리에만 최근 10분까지 머문 뒤 지워집니다(쉘터에 새로 앉은 사람에게 보여 주는 최근 대화 20줄 포함, 서버가 다시 시작되면 사라짐). 다른 이용자가 대화를 신고하면 그 순간 메모리에 남아 있던 신고된 말과 같은 자리의 앞뒤 대화(최근 5분, 최대 20줄)만 작성자 식별자·닉네임·구역·시각과 함께 신고 기록으로 보관합니다. 대화를 쓰지 않아도 걷기 기능을 이용할 수 있습니다.
의식·소원
돌탑·약수·소원·성문 도장 참여 종류, 장소·도장 식별자, 회원·산행 식별자와 시각, 소원 내용·숨김 여부를 저장합니다. 의식 횟수 확인, 도장첩(처음 찍은 날·찍은 날 수) 표시와 소원 공개·신고 처리에 사용합니다. 의식 참여, 도장 찍기와 소원 작성은 선택입니다.
이용 집계
화면을 연 것 같은 이용 흐름을 개수로만 세기 위해 회원 식별자, 이벤트 종류(지금은 도장첩 열기 하나), 시각만 저장합니다. 대화·글 내용, 게임 안팎의 위치, 기기·브라우저 정보는 넣지 않습니다. 기능 개선을 위한 집계에만 사용합니다.
신고·차단·이용 제한
신고자·대상자 식별자, 선택한 사유, 관련 대화·소원 식별자, 신고된 대화와 앞뒤 대화(위 항목), 구역·접속 공간, 신고·처리 시각, 차단 관계·시각, 이용 제한 사유·종료 시각·처리 주체를 저장합니다. 이용자 보호와 이의제기 검토에 사용합니다.
문의 정보
문의 시 회신 주소와 문의·권리행사 내용을 필요한 범위에서 받을 예정입니다. 실제 접수 채널·항목·보관 기간은 [확정 필요]이며 아직 문의 양식이 구현된 것은 아닙니다.

3. 수집하지 않는 실제 위치정보

서비스는 이용자의 GPS·기기 위치 권한을 요청하지 않으며 실제 위치정보를 수집하지 않습니다. 저장하는 마지막 위치와 이동 거리는 가상 게임 지도 안의 좌표·이동 기록입니다. 북한산 지도와 날씨는 정해진 지역의 공개 자료이며 이용자의 현 위치를 사용하지 않습니다.

확인한 앱 코드에는 기기 위치 API 호출이 없습니다. 다만 IP 주소 같은 접속 정보는 별도로 처리될 수 있고, 호스팅 사업자가 이를 통해 국가·지역을 추정하는지까지 확인한 것은 아닙니다. 제공업체의 접속 로그·지역 분석 설정은 정식 고지 전에 확인합니다.

주민등록번호, 실제 건강 측정값, 연락처 목록, 카메라·마이크 자료를 요구하는 기능도 확인되지 않았습니다. 대화·소원에는 본인이나 타인의 실명·전화번호·주소·건강 등 민감한 내용을 적지 말아 주세요.

4. 다른 이용자에게 보이는 정보

게임에서는 산행 닉네임·아바타·게임 내 위치와 행동이 다른 이용자에게 보이고, 대화는 해당 구역의 전달 규칙에 따라 공유됩니다. Google 이름·이메일·프로필 사진을 게임 이름표로 공개하는 흐름은 확인되지 않았습니다. 이어 걷기를 선택하면 이전 산행 닉네임을 사용할 수 있습니다.

소원은 작성자 닉네임 없이 최근 항목을 공개합니다. 화면에서 익명이어도 서버에는 작성자 계정과 연결되어 있어 완전히 익명화된 정보는 아닙니다. 소원이 숨겨져도 저장 기록이 즉시 삭제되는 것은 아닙니다. 대화는 신고되지 않으면 저장하지 않습니다.

5. 보관 기간과 파기

아래 빈자리는 실제 기간을 결정하기 위한 자리입니다. 미정이라는 표시가 무기한 보관에 대한 동의나 법적 근거를 뜻하지 않습니다. 정식 운영 정책에는 목적별 기간과 기산점, 파기 일정, 백업 잔존 기간을 확정해야 합니다.

대화 내용
일반 대화는 저장하지 않습니다(실시간 서버 메모리에 최근 10분까지만). 신고된 대화와 그 앞뒤 대화는 신고가 처리될 때까지 보관하고, 처리 완료 뒤 30일에 자동 삭제합니다 [법률 검토 필요]. 2026년 11월 6일 이전에 대화 저장 방식으로 쌓인 대화는 운영자 확인 뒤 일괄 삭제할 예정입니다(삭제 시점 [확정 필요]). 화면의 말풍선 표시 시간은 보관 기간이 아닙니다.
계정·Google 연결·차림
보관 기간·기산점: ______ [확정 필요: 회원 탈퇴·연결 해제 시 처리, 필요한 예외 포함].
산행·마지막 게임 위치·의식·소원
보관 기간·기산점: ______ [확정 필요]. 최근 소원 20개 표시나 마지막 위치 갱신은 전체 기록의 삭제 정책을 대신하지 않습니다.
이용 집계
저장 후 90일에 자동 삭제합니다 [법률 검토 필요].
제작자에게 보내는 의견
받은 날부터 1년 보관한 뒤 삭제합니다 [법률 검토 필요].
인증 세션·토큰·접속 로그
각 만료·로그 보관 기간 및 만료 후 삭제 시점: ______ [운영 설정 확인 필요]. 인증 토큰의 만료는 DB 행이나 로그의 자동 삭제와 다릅니다.
신고·차단·이용 제한·문의
보관 기간·기산점: ______ [확정 필요: 처리 완료·차단 해제·제재 종료·분쟁 처리 후 각각의 파기 시점]. 24시간 입장 제한이 끝나도 관련 기록이 즉시 삭제되는 것은 아닙니다.

6. 파기 절차와 법정 보존 예외

파기 절차안: 보유 목적이 달성되거나 보관 기간이 끝난 정보를 확인하여 복구·재생이 어려운 방법으로 삭제하고, 종이 문서가 있으면 파쇄합니다. 법령상 보존이 필요한 정보만 별도로 분리하고 접근을 제한합니다.

보존 예외의 법령·조문, 항목, 기간: [해당 시 확정 필요]. 모든 대화나 모든 접속 기록에 일률적인 법정 보관 기간이 있다고 가정하지 않습니다. 현재 코드만으로 탈퇴 후 삭제·백업 삭제·외부 처리업체의 삭제 완료를 보장할 수 없으므로 해당 절차와 실행 여부를 검증해야 합니다.

7. 외부 서비스: 제공과 위탁의 구분

데이터베이스·호스팅 운영을 맡기는 처리위탁과, 독립된 목적으로 정보를 받는 제3자 제공은 구분합니다. 외국 사업자를 이용한다는 이유만으로 모두 제3자 제공으로 분류하지 않습니다. 아래는 코드와 공개 공식 문서를 대조한 검토안이며, 실제 계약 당사자·요금제·재위탁 현황과 국내법상 분류는 [확정 필요]입니다.

별도의 외부 사업자에게 대화나 산행 기록을 판매·제공하는 기능은 확인되지 않았습니다. 향후 제3자 제공이 필요하면 법적 근거와 제공받는 자·목적·항목·기간 및 필요한 거부권 안내를 먼저 정합니다.

Supabase — 데이터베이스 처리위탁 검토
인증·회원 정보와 저장되는 산행·소원·신고(신고된 대화 포함)·차단 기록을 보관하는 Postgres 제공업체입니다. 로그인 제공자는 Google이며 인증 처리는 Better Auth를 사용합니다. Supabase의 공개 DPA는 고객 데이터에 대한 처리자 역할을 명시하지만 실제 계약 적용 여부·법인명·연락처·리전·백업·지원 접근·기간은 [확정 필요]입니다.
Vercel — 웹·API 호스팅 처리위탁 검토
웹 요청과 접속 정보, 로그인 콜백·세션, 계정 조회·차림 저장·입장권 발급을 처리하는 호스팅입니다. 실시간 대화 전부를 Vercel에 저장한다고 단정하지 않습니다. 공개 DPA는 적용 요금제 조건이 있으므로 이 프로젝트의 요금제와 계약 적용 여부, 로그 항목·기간·리전·재위탁은 [확정 필요]입니다.
Fly.io — 실시간 서버 처리위탁 검토
입장권과 회원 식별자·아바타·게임 상태, 게임 내 위치·대화·소원·신고·차단 요청 등을 처리하는 실시간 서버 호스팅입니다. 대화는 이 서버의 메모리에만 잠시 머물고, 신고된 대화만 데이터베이스에 기록합니다. 공식 안내는 앱 데이터의 처리자 역할을 설명합니다. 저장소 설정은 일본 도쿄(nrt)이지만 실제 배포·로그·지원 접근·재위탁·계약·기간은 [확정 필요]입니다.
Google — 외부 계정 인증
이용자의 로그인 요청에 따라 Google이 계정 식별자·이름·이메일·프로필 사진 등의 인증 정보를 서비스에 전달합니다. Google에도 로그인·접속 관련 정보가 전달될 수 있습니다. Google 자체 계정 서비스는 Google의 개인정보처리방침이 적용되며, 단순히 우리 서비스의 수탁자로 단정하지 않습니다. 계정 동의 화면의 실제 범위, 계약 법인·연락처, 제공·국외 이전 관계는 [확정 필요]입니다.

8. 국외 처리·이전 확인표

국외 제공·위탁·보관 여부와 개인정보 보호법 제28조의8에 따른 근거를 확정해야 합니다. 해외 사업자의 DPA나 이 페이지 공개만으로 국내법상 요건이 모두 충족되었다고 보지 않습니다. 서버 지역 외에 백업·지원 인력·재위탁을 통한 접근 국가도 확인합니다.

공통 확인란: 이전의 법적 근거 [확정 필요] / 이전 거부 접수 방법·절차 [확정 필요: 운영자 문의 채널] / 거부 시 대체 경로와 이용 제한 범위 [확정 필요]. 현재 다른 로그인 수단이나 호스팅을 선택하는 기능은 확인되지 않아 로그인·실시간 산행 이용이 어려울 수 있습니다. 동의가 필요한 경우 별도로 받고, 계약 이행에 필요한 위탁·보관 예외를 적용하려면 그 요건과 고지 사항을 확인합니다.

Supabase 확인란
이전 항목·목적: 위 데이터베이스 항목과 보관·운영. 이전받는 법인·연락처: ______. 국가(백업·지원 포함): ______. 시기·방법: 저장·조회 시 서버 간 전송 [실제 경로 확인 필요]. 보유·이용 기간: ______. 적용 근거·거부 절차·영향: ______.
Vercel 확인란
이전 항목·목적: 위 웹·인증·API 처리 항목과 호스팅·로그. 이전받는 법인·연락처: ______. 국가: ______. 시기·방법: 웹 접속·인증·API 이용 시 전송 [실제 경로 확인 필요]. 보유·이용 기간: ______. 적용 근거·거부 절차·영향: ______.
Fly.io 확인란
이전 항목·목적: 위 실시간 게임·접속 항목과 서버 운영. 이전받는 법인·연락처: ______. 국가: 일본(도쿄 설정), 그 밖의 처리·접근 국가 ______ [실배포 확인 필요]. 시기·방법: 입장·게임 이용 시 실시간 통신과 서버 간 전송. 보유·이용 기간: ______. 적용 근거·거부 절차·영향: ______.
Google 확인란
항목·목적: 계정 인증 정보의 수신과 로그인 요청·접속 정보 처리. 이전받는 법인·연락처: ______. 국가: ______. 시기·방법: Google 로그인 과정의 브라우저·서버 간 인증 통신. 우리 서비스가 이전하는 정보와 Google의 직접 수집 범위를 구분할 것. 보유·이용 기간·적용 근거·거부 절차·영향: ______.

9. 쿠키·브라우저 저장소와 로그

쿠키는 브라우저에 보관되어 해당 사이트 요청에 함께 전달되는 작은 정보입니다. 로그인 상태 유지와 인증 확인에 사용하며, 인증 설정에는 5분간의 세션 쿠키 캐시가 있습니다. 이는 로그인 전체 유효기간이나 서버 보관 기간을 뜻하지 않습니다. 운영 환경의 쿠키 이름·내용·만료 시간은 [확인 필요]입니다.

차림, 소리·줌·렌더링 설정 등은 브라우저 저장소(localStorage)에 남을 수 있습니다. 브라우저의 설정 → 개인정보·사이트 데이터에서 이 사이트의 쿠키와 저장 데이터를 삭제하거나 저장을 제한할 수 있습니다. 브라우저마다 메뉴가 다르며, 쿠키를 차단하면 로그인이 되지 않을 수 있고 저장 데이터를 지우면 기기 설정이 초기화됩니다. 기기에서 지우는 것만으로 서버 기록이 삭제되지는 않습니다.

코드에는 저장 실패 등을 기록하는 오류 로그가 있습니다. 오류 문자열에 개인정보가 포함될 가능성과 호스팅 로그의 실제 수집 항목·마스킹·보관 기간은 확인이 필요합니다. 검토 범위의 앱 코드·의존성에서 Sentry 연동은 확인되지 않았습니다. 배포처에서 별도로 켠 분석·오류 수집 기능까지 없는 것으로 보장하지 않으며, 추가 시 이 문서와 필요한 고지 절차를 갱신합니다.

10. 열람·정정·삭제·처리정지 등 권리

이용자 또는 적법한 대리인은 관계 법령에 따라 개인정보 열람, 정정·삭제, 처리정지, 동의 철회와 회원 탈퇴를 요구할 수 있습니다. 접수처: [확정 필요: 이메일·우편·전화 및 본인·대리인 확인 방법]. 본인 확인에는 필요한 최소한의 정보만 사용하고 법정 기한과 절차에 따라 처리하는 운영 절차를 마련합니다.

법령에 따른 제한이나 보존 사유가 있으면 해당 근거·범위·기간과 이의제기 방법을 안내하는 절차를 마련합니다. 현재 셀프서비스 탈퇴·전체 기록 삭제·차단 해제 화면은 확인되지 않았으며, 이 초안이 해당 기능의 제공 완료를 뜻하지 않습니다. Google 연결 해제와 서비스 회원 탈퇴·서버 정보 삭제는 별도입니다.

현재 연령 확인·법정대리인 동의 흐름은 확인되지 않았습니다. 이용 가능 연령과 만 14세 미만 아동의 가입 처리 방침: [확정 필요]. 아동의 개인정보를 동의에 근거하여 처리하는 경우 법정대리인 동의·확인과 권리행사 절차를 마련해야 합니다.

11. 신고·차단과 자동 이용 제한

신고·차단 기능은 대화와 이용자를 보호하기 위한 기능입니다. 현재 구현은 서로 다른 신고자 3명의 미처리 신고가 마지막 제한 이후 누적되면 24시간 입장을 자동 제한합니다. 제한 사유와 시간을 저장하며, 사람의 검토 전에 적용될 수 있습니다. 소원은 신고 시 화면에서 숨겨질 수 있습니다.

자동 판단의 오류 가능성이 있으므로 설명·재검토·이의제기 접수처와 담당자, 처리 절차·기한은 [확정 필요]입니다. 개인정보 보호법상 자동화된 결정에 관한 권리의 적용 여부와 필요한 안내·사람에 의한 재검토 절차를 법률 검토합니다. 현재 자동 제한을 확정된 운영 정책으로 승인한 것은 아닙니다.

12. 제작자에게 보내는 의견

메인 화면 아래의 '의견 보내기'나 게임 '내 산행' 시트의 '제작자에게 한마디'로 만든 사람에게 의견을 보낼 수 있습니다. 보내기는 선택이며 보내지 않아도 모든 기능을 이용할 수 있습니다. 받은 의견은 서비스 개선과 답장에만 쓰고, 관리자 권한이 있는 운영자만 읽습니다.

수집 항목
의견 종류(버그·제안·칭찬·기타)와 의견 글(500자 이내), 보낸 시각을 저장합니다. 로그인했으면 회원 식별자를 함께 저장하고(답장이 필요하면 회원 정보의 이메일을 봅니다), 로그인하지 않았으면 이용자가 선택해 적은 이메일만 저장합니다. 사진·파일은 받지 않습니다.
기기·위치 정보
브라우저·운영체제·기기 종류를 줄인 한 줄(브라우저 정보 원문은 저장하지 않음), 화면 크기·화소 비율, 앱 버전을 함께 저장합니다. 게임 안에서 보냈다면 가상 지도 안의 코스·칸 좌표·구역 이름과 구역 종류도 저장합니다. 실제 GPS·기기 위치는 수집하지 않습니다.
반복 전송 방지
로그인하지 않고 보내면 하루 단위로 바뀌는 IP 해시를 횟수 제한(하루 3건) 목적으로만 보관합니다. IP 주소를 서버 비밀값·날짜와 함께 바꾼 값이라 IP 주소 원문은 저장하지 않고, 다른 날의 기록과 이어지지 않으며, 의견과 함께 1년 뒤 지웁니다. 로그인 사용자는 계정 기준으로 하루 5건까지 받습니다.
보관 기간
받은 날부터 1년 동안 보관하고 지웁니다(새 의견이 저장되거나 운영자가 목록을 열 때 1년 지난 의견을 삭제합니다). 회원 계정이 삭제되면 그 계정으로 보낸 의견도 함께 지웁니다 [법률 검토 필요].

13. 보호조치·문의·문서 변경

안전성 확보 검토안: 처리 권한 최소화, 인증 정보 보호, 전송 구간 보호, 접근 기록 점검, 로그의 개인정보 최소화, 위탁업체 감독과 파기 확인 절차를 마련합니다. 코드의 접근 제어와 실제 운영 권한·암호화·백업·교육·사고 대응 상태는 별도 점검 대상이며 모든 조치가 완료되었다는 인증이 아닙니다.

개인정보 보호책임자·담당 부서: [확정 필요] / 열람·삭제·신고·이의제기 문의 이메일: [확정 필요] / 전화·우편 주소: [확정 필요].

외부 구제 안내: 개인정보침해신고센터(privacy.kisa.or.kr, 국번 없이 118), 개인정보분쟁조정위원회(kopico.go.kr, 1833-6972)를 통해 상담·분쟁조정을 신청할 수 있습니다.

최초 시행일, 변경 이력 보관 위치와 사전 공지 기간·방법: [확정 필요]. 처리 내용이 달라지면 변경 내용과 적용일을 알리고 법령상 필요한 동의 절차를 진행합니다.