빵지순례

개인정보처리방침

서비스 명: 빵지순례(bbangji) · 운영자: 김상인 (sangin84@gmail.com) · 시행일: 2026년 5월 2일 · 최근 개정: 2026년 5월 2일 · 버전 1.1

빵지순례(이하 “서비스”)는 사용자의 개인정보를 안전하게 처리하고 보호하기 위해 본 개인정보처리방침을 수립합니다. 본 방침은 빵지순례 모바일 앱(Android), 웹 서비스(bbangji.pages.dev) 모두에 동일하게 적용되며, 「개인정보 보호법」 및 Google Play 정책을 준수합니다.

1. 적용 범위

본 방침은 빵지순례 안드로이드 앱(패키지 ID io.bbangji.app)과 웹 서비스 모두에 적용됩니다. 사용자가 회원가입을 하지 않고 둘러보기만 하더라도 본 방침의 일부 조항(자동 수집, 쿠키 등)이 적용될 수 있습니다.

2. 처리하는 정보 항목

서비스가 처리하는 정보는 (가) 사용자가 직접 입력·업로드한 정보, (나) 서비스 이용 과정에서 자동 생성·수집되는 정보 두 종류로 나뉩니다. 저장하지 않는 정보도 명시합니다.

2.1 계정 정보 (회원가입 시 필수)

항목설명 / 형식처리
아이디 (username) 로그인 식별자. 영소문자/숫자/언더스코어 3~20자.
예: baker_kim
저장
비밀번호 (password) 입력 시점에만 처리되고 평문 저장은 하지 않습니다. PBKDF2-SHA256 100,000회 반복 + 16바이트 무작위 salt 로 해시 후 저장. 운영자도 평문을 알 수 없습니다. 해시 저장
닉네임 (nickname) 다른 사용자에게 노출되는 표시 이름. 1~20자. 저장
가입 일시 회원 가입 시각(서버 타임스탬프). 저장

2.2 프로필 정보 (선택)

항목설명처리
프로필 사진 최대 400×400px JPEG. 업로드 시 EXIF 메타데이터(촬영 위치 GPS 좌표·기기 정보 포함)는 자동 제거되어 저장됩니다. 저장
자기소개 (bio) 최대 200자 텍스트. 다른 사용자에게 공개됩니다. 저장

2.3 사용자 생성 콘텐츠

항목설명처리
방문 기록 (포스트) 방문 날짜, 별점(1~5점, 0.1 단위), 후기 텍스트(최대 2,000자), 빵 종류 태그. 저장
포스트 사진 포스트당 1~6장. 최대 1,600px JPEG로 자동 압축. EXIF 메타데이터(GPS 좌표 포함)는 자동 제거 후 저장. 저장
방문한 빵집 정보 네이버 지도 검색 결과(상호, 주소, 좌표, 카테고리, 전화번호)를 캐시 저장. 빵집 정보 자체는 사용자의 개인정보가 아니라 공개 점포 정보입니다. 저장
댓글 댓글 텍스트, 1단계 답글. 모든 사용자에게 공개. 저장
위시리스트 가고 싶은 빵집 목록과 메모. 본인만 볼 수 있습니다. 저장

2.4 자동 처리 정보

항목설명처리
인증 토큰 (세션) 로그인 후 발급되는 임의의 무작위 문자열. 180일 슬라이딩 만료. 사용자의 username 과 연결되어 KV 저장소에 보관. 저장
IP 주소 요청 헤더에서 추출(cf-connecting-ip). 비정상 요청·스팸 방지를 위한 레이트 리밋(rate-limit) 카운터 키로 단기간 사용. 장기 저장 안 함. 60초~24시간 TTL 후 자동 삭제. 다른 사용자에게 공개되지 않음. 단기 처리
User-Agent / 접근 로그 Cloudflare 의 일반 액세스 로그(브라우저 종류, 요청 경로, 응답 코드 등). 운영자가 직접 수집·보관하지는 않으며 Cloudflare 측 정책에 따라 처리됩니다. CF 로그

2.5 저장하지 않는 정보

항목설명처리
위치 정보 (GPS) 지도에서 “현재 위치” 버튼을 누른 경우에만 사용됩니다. 받은 좌표는 지도의 시점 이동에만 쓰이고 서버로 전송되거나 저장되지 않습니다 — 메모리에서 즉시 폐기됩니다. 저장 안 함
실명·이메일·전화번호 회원가입에 요구하지 않으며, 어떤 화면에서도 입력 받지 않습니다. 수집 안 함
광고 ID / 디바이스 ID Android 광고 ID(AAID), Firebase 인스턴스 ID, IDFA 등 일체 수집·이용하지 않습니다. 수집 안 함
연락처·통화·문자 주소록·통화 기록·SMS 권한을 요청하지 않으며 접근하지 않습니다. 접근 안 함
결제·금융 정보 결제 기능 자체가 없습니다. 없음
건강·운동·생체 정보 수집·이용하지 않습니다. 없음
제3자 분석 SDK Google Analytics, Firebase Analytics, AppsFlyer, Adjust 등 일체 사용하지 않습니다. 없음

