NIGHTDOMESwitFlow ↗

NIGHTDOME · PRIVACY / 개인정보처리방침

Your progress
stays with you.

한국어

NIGHTDOME 개인정보처리방침

시행일: 2026-10-27 · 버전 1.7

NIGHTDOME(이하 “본 게임”)의 운영자 스윗플로우(대표 김삼열, 이하 “개발자”)는 「개인정보 보호법」 등 관련 법령을 준수하며, 본 방침으로 본 게임이 어떤 정보를 어떤 목적으로 처리하는지 설명합니다. 본 게임은 이름·이메일·전화번호 등 연락처를 입력받지 않으며, 게임 진행과 설정은 이용자 기기에 저장됩니다. 앱 안의 [설정 → 개인정보처리방침]은 이 문서의 요약본입니다.

1. 처리하는 정보와 목적

항목처리 주체·시점목적
게임 진행·점수, 보유 재화·아이템, 설정, 무작위 설치 식별자와 설치일, 저장 생성 시각, 구매·광고 보상 지급 기록(로컬 원장: 거래 식별자·상품·구매 시각, 광고 보상 영수증 ID)이용자 기기(게임 저장소)게임 제공, 진행 저장, 구매·보상 중복 지급 방지
IP 주소, 기기·앱 정보, 광고 동의 상태·선택 정보Google UMP(User Messaging Platform) — 앱 시작 시와 광고 개인정보 선택을 다시 열 때지역별 동의 필요 여부 확인, 광고 요청 허용 여부 결정, 미국 일부 주 거주자의 개인정보 판매·공유 거부 선택 기록·전달
광고 식별자(IDFA/GAID, 운영체제 설정과 iOS 추적 허용 여부에 따름), 앱 세트 ID, 기기 모델·OS 버전, IP 기반 대략적 위치, 광고 노출·상호작용 기록, 앱·광고 SDK의 성능·진단 정보(실행 시간 등)Google AdMob — UMP가 광고 요청을 허용한 뒤 광고 SDK를 초기화할 때와 보상형·전면 광고를 요청·표시할 때보상형·전면 광고 제공(이용자의 선택과 지역 법규가 허용하는 경우 맞춤형 광고 포함)·측정, 부정 방지
결제 수단·결제 정보, 구매 영수증·거래 식별자Apple App Store / Google Play — 인앱 구매 시결제 처리, 환불·복원
구매 영수증·거래 식별자·상품 정보·구매 시각, 구매자 식별자(app_user_id = 무작위 설치 식별자)RevenueCat — 인앱 구매와 구매 복원 시, 앱 실행·복귀 시 구매 기록 확인(요청에 기기 모델·OS 버전·언어·스토어 국가·앱 버전이 함께 전달됨)영수증 검증(서명 검증 포함), 구매 상태 관리와 복원
요청에 수반되는 IP 주소, 운영체제 종류 등 통신 정보Cloudflare(switflow.app 호스팅) — 앱 실행 시, 실행 중 약 4분마다, 앱 복귀 시 원격 설정 파일을 받을 때광고·결제 기능 켜고 끄기, 장애 시 긴급 차단

현재 버전에는 개발자가 운영하는 구매·광고 보상 확인 서버와 분석 서버가 없습니다. 원격 설정은 개발자 웹사이트(switflow.app)에 올린 파일로 제공하며, 앱은 이 파일을 내려받기만 하고 설치 식별자 등 이용자를 식별하는 값은 보내지 않습니다. 구매는 RevenueCat이 검증한 거래를, 보상형 광고는 광고 SDK가 보상 획득을 알린 시청을 기기에서 확인해 한 번만 지급하며, 이 정보를 개발자 서버로 보내지 않습니다. 광고·결제 서비스와의 통신과 원격 설정 파일 요청에는 IP 주소 등 네트워크 통신에 필요한 정보가 함께 전달됩니다.

2. 게임 이용 분석(동의 기반)

현재 버전은 게임 이용 분석을 수집·전송하지 않습니다. 설정에 해당 선택이 없고, 기기에 분석 대기열을 만들지 않으며, 이전 버전이 남긴 분석 대기열은 지웁니다. 이 절과 3절은 이후 분석 기능을 켜는 버전에 적용할 내용이며, 그때에는 이 방침을 먼저 고쳐 시행일과 버전을 표시합니다.

분석 기능을 켠 버전에서 설정의 [게임 이용 분석]은 광고 개인정보 선택과 독립된 선택이고 기본값은 꺼짐입니다. 이용자가 켠 경우에만, 즉 게임 이용 분석에 동의한 경우에만 아래 분석 항목을 분석 서버로 전송합니다. 동의하지 않은 기간의 플레이는 소급 수집하지 않습니다. 선택 저장이나 대기열 정리에 실패하면 수집·전송 허용 상태로 전환하지 않는 최소 권한 방식으로 동작합니다.

구분분석 이벤트에 담기는 정보
모든 이벤트 공통무작위 이벤트 번호, 무작위 분석 식별자, 세션 식별자, 발생 시각, 기기 날짜와 시간대 오프셋(UTC와의 분 단위 차이), 빌드·앱 콘텐츠·규칙 버전, 배포 채널과 운영·검수 구분, 검수 모드 여부, 유입 경로 구분, 플랫폼(운영체제 종류)·언어, 설치일, 실험군 번호와 원격 설정 버전
세션분석 동의 시점, 첫 실행, 세션 시작과 세션 횟수, 백그라운드 전환에 따른 세션 종료
작전·조작작전 시작(스테이지·모드·전투 시드·출격 장비 구성·화면 크기), 작전 결과(승패·점수·요격·피해 통계, 이어하기 횟수, 아이템 사용, 지급 젬), 주간·훈련 등 반복 작전 결과, 아이템 사용 시점(사용 경로, 경과 시간, 도시 내구도, 보이는 위협 수), 튜토리얼 단계, 첫 발사·연계 사격 등 조작 요약
재화젬·아이템 증감과 변동 후 잔액, 변동 사유(관련 상품 ID·광고 위치·스테이지 포함)
광고보상형 광고 제안(표시 위치·제안 키·스테이지)과 시청 선택, 광고 진행 단계(불러오기·표시·보상·닫힘·만료 등)와 무작위 시도 번호·오류 코드·지연 시간, 광고 보상 확인 결과(보상 내용, 광고 보상 영수증 ID의 해시값)
상점·구매상점 상품 노출(화면에 보인 상품의 상품 ID와 스토어 표시 가격 문자열), 구매 요청(구매 버튼을 누른 상품의 상품 ID와 스토어 표시 가격 문자열), 구매 확인 결과(상품 ID, 거래 식별자의 해시값)
전송 관리전송하지 못하고 지운 이벤트 수, 삭제 요청 확인용 무작위 토큰(서버는 이 토큰의 해시값만 저장)

분석 이벤트에는 이름·연락처와 카드 번호 등 결제 수단 정보, 구매 영수증 원문을 넣지 않으며, 거래 식별자와 광고 보상 영수증 ID는 원문 대신 해시값(SHA-256)으로만 보냅니다. 다만 상점 상품 노출·구매 요청 이벤트에는 상품 ID와 스토어가 표시한 가격 문자열(예: ₩2,900)이 담기므로, 구매 확인 이벤트와 함께 보면 어떤 상품을 어떤 표시 가격에 구매했는지 알 수 있습니다.

전송 전 이벤트는 기기의 분석 대기열(최대 500건)에 보관되며, 서버가 수신을 확인한 이벤트를 대기열에서 지웁니다. 대기열이 가득 차면 가장 오래된 이벤트부터 지우고, 서버가 형식 오류로 세 번 연속 거부한 묶음은 다시 보내지 않고 지웁니다. 이렇게 지운 이벤트의 수만 이후 전송에 함께 보냅니다.

3. 분석 동의 철회와 서버 삭제

현재 버전은 분석을 수집하지 않으므로 철회할 동의가 없습니다. 분석 기능을 켠 버전에서는 다음과 같이 처리합니다.

  • [게임 이용 분석]을 끄면 수집을 즉시 멈추고 기기의 분석 대기열을 비운 뒤, 분석 서버에 해당 무작위 분석 식별자의 데이터 삭제를 요청합니다.
  • 네트워크에 연결되어 있지 않으면 서버의 삭제 확인을 받을 때까지 해당 무작위 분석 식별자와 재시도용 무작위 삭제 토큰만 기기에 보관하고, 연결되면 다시 요청합니다.
  • 서버는 늦게 도착한 데이터가 삭제된 기록을 되살리지 않도록 해당 식별자의 삭제 표식을 보관합니다. 삭제 표식의 보관 기간은 분석 기능을 켜는 버전의 방침에서 정합니다.
  • 광고·스토어 영수증의 처리와 각 서비스 계정의 삭제는 해당 사업자의 절차를 따릅니다(7절).

4. 광고

  • 본 게임에는 이용자가 선택해서 시청하는 보상형 광고가 있습니다. 전면 광고는 원격 설정으로만 켤 수 있으며 현재는 꺼져 있습니다. 켜는 경우 전투 결과 화면에서 나갈 때만, 원격 설정의 표시 간격과 최소 시간 간격에 따라 표시합니다.
  • Google UMP가 광고 요청을 허용하기 전에는 광고를 불러오지 않습니다. 동의가 필요한 지역과, 개인정보 판매·공유 거부 선택을 제공하는 미국 일부 주에서는 설정의 [광고 개인정보 선택]에서 선택을 다시 확인하거나 바꿀 수 있습니다(미국 주는 이를 지원하는 앱 버전부터, 12절).
  • iOS에서는 운영체제의 추적 허용 요청(ATT)에 대한 이용자의 선택에 따라 광고 식별자 사용 여부가 정해집니다.
  • 광고 제거 상품(전면 광고 제거)은 전면 광고를 켜는 경우에만 제공되며, 구매하면 전면 광고를 표시하지 않습니다. 보상형 광고는 원할 때만 시청하는 선택 기능으로 남습니다.
  • 보상형 광고의 보상은 광고 SDK가 보상 획득을 알리면 시청 전에 보여 준 내용대로 기기에서 한 번 지급합니다. 서버 측 보상 확인(SSV)은 사용하지 않으며, 광고 요청에는 요청을 구분하는 무작위 번호만 붙이고 설치 식별자는 Google에 보내지 않습니다.
  • 광고를 거부하거나 동의를 철회해도 핵심 게임은 광고 없이 이용할 수 있습니다.

5. 인앱 결제

젬 묶음, 스타터 패키지, 도시 테마 등 꾸미기 상품, 광고 제거 상품의 결제는 Apple App Store 또는 Google Play가 처리하며, 개발자는 카드 번호 등 결제 수단 정보를 받지 않습니다. 구매 영수증은 RevenueCat이 검증(서명 검증 포함)하고, 본 게임은 검증된 거래를 기기에서 거래당 한 번만 지급합니다. 개발자 서버는 구매 정보를 받지 않습니다. 구매 복원은 설정의 [구매 복원]에서 할 수 있습니다. 앱을 다시 설치하거나 기기 게임 데이터를 삭제한 뒤에는 도시 테마 등 영구 상품과 광고 제거 상품이 복원되며, 이미 지급된 젬 묶음·스타터 패키지 같은 소모성 상품은 다시 지급되지 않습니다. 환불은 각 스토어의 정책과 절차를 따릅니다.

6. 보유 및 파기

정보보유 기간
기기의 게임 데이터·로컬 원장이용자가 삭제하거나 앱을 삭제할 때까지
원격 설정 파일 요청의 접속 정보개발자는 개별 접속 기록을 보관하지 않음 · Cloudflare가 처리한 정보는 Cloudflare의 방침에 따름
Google·Apple·RevenueCat이 처리한 정보각 사업자의 방침과 계약에 따름

게임 내 [설정 → 캠페인 진행 초기화]는 캠페인 진행만 초기화하며, 설치 식별자·설치일·재화·구매 및 보상 원장·설정 등은 보존하므로 기기 데이터 전체 삭제 기능이 아닙니다. [설정 → 기기 게임 데이터 전체 삭제]는 진행·재화·원장·설정·설치 식별자 등 본 게임이 기기에 저장한 데이터를 삭제합니다(분석 기능을 켠 이전 버전이 분석 데이터를 전송한 적이 있으면 그 버전의 절차에 따라 서버 삭제도 요청합니다). 삭제가 완료되지 않으면 성공으로 표시하지 않고 재시도할 수 있습니다. 삭제 뒤에는 영구 상품만 [구매 복원]으로 되돌릴 수 있습니다. 기기 데이터 삭제만으로 외부 처리자의 데이터까지 삭제되었다고 간주하지 않습니다. 외부 처리자가 보유한 정보는 해당 사업자의 개인정보 선택·삭제 절차나 아래 문의처를 이용해 주세요.

이용자가 운영체제의 기기 백업(Android의 Google 계정 백업, Apple의 iCloud 백업이나 컴퓨터 백업)을 켜 두었다면, 운영체제가 앱이 기기에 저장한 데이터(게임 진행·재화·설정, 무작위 설치 식별자, 로컬 원장 등)를 그 백업에 복사할 수 있습니다. 이 백업은 이용자의 Google·Apple 계정이나 컴퓨터에 보관되어 이용자가 관리하며, 계정 백업은 Google·Apple의 약관과 방침을 따릅니다. 개발자는 이 백업에 접근할 수 없습니다. [기기 게임 데이터 전체 삭제]나 앱 삭제로는 이미 만들어진 백업이 지워지지 않으며, 앱을 다시 설치하거나 새 기기를 설정하면서 백업을 복원하거나 데이터를 옮기면 이 데이터가 다시 기기에 저장될 수 있습니다. 백업은 기기나 계정, 컴퓨터의 백업 설정에서 끄거나 삭제할 수 있습니다.

7. 처리 위탁 및 국외 이전

받는 자항목국가·시기·방법목적·보유 기간
Google LLC(UMP, AdMob)1절의 UMP·AdMob 항목미국 등 Google이 공개한 국가 · 앱 시작 시 동의 상태 확인, 광고 요청·표시 시 · 암호화된 네트워크 통신동의 관리, 광고 제공·측정·부정 방지(Google은 받은 정보를 자체 방침에 따라 광고 서비스 제공·개선에도 사용할 수 있음) · Google의 방침과 계약에 따름 (policies.google.com/privacy)
RevenueCat, Inc.구매 영수증·거래 식별자·상품 정보·구매 시각, 무작위 설치 식별자(app_user_id)미국 · 앱 실행·복귀 시 구매 기록 확인, 구매·복원 시 · 암호화된 네트워크 통신영수증 검증·구매 상태 관리 · RevenueCat의 방침과 계약에 따름 (revenuecat.com/privacy)
Apple Inc. / Google LLC(스토어 결제)결제 정보·구매 영수증각 사업자 · 결제 시결제 처리·환불 · 각 사업자의 방침에 따름
Cloudflare, Inc.(switflow.app 호스팅)1절의 원격 설정 항목(통신 정보)미국 등 Cloudflare가 공개한 국가(가까운 데이터센터에서 응답) · 원격 설정 파일을 받을 때 · 암호화된 네트워크 통신원격 설정 파일 제공 · 6절의 보유 기간 (cloudflare.com/privacypolicy)

이용자는 광고 개인정보 선택·추적 허용을 거부하거나, 미국 일부 주에서는 개인정보 판매·공유를 거부해(12절) Google로의 광고 관련 이전·이용을 제한할 수 있으며, 이 경우에도 광고 없이 핵심 게임을 이용할 수 있습니다. 앱 시작 시 Google UMP 동의 상태 확인, 앱 실행·복귀 시 RevenueCat 구매 기록 확인, 원격 설정 파일 요청을 위한 이전은 이 선택과 관계없이 이루어지며, 인앱 구매 시에는 구매 처리를 위한 이전이 필요합니다.

8. 이용자의 권리와 행사 방법

  • 게임 이용 분석: 현재 버전은 수집하지 않습니다. 분석 기능을 켠 버전에서는 설정의 [게임 이용 분석]에서 언제든 켜거나 끌 수 있으며, 끄면 서버 삭제를 요청합니다(3절).
  • 광고 개인정보 선택: 동의가 필요한 지역과, 개인정보 판매·공유 거부 선택을 제공하는 미국 일부 주에서는 설정의 [광고 개인정보 선택]에서 다시 선택할 수 있습니다(미국 주는 이를 지원하는 앱 버전부터, 12절).
  • 맞춤형 광고 제한: iOS [설정 → 개인정보 보호 및 보안 → 추적], Android [설정 → Google → 광고]에서 추적 허용을 끄거나 광고 식별자를 재설정·삭제할 수 있습니다.
  • 캠페인 진행만 다시 시작하려면 [캠페인 진행 초기화], 이 기기에 본 게임이 저장한 데이터를 모두 지우려면 [기기 게임 데이터 전체 삭제]를 사용할 수 있습니다.
  • 그 밖의 열람·정정·삭제·처리정지 요청은 아래 문의처로 보내 주세요. 본 게임은 계정이 없으므로, 요청 시 대상 기기를 확인할 수 있는 정보(예: 구매 영수증의 거래 식별자)를 함께 알려 주시면 처리에 도움이 됩니다.

9. 개인정보의 안전성 확보조치

본 게임은 이름·연락처를 처리하지 않고 무작위로 만든 식별자만 사용합니다. 외부 서비스와의 통신은 HTTPS로 암호화하며, 기기 데이터는 운영체제가 제공하는 앱 저장소에 보관합니다. 원격 설정 파일을 올리는 웹사이트의 관리 권한은 운영에 필요한 인원으로 제한합니다.

10. 아동의 개인정보

본 게임은 이용자의 연령 정보를 수집하지 않으며, 만 14세 미만 아동으로부터 직접 식별 정보를 수집하지 않습니다. 아동 이용자의 법정대리인은 아래 문의처로 8절의 권리를 행사할 수 있습니다.

11. 개인정보 보호책임자 및 문의처

개인정보 보호책임자
김삼열(대표)
처리자
스윗플로우(대표 김삼열), 부산광역시 남구 전포대로 133, 4208호 (48400)
연락처
support@switflow.app

개인정보 침해 관련 상담·신고: 개인정보침해신고센터(privacy.kisa.or.kr, 국번없이 118), 개인정보분쟁조정위원회(kopico.go.kr, 1833-6972), 대검찰청 사이버수사과(spo.go.kr, 1301), 경찰청 사이버수사국(ecrm.police.go.kr, 182)

12. 미국 일부 주 거주자를 위한 추가 고지

캘리포니아(CCPA·CPRA), 버지니아, 콜로라도, 코네티컷, 텍사스, 오리건 등 미국 일부 주의 개인정보 보호법은 맞춤형 광고(교차 맥락 행동 광고·타깃 광고)를 위해 개인정보를 제3자에게 제공하는 것을 개인정보의 “판매” 또는 “공유”로 보고, 이를 거부할 권리를 줍니다. 이 절은 해당 주 거주자에게, 그 법률이 본 게임에 적용되는 범위에서 적용됩니다.

  • 판매·공유할 수 있는 정보와 받는 자: 본 게임은 광고를 보여 줄 때 1절의 광고 식별자(IDFA/GAID), 앱 세트 ID, IP 주소와 IP 기반 대략적 위치, 광고 노출·상호작용 기록, 광고 SDK의 진단 정보를 Google AdMob과, AdMob을 통해 광고를 내는 광고 기술 업체에 제공합니다. 이 정보는 맞춤형 광고와 그 측정에 쓰일 수 있어, 지난 12개월 동안과 앞으로 위 법률상 “판매” 또는 “공유”에 해당할 수 있습니다. 그 밖의 목적으로는 개인정보를 판매·공유하지 않습니다. 7절에서 구매 처리와 원격 설정 제공을 위해 하는 이전은 판매·공유가 아닙니다.
  • 거부하는 방법: [설정 → 광고 개인정보 선택]에서 “Do Not Sell or Share My Personal Information”을 열고 [Opt out]을 누르세요. 거부하면 그 선택이 이 기기의 광고 요청에 거부 신호(GPP)로 실려 Google과 광고 파트너에 전달되고, Google은 이전 행동에 기반한 맞춤형 광고를 보내지 않습니다. 맞춤형이 아닌 광고는 계속 표시될 수 있습니다. 이 선택은 이 기기의 이 앱에 저장되므로, 앱을 다시 설치하거나 다른 기기에서 이용할 때는 다시 선택해 주세요. 앱 안의 거부 선택은 이를 지원하는 앱 버전부터 표시되므로, 보이지 않으면 앱을 최신 버전으로 업데이트하거나 아래 다른 방법을 이용해 주세요.
  • 추가 제한: iOS에서 추적 허용을 끄거나 Android에서 광고 ID를 삭제하면 광고 식별자가 광고 SDK에 전달되지 않습니다(8절).
  • 이메일 요청: support@switflow.app으로도 거부를 요청할 수 있습니다. 본 게임은 계정이 없고 개발자가 광고 식별자를 보관하지 않아 특정 기기의 광고 요청을 원격으로 바꿀 수 없습니다. 그래서 받은 요청에는 위 앱 안에서 거부하는 방법을 안내합니다.
  • 거부 신호: 본 게임은 웹 브라우저가 아니므로 GPC(Global Privacy Control) 같은 브라우저 신호를 받지 않습니다. 앱에서는 [광고 개인정보 선택]을 이용해 주세요.
  • 미성년자·민감한 정보: 본 게임은 나이를 수집하지 않으며, 16세 미만 이용자의 개인정보를 판매·공유한다는 사실을 실제로 알고 있지 않습니다. 정밀 위치 등 위 법률상 민감한 개인정보는 수집하지 않습니다.
  • 그 밖의 권리: 처리하는 개인정보의 확인(열람)과 사본, 정정, 삭제를 요청할 수 있으며, 권리를 행사했다는 이유로 차별받지 않습니다. 요청은 11절의 문의처로 보내 주세요. 계정이 없으므로 대상 기기를 확인할 수 있는 정보(예: 구매 영수증의 거래 식별자)로 요청을 확인합니다. 대리인이 요청할 때는 이용자가 위임한 사실을 함께 보내 주세요. 해당 법률이 정한 기간(대개 45일) 안에 답합니다.
  • 이의 제기: 요청에 대한 결정에 동의하지 않으면 같은 문의처로 이의를 제기할 수 있으며, 결과와 이유를 해당 법률이 정한 기간 안에 알립니다. 이의 제기 결과에도 동의하지 않으면 거주하는 주의 법무장관실(Attorney General)에 민원을 낼 수 있습니다.

13. 방침의 변경

본 방침이 바뀌면 이 페이지에 새 시행일과 버전을 표시해 알리고, 앱 안의 요약본은 다음 앱 업데이트에서 같은 버전으로 맞춥니다.

버전 1.7(2026-10-27)의 주요 변경: 미국 일부 주 개인정보 보호법상, 맞춤형 광고를 위해 Google AdMob에 정보를 제공하는 것이 개인정보의 “판매”·“공유”에 해당할 수 있다는 점과 그 정보·제3자의 범주, 앱의 [광고 개인정보 선택]과 문의처로 거부하는 방법, 열람·정정·삭제와 이의 제기 절차를 12절에 적었습니다(이전 12절은 13절로 옮김). 처리하는 정보와 목적, 처리자는 바뀌지 않았습니다.

버전 1.6(2026-10-13)의 주요 변경: 이용자가 운영체제의 기기 백업(Android의 Google 계정 백업, Apple의 iCloud 백업·컴퓨터 백업)을 켠 경우 앱이 기기에 저장한 데이터가 그 백업에 복사되고 복원될 수 있다는 점, 개발자가 이 백업에 접근할 수 없다는 점, 백업을 끄거나 삭제하는 방법을 6절에 적었습니다. 처리하는 정보와 목적, 처리자는 바뀌지 않았습니다.

버전 1.5(2026-10-12)의 주요 변경: 개발자 구매·광고 보상 확인 서버와 AdMob 서버 측 보상 확인(SSV)을 쓰지 않고, RevenueCat이 검증한 구매와 광고 SDK의 보상 알림을 기기에서 한 번만 지급하도록 바꿨습니다. 현재 버전은 게임 이용 분석을 수집·전송하지 않으므로 분석 서버 항목·보유 기간·수탁자를 현재 처리 범위에서 뺐습니다. 원격 설정은 switflow.app(Cloudflare 호스팅)에 올린 파일로 제공하며, 전면 광고는 이 설정으로만 켤 수 있습니다. RevenueCat 처리 항목에 구매 시각과 서명 검증을 적었고, 재설치·데이터 삭제 뒤 복원 범위(영구 상품만)를 고지했습니다.

English

NIGHTDOME Privacy Policy

Effective 2026-10-27 · Version 1.7

SwitFlow (represented by Samyeol Kim; “we”) operates NIGHTDOME (“the game”). This policy explains what information the game processes and why, in line with the Korean Personal Information Protection Act and other applicable laws. The game never asks for your name, email, phone number, or other contact details, and your progress and settings are stored on your device. [Settings → Privacy Policy] in the app is a summary of this document. If the Korean and English versions differ, the Korean version prevails.

1. Information processed and why

InformationWho processes it, and whenPurpose
Game progress and scores, currency and items, settings, a random install ID and install date, save creation time, and a record of granted purchases and ad rewards (local ledger: transaction ID, product, purchase time, ad reward receipt ID)Your device (game storage)Running the game, saving progress, preventing duplicate grants
IP address, device and app information, ad consent status and choicesGoogle UMP (User Messaging Platform) — at app start and when you reopen the ad privacy choicesChecking whether consent is required in your region; deciding whether ads may be requested; recording and passing on the opt-out of sale or sharing chosen by residents of certain US states
Advertising ID (IDFA/GAID, subject to your OS settings and iOS tracking permission), app set ID, device model and OS version, approximate location from IP, ad impressions and interactions, and app and ad SDK performance and diagnostic information (such as launch time)Google AdMob — after UMP allows ad requests, when the ad SDK starts and when a rewarded or interstitial ad is requested or shownServing rewarded and interstitial ads (including personalized ads where your choices and local law allow) and measuring them; fraud prevention
Payment method and payment details, purchase receipts and transaction IDsApple App Store / Google Play — when you make a purchaseProcessing payments, refunds, and restores
Purchase receipts, transaction IDs, product information and purchase time, buyer ID (app_user_id = the random install ID)RevenueCat — on purchase and restore, and when the app starts or returns to the foreground to check purchase records (requests also carry the device model, OS version, language, store country and app version)Verifying receipts (including signature verification), managing and restoring purchases
IP address, OS type and other connection details that come with the requestCloudflare (hosting for switflow.app) — when the app downloads its remote configuration file: at launch, about every 4 minutes while open, and on returnSwitching ad and purchase features on or off; emergency shutdown during incidents

This version has no developer-run server for purchase or ad-reward verification or for analytics. Remote configuration is a file published on the developer’s website (switflow.app); the app only downloads it and sends no install ID or other value that identifies you. Purchases are granted once, on the device, for transactions RevenueCat has verified; rewarded ads are granted once, on the device, when the ad SDK reports that the reward was earned. None of this is sent to a developer server. Communication with ad and payment services, and the remote configuration download, include the information any network connection needs, such as your IP address.

2. Gameplay analytics (consent-based)

This version does not collect or send gameplay analytics. There is no analytics option in Settings, no analytics queue is created on the device, and any queue left by an earlier version is deleted. This section and section 3 describe how a future version with analytics would work; before such a version ships, we will update this policy first and mark its effective date and version.

In a version with analytics, [Game usage analytics] in Settings is a choice separate from the ad privacy choices and is off by default. The items below are sent to the analytics server only if you turn it on — that is, only with your consent to gameplay analytics. Play from before you consented is never collected retroactively. If saving your choice or clearing the queue fails, the game stays in the least-permissive state and does not start collecting or sending.

CategoryInformation in analytics events
All eventsRandom event number, random analytics ID, session ID, event time, device date and time-zone offset (minutes from UTC), build, content and ruleset versions, distribution channel and production/review flag, review mode, acquisition source, platform (OS type) and language, install date, experiment group and remote-config version
SessionsTime of analytics consent, first launch, session start and session count, session end when the app goes to the background
Operations and inputOperation start (stage, mode, battle seed, loadout, screen size), operation results (win/loss, score, interception and damage stats, continues, items used, gems granted), results of repeatable operations such as weekly and training runs, item use (source, elapsed time, city health, visible threats), tutorial steps, and input summaries such as first shot and chained shots
CurrencyGem and item changes and the resulting balance, and the reason (including related product ID, ad placement, stage)
AdsRewarded ad offers (placement, offer key, stage) and whether you chose to watch, ad lifecycle steps (load, show, reward, close, expire, etc.) with a random attempt number, error codes and latency, and the ad reward result (reward, and a hash of the ad reward receipt ID)
Store and purchasesStore impressions (product IDs and store price strings of products shown), purchase requests (product ID and store price string of the product tapped), purchase results (product ID and a hash of the transaction ID)
DeliveryNumber of events dropped without being sent, and a random token used to confirm deletion requests (the server stores only its hash)

Analytics events never include your name, contact details, card number or other payment details, or raw purchase receipts. Transaction IDs and ad reward receipt IDs are sent only as SHA-256 hashes. Store impression and purchase request events do include the product ID and the price string shown by the store (for example ₩2,900), so together with the purchase result they show which product was bought at which displayed price.

Events waiting to be sent are kept in an on-device queue (up to 500 events) and removed once the server confirms receipt. When the queue is full, the oldest events are dropped first; a batch the server rejects as malformed three times in a row is dropped rather than resent. Only the number of dropped events is sent later.

3. Withdrawing analytics consent and server deletion

This version does not collect analytics, so there is no consent to withdraw. In a version with analytics:

  • Turning off [Game usage analytics] stops collection immediately, empties the on-device queue, and asks the analytics server to delete the data for that random analytics ID.
  • If you are offline, the device keeps only that random analytics ID and a random deletion token for retrying until the server confirms deletion, and retries once you are connected.
  • The server keeps a deletion marker for that ID so that late-arriving data cannot bring deleted records back. The marker’s retention period will be set in the policy for the version that enables analytics.
  • Ad and store receipts, and deletion of accounts with those services, follow each provider’s procedures (section 7).

4. Ads

  • The game has rewarded ads you choose to watch. Interstitial ads can be switched on only through remote configuration and are currently off. If they are switched on, they appear only when you leave a battle result screen, following the display interval and minimum time gap set in the remote configuration.
  • No ad is loaded until Google UMP allows ad requests. In regions where consent is required, and in certain US states that offer an opt-out of the sale or sharing of personal information, you can review or change your choice in [Ad privacy choices] in Settings (for US states, from the app version that supports it; section 12).
  • On iOS, whether the advertising ID is used depends on your answer to the system’s App Tracking Transparency (ATT) prompt.
  • The ad-removal product (removes interstitials) is offered only if interstitials are switched on; if you buy it, interstitial ads are no longer shown. Rewarded ads remain an optional feature you use only when you want to.
  • Rewards from rewarded ads are granted once, on the device, exactly as offered before you watched, when the ad SDK reports the reward was earned. Server-side verification (SSV) is not used; ad requests carry only a random number that tells requests apart, and the install ID is not sent to Google.
  • If you decline ads or withdraw consent, the core game remains fully playable without ads.

5. In-app purchases

Payments for gem bundles, the starter pack, cosmetic items such as city themes, and the ad-removal product are processed by the Apple App Store or Google Play; we never receive your card number or other payment details. RevenueCat verifies purchase receipts (including signature verification), and the game grants each verified transaction once, on the device. No developer server receives purchase information. You can restore purchases from [Restore purchases] in Settings. After reinstalling the app or deleting the game data on your device, permanent items such as city themes and the ad-removal product are restored; consumables that were already granted, such as gem bundles and the starter pack, are not granted again. Refunds follow each store’s policies and procedures.

6. Retention and deletion

InformationRetention
Game data and local ledger on your deviceUntil you delete it or uninstall the app
Connection details of remote configuration requestsWe keep no individual access logs · information Cloudflare processes follows Cloudflare’s policy
Information processed by Google, Apple, and RevenueCatAs set by each provider’s policies and agreements

[Settings → Reset Campaign Progress] resets campaign progress only. It keeps the install ID, install date, currency, purchase and reward ledgers, settings, and so on, so it is not a full data deletion. [Settings → Delete all game data on this device] deletes everything the game stored on this device, including progress, currency, ledgers, settings, and the install ID (if an earlier analytics-enabled version ever sent analytics data, it also requests server deletion under that version’s procedure). If deletion does not complete, it is not shown as successful and you can retry. After deletion, only permanent items can be brought back with [Restore purchases]. Deleting device data does not by itself delete data held by outside processors; for that, use the provider’s own privacy and deletion tools or contact us below.

If you have turned on your operating system’s device backup (Android backup to your Google Account, or Apple’s iCloud Backup or a backup to your computer), the operating system may copy data the app stored on your device (game progress, currency, settings, the random install ID, the local ledger, and the like) into that backup. The backup is kept in your Google or Apple account or on your computer and managed by you; backups in your account follow Google’s or Apple’s terms and policies. We cannot access this backup. [Delete all game data on this device] and uninstalling the app do not delete a backup that already exists, and if you restore a backup or transfer your data when you reinstall the app or set up a new device, this data may be stored on the device again. You can turn off or delete backups in your device, account, or computer backup settings.

7. Processors and international transfers

RecipientInformationCountry, timing, methodPurpose and retention
Google LLC (UMP, AdMob)The UMP and AdMob items in section 1The United States and other countries Google discloses · consent check at app start, and when ads are requested or shown · encrypted network connectionConsent management, ad serving, measurement, and fraud prevention (Google may also use this information under its own policies to provide and improve its ad services) · per Google’s policies and agreements (policies.google.com/privacy)
RevenueCat, Inc.Purchase receipts, transaction IDs, product information and purchase time, random install ID (app_user_id)United States · purchase-record check at launch and on return, and on purchase or restore · encrypted network connectionReceipt verification and purchase management · per RevenueCat’s policies and agreements (revenuecat.com/privacy)
Apple Inc. / Google LLC (store payments)Payment details and purchase receiptsEach provider · at purchasePayment processing and refunds · per each provider’s policies
Cloudflare, Inc. (hosting for switflow.app)The remote configuration item in section 1 (connection details)The United States and other countries Cloudflare discloses (answered from a nearby data center) · when the configuration file is downloaded · encrypted network connectionDelivering the configuration file · retention in section 6 (cloudflare.com/privacypolicy)

You can limit the ad-related transfers to Google and their use by declining the ad privacy choices and tracking permission or, in certain US states, by opting out of the sale or sharing of personal information (section 12), and the core game stays playable without ads. The Google UMP consent check at each app start, the RevenueCat purchase-record check at launch and on return, and the remote configuration download happen regardless of these choices, and in-app purchases require the transfers needed to process them.

8. Your rights and how to use them

  • Gameplay analytics: not collected in this version. In a version with analytics, you can turn [Game usage analytics] on or off in Settings at any time; turning it off requests server deletion (section 3).
  • Ad privacy choices: in regions where consent is required, and in certain US states that offer an opt-out of the sale or sharing of personal information, you can choose again in [Ad privacy choices] in Settings (for US states, from the app version that supports it; section 12).
  • Limiting personalized ads: turn off tracking or reset or delete your advertising ID in iOS [Settings → Privacy & Security → Tracking] or Android [Settings → Google → Ads].
  • Use [Reset Campaign Progress] to restart the campaign only, or [Delete all game data on this device] to remove everything the game stored on this device.
  • For any other request to access, correct, delete, or stop processing your information, contact us below. The game has no accounts, so including something that identifies your device (for example, the transaction ID from a purchase receipt) helps us handle your request.

9. Security

The game does not process names or contact details and uses only randomly generated identifiers. Communication with outside services is encrypted with HTTPS, and device data is kept in the app storage provided by the operating system. Administrative access to the website that hosts the remote configuration file is limited to the people who need it to operate the service.

10. Children

The game does not collect age information and does not directly collect identifying information from children under 14. A child’s legal guardian can exercise the rights in section 8 through the contact below.

11. Privacy officer and contact

Privacy officer
Samyeol Kim (Representative)
Controller
SwitFlow (Representative: Samyeol Kim), Room 4208, 133 Jeonpo-daero, Nam-gu, Busan 48400, Republic of Korea
Contact
support@switflow.app

Users in Korea may also contact the Personal Information Infringement Report Center (privacy.kisa.or.kr, 118), the Personal Information Dispute Mediation Committee (kopico.go.kr, 1833-6972), the Supreme Prosecutors’ Office Cyber Investigation Division (spo.go.kr, 1301), or the Korean National Police Agency Cyber Bureau (ecrm.police.go.kr, 182).

12. Additional notice for residents of certain US states

Privacy laws in certain US states, such as California (CCPA/CPRA), Virginia, Colorado, Connecticut, Texas, and Oregon, treat providing personal information to third parties for personalized advertising (cross-context behavioral or targeted advertising) as a “sale” or “sharing” of personal information and give you the right to opt out. This section applies to residents of those states, to the extent those laws apply to the game.

  • What may be sold or shared, and to whom: when the game shows an ad, it provides the advertising ID (IDFA/GAID), app set ID, IP address and approximate location from IP, ad impressions and interactions, and the ad SDK’s diagnostic information described in section 1 to Google AdMob and to the ad technology companies that serve ads through AdMob. Because this information may be used for personalized ads and their measurement, this may count as a “sale” or “sharing” under those laws, in the past 12 months and going forward. We do not sell or share personal information for any other purpose. The transfers in section 7 for processing purchases and delivering the remote configuration are not a sale or sharing.
  • How to opt out: open “Do Not Sell or Share My Personal Information” from [Settings → Ad privacy choices] and tap [Opt out]. Your choice is then sent as an opt-out signal (GPP) with this device’s ad requests to Google and its ad partners, and Google does not serve ads based on your past behavior. Ads that are not personalized may still appear. The choice is stored in this app on this device, so please choose again if you reinstall the app or play on another device. The in-app choice appears from the app version that supports it; if you do not see it, update the app to the latest version or use one of the other methods below.
  • Further limits: turning off tracking on iOS or deleting your advertising ID on Android stops the advertising ID from reaching the ad SDK (section 8).
  • Email requests: you can also ask to opt out at support@switflow.app. The game has no accounts and we do not keep advertising IDs, so we cannot change a particular device’s ad requests remotely; we reply with the in-app steps above.
  • Opt-out preference signals: the game is not a web browser, so it does not receive browser signals such as Global Privacy Control (GPC). In the app, please use [Ad privacy choices].
  • Minors and sensitive information: the game does not collect age and has no actual knowledge that it sells or shares the personal information of users under 16. It does not collect sensitive personal information under those laws, such as precise location.
  • Other rights: you can ask to confirm (access) and receive a copy of, correct, or delete the personal information we process, and you will not be discriminated against for exercising your rights. Send requests to the contact in section 11. Because there are no accounts, we verify a request with information that identifies the device (for example, the transaction ID from a purchase receipt). An authorized agent should include proof that you authorized them. We respond within the period the applicable law sets (usually 45 days).
  • Appeals: if you disagree with our decision on a request, you can appeal through the same contact, and we will tell you the result and the reasons within the period the applicable law sets. If you still disagree after the appeal, you can contact the Attorney General of your state.

13. Changes to this policy

When this policy changes, we show the new effective date and version on this page, and the in-app summary is updated to the same version in the next app update.

Main changes in version 1.7 (2026-10-27): section 12 now explains that, under privacy laws in certain US states, providing information to Google AdMob for personalized ads may count as a “sale” or “sharing” of personal information, the categories of that information and of the third parties, how to opt out through [Ad privacy choices] in the app or by contacting us, and how to request access, correction, or deletion and appeal (the former section 12 is now section 13). The information we process, its purposes, and our processors are unchanged.

Main changes in version 1.6 (2026-10-13): section 6 now explains that if you turn on your operating system’s device backup (Android backup to your Google Account, Apple’s iCloud Backup or a computer backup), data the app stored on your device may be copied into that backup and restored from it, that we cannot access the backup, and how to turn it off or delete it. The information we process, its purposes, and our processors are unchanged.

Main changes in version 1.5 (2026-10-12): the developer’s purchase and ad-reward verification server and AdMob server-side verification (SSV) were replaced by granting RevenueCat-verified purchases and ad SDK reward callbacks once on the device. Because this version does not collect or send gameplay analytics, the analytics server, its retention period, and its processor were removed from the current scope. Remote configuration is now a file published on switflow.app (hosted by Cloudflare), and interstitial ads can be switched on only through it. Purchase time and signature verification were added to the RevenueCat entries, and the restore scope after reinstalling or deleting data (permanent items only) is now stated.