3. 처리 목적

법령상 의무 이행이나 분쟁 대응 외에는 위 목적 범위를 벗어나 처리하지 않습니다. 마케팅·광고·프로파일링 목적의 처리는 하지 않습니다.

4. 보유 및 파기

5. 제3자 제공

서비스는 사용자의 개인정보를 외부 제3자에게 판매·제공·공유하지 않습니다. 다음의 경우에 한하여 예외적으로 제공될 수 있습니다.

다만 사용자가 작성한 닉네임·프로필 사진·자기소개·포스트·사진·댓글은 서비스 특성상 모든 방문자에게 공개되며, 본 정책상 “제3자 제공”에는 해당하지 않습니다(공개 게시).

6. 처리 위탁 (인프라 / 국외 이전)

서비스는 다음의 외부 인프라를 통해 데이터를 저장·처리합니다.

위탁 받는 자위탁 항목위치
Cloudflare, Inc. 웹/앱 호스팅(Pages), 서버리스 함수(Workers), 데이터베이스(D1), 키-값 저장소(KV), 사진 객체 저장소(R2). 위 2장의 모든 데이터. 글로벌(한국 포함). 한국 사용자 요청은 우선 ICN(서울) 데이터센터에서 처리되나 백업·장애 복구를 위해 글로벌 네트워크에 분산될 수 있음.
NAVER Cloud Platform / NAVER Corp. 지도 페이지에서 NCP Maps Web JS SDK가 로딩될 때 사용자의 IP·브라우저 정보가 네이버 지도 서비스로 전송됩니다(지도 타일 요청). 또한 빵집 검색·영업시간 조회 시 서버에서 네이버 검색 API/네이버 지도 정보를 호출합니다(검색어만 전달, 사용자 식별자는 전달하지 않음). 대한민국

본 서비스는 별도의 마케팅·분석 목적의 외부 위탁사를 두고 있지 않습니다.

7. 권한 사용 (Android 앱)

권한용도거부 시
INTERNET 서버 통신 앱 사용 불가 (필수)
ACCESS_NETWORK_STATE 네트워크 연결 상태 확인 앱 사용 불가 (필수)
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
지도 화면의 “현재 위치” 버튼을 누를 때만 사용됩니다. 받은 GPS 좌표는 지도의 시점 이동에만 쓰이고 서버로 전송하거나 저장하지 않습니다. 앱은 정상 동작합니다. “현재 위치” 버튼만 비활성화되며, 지도 영역을 직접 이동해 사용할 수 있습니다.

카메라·마이크·연락처·SMS·통화 기록·캘린더·블루투스 권한은 요청하지 않습니다. Android 시스템의 기본 사진 선택기를 사용해 갤러리에서 사진을 고르므로 READ_MEDIA_IMAGES 권한 자체는 필요하지 않습니다.

8. 안전성 확보 조치

9. 사용자 권리

사용자는 언제든지 다음의 권리를 행사할 수 있습니다.

10. 어린이 보호

본 서비스는 만 14세 미만 어린이를 대상으로 하지 않으며, 의도적으로 만 14세 미만의 개인정보를 수집하지 않습니다. 만 14세 미만으로 확인되는 경우 즉시 해당 계정과 데이터를 삭제하며, 보호자께서는 아래 이메일로 연락해주시면 신속히 처리해 드립니다.

11. 쿠키·로컬 저장소

본 서비스는 추적용 쿠키를 설치하지 않습니다. 다만 다음의 브라우저 저장소를 기능적으로 사용합니다.

12. 정책 변경 및 연락처

본 방침이 변경되는 경우 본 페이지를 통해 변경 내용을 공지합니다. 중대한 변경 시 시행일 7일 전부터 공지하며, 사용자에게 불리한 변경의 경우 30일 전부터 공지합니다.

개인정보 침해 신고 및 상담이 필요한 경우 아래 한국 정부 기관에 도움을 요청할 수 있습니다.

Privacy Policy

Service: bbangji (빵지순례) · Operator: Sangin Kim (sangin84@gmail.com) · Effective: May 2, 2026 · Last updated: May 2, 2026 · Version 1.1

This Privacy Policy describes how bbangji (the “Service”) collects, uses, stores, and discloses information from users of the bbangji Android application (package io.bbangji.app) and the web service at bbangji.pages.dev. The policy applies equally to both. The Service complies with the Korean Personal Information Protection Act and Google Play developer policies.

1. Scope

This Policy applies to the bbangji Android app (package io.bbangji.app) and the web service. Some sections (such as automatically processed data and cookies) apply to all visitors, including those who have not signed up for an account.

2. Data we process

We split data into (a) information you provide directly, (b) information generated automatically as you use the Service, and we also list (c) information we explicitly do not collect.

2.1 Account information (required at sign-up)

ItemDescription / formatHandling
Username Login identifier. Lowercase letters, digits, and underscores only, 3–20 characters. Example: baker_kim. Stored
Password Processed only at the moment of input. Never stored in plaintext. Hashed with PBKDF2-SHA256 (100,000 iterations) plus a 16-byte random per-user salt before storage. The operator cannot recover the plaintext. Hashed
Nickname Display name shown to other users. 1–20 characters. Stored
Sign-up timestamp Server-side timestamp recorded at account creation. Stored

2.2 Profile information (optional)

ItemDescriptionHandling
Avatar (profile photo) Up to 400×400 px JPEG. EXIF metadata (including GPS coordinates and device info) is stripped automatically before upload. Stored
Bio Free-form text up to 200 characters. Visible to other users. Stored

2.3 User-generated content

ItemDescriptionHandling
Visit posts Visit date, rating (1–5 in 0.1 steps), review text (up to 2,000 characters), bread-type tags. Stored
Post photos 1–6 photos per post, downscaled to max 1,600 px and re-encoded as JPEG client-side. EXIF metadata (including GPS) is stripped before upload. Stored
Bakery information Cached results from Naver Map search (name, address, coordinates, category, phone, official Naver Place URL). This is public business data, not personal data of the user. Stored
Comments Comment text and one level of replies. Visible to all users. Stored
Wishlist Saved bakeries and personal notes. Visible only to you. Stored

2.4 Automatically processed information

ItemDescriptionHandling
Auth token (session) Random opaque string issued at login, valid for 180 days with sliding expiry. Stored in our key-value store and bound to your username. Stored
IP address Read from the request header (cf-connecting-ip) and used only as a key for short-lived rate-limit counters to prevent spam and abuse. Counters expire automatically after 60 seconds to 24 hours. Not retained long-term and not exposed to other users. Transient
User-Agent / access logs Standard server access logs (browser type, request path, status code). Handled by our infrastructure provider Cloudflare and not retained or correlated with identities by us. CF logs

2.5 What we do not collect

ItemDescriptionHandling
Location (GPS) Used only when you tap the “current location” button on the map. The coordinates are used to recenter the map and are never sent to our servers and never stored — they are discarded immediately. Not stored
Real name, email, phone number None of these are required for sign-up or requested anywhere in the app. Not collected
Advertising / device identifiers Android Advertising ID (AAID), Firebase Instance ID, IDFA, etc. are never collected. Not collected
Contacts, calls, SMS The Service does not request the corresponding permissions and never accesses your address book, call log, or messages. Not accessed
Payment / financial data The Service has no purchase or payment functionality. None
Health, fitness, biometric data Not collected. None
Third-party analytics SDKs No Google Analytics, Firebase Analytics, AppsFlyer, Adjust, Sentry, or similar SDK is bundled in the app or web build. None

3. Purposes of processing

We do not process data for marketing, advertising, or behavioral profiling.

4. Retention & deletion

5. Sharing with third parties

We do not sell, rent, or share your personal data with third parties. Limited exceptions:

Note: your nickname, avatar, bio, posts, photos, and comments are publicly visible by design (this is the social purpose of the Service). This is not “sharing with third parties” in the sense above — it is a public posting that you author yourself.

6. Sub-processors / international transfer

The Service stores and processes data using the following infrastructure providers.

Sub-processorScopeRegion
Cloudflare, Inc. Web/app hosting (Pages), serverless functions (Workers), database (D1), key-value store (KV), photo object storage (R2). All data described in section 2 is stored on Cloudflare. Global. Korean traffic is served from the ICN (Seoul) edge first; for backup and resiliency, data may be replicated across Cloudflare’s global network.
NAVER Cloud Platform / NAVER Corp. The Naver Maps Web JS SDK loaded on the Map page sends your IP and browser information to Naver as part of map-tile delivery. The Service also calls the Naver Search API and Naver Map place endpoints server-side; only the search keyword is forwarded — never your username, IP, or other identifier. South Korea

We do not engage any sub-processor for marketing, analytics, advertising, or behavioral targeting purposes.

7. Android permissions

PermissionPurposeIf denied
INTERNET Communicate with our servers. App cannot function (required).
ACCESS_NETWORK_STATE Detect connectivity state. App cannot function (required).
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
Used only when you tap the “current location” button on the map. The coordinates recenter the map locally and are never transmitted to our servers and never stored. The app continues to work normally. Only the “current location” button is disabled; you can still pan and zoom the map manually.

We do not request camera, microphone, contacts, SMS, call log, calendar, or Bluetooth permissions. Photo selection uses the system photo picker, so no READ_MEDIA_IMAGES runtime permission is required.

8. Security measures

9. Your rights

You may exercise the following rights at any time.

10. Children

The Service is not directed to children under the age of 14 and we do not knowingly collect personal data from them. If we become aware that an account belongs to a person under 14, we will delete the account and associated data promptly. Parents and guardians may contact us at the email below for assistance.

11. Cookies & local storage

We do not use tracking cookies. We use the following functional browser storage:

12. Changes & contact

We will post any updates to this Policy on this page. For material changes, we will publish at least 7 days before the effective date; for changes unfavorable to users, at least 30 days in advance.

Korean users may also contact the following authorities for privacy-related complaints: