주식회사 아르고존(이하 "회사")는 모바일 게임 "아자아자 매치"(영문명 Azaza Match, 이하 "게임")를 제공하면서 이용자의 개인정보를 「개인정보 보호법」 등 관련 법령에 따라 처리합니다. 이 방침은 게임이 어떤 정보를 왜 처리하는지, 얼마나 보관하는지, 이용자가 무엇을 요청할 수 있는지를 설명합니다.
요약: 게임은 회원가입이나 로그인 없이 시작합니다. Android에서 Google Play 게임즈 프로필이 있으면 게임 계정을 그 프로필에 자동으로 연결해, 기기를 바꾸거나 앱을 다시 설치해도 진행과 산 젬을 이어 줍니다(1-6). 이때 처리하는 Play 게임즈 닉네임과 프로필 이미지 주소 말고는 이름, 이메일, 전화번호, 정확한 위치, 연락처, 사진은 수집하지 않습니다. 게임 진행을 지키기 위한 익명 식별자와 진행 기록, 게임을 고치고 다듬기 위한 플레이 통계와 오류 보고를 Google Firebase를 통해 처리합니다. 게임은 무료이고, 원하는 이용자는 게임 안에서 젬 팩 같은 상품을 살 수 있습니다. 결제는 Android에서는 Google Play가, iPhone에서는 Apple의 App Store가 처리하므로 회사는 카드 번호 같은 결제 정보를 받지 않습니다. 구매가 있으면 회사 서버가 그 구매가 실제로 결제된 것인지 Google Play나 App Store에 확인한 뒤 산 것을 주고, 부정 사용을 막고 환불을 처리하고 법령이 정한 거래 기록을 남기기 위해 구매 기록(상품, 주문 번호나 거래 ID, 구매 시각, 플레이어 ID 등)을 구매일부터 5년 동안 보관합니다. Android 게임에는 이용자가 광고 버튼을 눌러 고를 때만 보이는 보상형 광고가 있고, 광고는 Google AdMob이 보여 줍니다(iPhone 게임에는 지금 광고가 없고, 게임은 iPhone에서 추적 허락을 묻지 않으며 광고 식별자(IDFA)를 받지 않습니다). 광고가 켜진 동안 게임에 들어 있는 Google의 광고 SDK는 광고 ID, IP 주소(대략적인 위치를 추정하는 데 쓰일 수 있습니다), 앱과 광고에서의 상호작용, 진단 정보를 광고 제공, 맞춤형 광고, 광고 성과 측정, 사기 방지를 위해 Google에 보냅니다. 광고를 위해 처음 한 번 묻는 태어난 해는 휴대전화에만 두며, 만 14세 미만일 수 있거나 답하지 않은 이용자에게는 맞춤형이 아닌 광고만 보입니다. 맞춤형 광고는 기기 설정의 광고 ID 삭제로, 유럽·영국·스위스에서는 게임 설정의 "개인정보 옵션"으로도 거부할 수 있습니다(1-9, 5항). 게임 계정과 그 기록은 게임의 설정에 있는 "계정 삭제"로 언제든지 바로 지울 수 있습니다(게임 버전 0.22.0부터, 6항).
1. 처리하는 정보와 목적
1-1. 게임 진행 저장 (클라우드 세이브)
| 항목 | 익명 계정 식별자(플레이어 ID), 게임이 설치마다 무작위로 만든 설치 식별자, 깬 스테이지 수, 스테이지마다 받은 별 수와 보너스 스테이지 기록, 골드·젬(구매로 받은 젬 포함)·라이프와 라이프 충전 시각, 무한 라이프의 남은 시간(1-5의 상품으로 받은 경우), 연승 수, 오늘의 미션과 그 진행 정도, 그 주의 도장과 주간 상자, 응원 탑의 그 주 기록(최고 층, 도전 수, 왕관 수)과 진행 중인 도전(층, 게이지, 든 응원 카드), 아자 패스의 진행(시즌 번호, 점수, 무료·프리미엄 보상 줄에서 받은 칸과 30단계 뒤에 더 받은 횟수), 가진 장비와 착용·강화 상태, 열쇠 수와 상자 보장 횟수, 치어링 앨범에 모은 카드(카드마다 응원한 수와 앨범에서 본 단계), 저장한 폰의 운영체제 종류(Android 또는 iOS), 저장 번호, 서버 저장 시각 |
|---|---|
| 목적 | 앱을 지웠다 다시 설치하거나 기기를 바꿀 때 진행을 이어 주기 위해서입니다. 또한 개인을 알아볼 수 없는 합계(스테이지별 플레이어 수, 최근 저장한 플레이어 수, 젬·골드 합계와 중앙값 등)로 만들어 게임 운영과 난이도 조정에 씁니다. |
| 수집 방법 | 게임을 처음 실행할 때 Firebase 인증으로 익명 계정이 자동으로 만들어지고(이용자가 입력하는 정보는 없습니다), 진행이 바뀔 때마다 그 계정의 저장 공간에 올라갑니다. Android에서 Google Play 게임즈 프로필이 있으면 이 익명 계정이 그 프로필에 자동으로 연결되고, 새 기기나 다시 설치한 앱에서는 연결된 계정으로 들어와 그 계정의 진행을 불러옵니다(1-6). |
| 필수 여부 | 게임 기능에 필요합니다. 인터넷이 없으면 기기에만 저장되고 나중에 올라갑니다. |
1-2. 플레이 통계 (Google Analytics for Firebase)
| 항목 |
게임 안의 행동 기록: 스테이지 시작·클리어·실패·중단(스테이지 번호, 난이도, 남은 무브, 이어하기 횟수, 고른 카드 수, 전투력), 응원 카드 선택, 이어하기 제안과 사용, 기능 해금, 규칙 안내의 표시와 완료, 특수 타일을 처음 쓴 때, 장애물 소개, 상자 열기와 나온 장비 등급, 장비 착용 제안과 응답, 장비 합성 제안과 응답, 보너스 스테이지의 열림·시작·클리어·실패, 오늘의 미션 완료와 주간 상자, 응원 탑 도전의 시작·층마다의 결과·끝, 아자 패스의 새 단계 도달(시즌, 단계)·보상 받기(시즌, 단계, 무료·프리미엄 줄, 받은 보상)·지난 시즌 보상의 정산(시즌, 정산한 칸 수), 처음부터 다시 하기, 젬 상점 열기(연 곳과 상점 상태)와 구매 시도(고른 상품, 회사 서버의 확인 결과를 포함한 결과, 연 곳, 테스트 구매인지), 이어하기 팩 제안(스테이지와 난이도)과 응답, 무한 라이프를 받은 때(받은 상품과 시간), 환불된 구매의 회수(회수할 젬 수와 실제로 회수한 젬 수, 또는 거둔 영구 상품의 상품 ID, 환불된 아자 패스 프리미엄이면 그 시즌과 거둔 젬 수), Google Play 게임즈 연결의 결과(새로 연결함, 전에 연결됨, 연결된 계정으로 옮겨 감, 로그인되지 않음, 쓸 수 없음, 실패와 짧은 사유 코드. Play 게임즈 닉네임은 넣지 않습니다), 구매 젬 이어 쓰기의 결과(이어 썼는지, 이어 쓴 젬 수와 구매 수), 앱이 비정상적으로 끝난 기록(Android가 남긴 종료 이유와 그때의 메모리 사용량, iPhone은 iOS가 MetricKit으로 알려 주는 충돌·멈춤·종료의 종류). Firebase가 자동으로 수집하는 정보: 앱 인스턴스 ID, Android 광고 ID(기기 설정에서 허용된 경우), iPhone의 공급업체 식별자(IDFV: 같은 회사의 앱끼리만 같은 값인 iOS의 기기 식별자), 기기 모델, 운영체제 버전, 앱 버전, 언어, IP 주소로 추정한 국가·지역 수준의 위치, 첫 실행·세션·이용 시간 같은 앱 이용 기록, Google Play와 App Store의 인앱 구매(상품 ID, 가격, 통화, 수량). iPhone에서는 게임이 추적 허락(앱 추적 투명성, ATT)을 묻지 않으므로 iPhone의 광고 식별자(IDFA)는 수집되지 않습니다. |
|---|---|
| 광고 기록 | 광고가 켜진 동안(1-9): 광고 자리(라이프, 이어하기, 카드 다시 뽑기, 무료 상자)마다 광고를 요청한 결과(미리 불러 둔 광고가 있었는지), 보인 광고가 보상까지 갔는지, 광고가 오지 않은 까닭(광고 없음, 인터넷 없음, 시간 초과, 동의 없음 등), 보상을 받은 방법(광고를 보고, 광고가 없어 그냥, 또는 광고 없이 받기로), "광고 없이 받기" 안내 카드에 대한 응답, 보인 광고를 눌렀는지(클릭), 보인 광고 한 번이 낸 추정 수익(광고 SDK가 앱에 알려 주는 금액·통화·정확도). 그리고 Firebase가 Google 모바일 광고 SDK와 함께 자동으로 남기는 광고 요청·노출·클릭·보상(광고 단위와 보상 값)과 광고가 화면에 보인 시간. 나이 확인의 답은 넣지 않습니다. |
| 목적 | 스테이지 난이도 조정, 어디서 막히는지와 어떤 기능이 쓰이는지 파악, 젬 상점 이용과 판매, 구매 확인과 환불 회수, Google Play 게임즈 연결과 구매 젬 이어 쓰기가 제대로 되는지 파악, 오류 발견 등 게임 개선, 그리고 광고가 켜진 뒤에는 광고 자리가 제대로 되는지(광고가 오는지, 보상까지 가는지)와 광고 수익 파악, 한 사람이 광고를 지나치게 많이 누르는 일(부정 클릭)이 있는지 살피기. 이 통계로 광고를 고르거나 맞춤하지 않고, 마케팅에 쓰지 않으며, 광고 회사에 넘기지 않습니다(광고 SDK가 Google에 직접 보내는 정보는 1-9). |
| BigQuery 사본 | 위의 기록은 광고 ID를 뺀 채 하루 한 번 회사의 Google BigQuery 저장 공간(대한민국 서울 리전)으로 내보내집니다. 회사는 여기서 개인을 알아볼 수 없는 합계(날마다 이용한 사람 수, 스테이지별 시작·클리어·실패 수, 세션 수와 길이, 국가·앱 버전별 이용자 수 등)만 뽑아 대표이사만 볼 수 있는 운영 화면에 씁니다. 사본은 60일이 지나면 자동 삭제됩니다(2항, 4항). |
| 필수 여부 | 앱이 실행되면 자동으로 수집됩니다. 광고 ID는 기기 설정에서 삭제·재설정할 수 있습니다(5항). |
1-3. 오류 보고 (Firebase Crashlytics)
| 항목 | 앱 오류·비정상 종료의 내용과 위치(스택 트레이스), 기기 제조사·모델, 운영체제 버전, 앱 버전, 화면 방향, 남은 메모리와 저장 공간, Crashlytics 설치 식별자, 플레이어 ID, 오류 직전의 게임 상황(보던 화면, 스테이지 번호, 보드 크기와 색 수, 남은 무브, 앱이 앞·뒤에 있었는지, 최근 게임 안 사건 몇 줄, 직전 종료 이유), 회사 서버가 구매를 확인해 주지 않았을 때는 그 상품, 이유, Google Play 주문 번호(iPhone은 App Store 거래 ID)(Google Play의 구매 토큰은 넣지 않습니다). iPhone에서는 iOS가 MetricKit으로 다음 실행 때 알려 주는 지난 충돌·멈춤·종료 기록(앱 빌드, iOS 버전, 코드 위치)도 보냅니다 |
|---|---|
| 목적 | 오류와 비정상 종료의 원인을 찾아 고치기 위해서입니다. 플레이어 ID는 이용자가 문의할 때 해당 보고를 찾기 위해 붙이고, 확인되지 않은 구매의 주문 번호는 구매 확인의 문제를 찾고 구매 문의를 처리하기 위해 붙입니다. |
| 필수 여부 | 오류가 났을 때 자동으로, 보통 다음 실행 때 전송됩니다. |
1-4. 원격 설정 (Firebase Remote Config)
라이프 수, 이어하기 무브, 스테이지 체력 배율 같은 게임 수치와 젬 상점을 열지, 광고를 켤지(1-9) 여부를 앱 업데이트 없이 조정하려고, 앱이 실행할 때마다, 그리고 실행 중에는 12시간마다 설정값을 받아 옵니다. 젬 상점을 열고 닫는 설정이 곧바로 반영되도록, 앱이 실행되는 동안에는 Firebase와 연결을 유지해 설정이 바뀌었다는 알림을 실시간으로 받습니다. 이때 Firebase 설치 식별자와 앱 버전 등 기술 정보가 처리됩니다.
1-5. 게임 안 구매 (Google Play 결제, App Store 결제)
| 파는 상품 | 게임 안에서 파는 상품은 네 종류입니다: 젬을 주는 젬 팩(셋째 팩부터는 정해진 시간 동안의 무한 라이프가 덤으로 붙습니다), 젬과 정해진 시간 동안의 무한 라이프를 함께 주는 이어하기 팩(무브가 떨어진 스테이지에서 사면 그 판의 무브도 더해집니다), 한 번 사면 계속 쓰는 "광고 없이 받기"(보상형 광고를 보고 받는 라이프·이어하기·카드 다시 뽑기를 광고 없이 바로 받는 권리로, 게임에 보상형 광고가 들어간 뒤부터 상점에 나옵니다), 그리고 시즌마다 사는 "아자 패스 프리미엄"(28일 시즌 동안 아자 패스의 프리미엄 보상 줄(젬, 골드, 무한 라이프, 시즌 머리띠)을 열고 라이프 최대 수를 늘리는 상품으로, 산 시즌에만 쓰이고 정기 결제가 아니어서 자동으로 갱신되지 않습니다. 구매 후 7일 안에 프리미엄 보상을 하나도 받지 않았다면 청약철회할 수 있고, 하나라도 받으면 철회할 수 없습니다). 무한 라이프 동안에는 스테이지에 져도 라이프가 줄지 않고, 그 남은 시간은 1-1의 진행 기록에 들어갑니다. iPhone에는 아직 광고와 아자 패스가 없어 광고 없이 받기와 아자 패스 프리미엄을 팔지 않습니다. |
|---|---|
| 항목 | Google Play가 앱에 알려 주는 이 게임의 구매 기록: 상품 ID(예: gem_pack_1), 구매 토큰, 주문 번호(GPA.로 시작), 구매 시각, 구매 상태(완료·대기 중), 구매 계정 확인값(아래). 회사 서버가 Google Play에 확인한 그 구매의 상태와, Google Play가 알려 주는 환불(결제 취소·지급 거절 포함) 기록. 구매로 받은 젬과 무한 라이프의 남은 시간은 1-1의 진행 기록에, 광고 없이 받기의 권리와 산 아자 패스 프리미엄은 이용자의 휴대전화에(아래 "광고 없이 받기의 권리", "아자 패스 프리미엄의 권리"), 상점 이용과 인앱 구매 기록은 1-2의 플레이 통계에 들어갑니다. |
| 목적 | 산 것(젬, 무한 라이프 시간, 광고 없이 받기의 권리, 산 시즌의 아자 패스 프리미엄)을 지급하고, 구매가 실제로 결제된 것인지 확인하고, 하나의 구매가 한 번만, 그 구매를 한 계정에서만 쓰이게 해 부정 사용을 막고, 한 번 사면 계속 쓰는 상품과 아자 패스 프리미엄의 권리를 실행마다 확인해 앱을 다시 설치하거나 기기를 바꿔도 이어 주고, 환불된 구매로 받은 젬과 권리를 회수하고, Google Play 게임즈로 연결된 계정으로 옮겨 갈 때 산 젬을 이어 쓰게 하고, 계정을 지운 뒤 같은 Google Play 계정으로 새로 시작한 게임 계정이 한 번 사면 계속 쓰는 상품을 다시 받게 하고(6항), 구매 문의(젬이 들어오지 않음, 환불 등)를 처리하고, 법령이 정한 거래 기록을 보존하고, 상점 이용을 통계로 파악하기 위해서입니다. |
| 처리 방법 | 이용자가 게임의 상점에서 상품을 고르면 Google Play의 결제 화면이 열리고, 결제는 Google Play가 처리합니다. 결제가 끝나면 Google Play가 앱에 구매 기록을 알려 주고, 앱은 그 구매의 구매 토큰과 상품 ID를 이용자의 익명 계정(플레이어 ID)으로 회사 서버(Firebase Cloud Functions, 대한민국 서울 리전)에 보냅니다. 회사 서버는 Google Play Developer API로 그 구매가 실제로 결제되었는지 Google Play에 확인하고 기록한 뒤, 그 상품이 주는 것(젬 수, 이어하기 팩의 무한 라이프 시간, 영구 상품인지, 아자 패스 프리미엄이면 Google Play가 알려 준 그 구매 시각)을 앱에 답합니다. 앱은 서버가 확인한 뒤에만 산 것을 줍니다: 젬과 무한 라이프 시간은 진행 기록(1-1)에 더하고, 광고 없이 받기는 권리를 켜고, 아자 패스 프리미엄은 서버가 답한 구매 시각이 든 시즌(기기의 시계가 아니라)을 프리미엄으로 정합니다(젬 팩에 덤으로 붙는 무한 라이프 시간은 1-4의 원격 설정 값으로 앱이 정합니다). 그다음 젬 팩, 이어하기 팩과 아자 패스 프리미엄은 그 구매를 사용 완료로 처리하고, 광고 없이 받기는 사용 완료로 하지 않고 승인만 합니다(회사 서버도 확인할 때 Google Play에 승인합니다). 이어하기 팩을 산 판에는 무브도 더하며, 결제가 늦게 끝나 판이 끝난 뒤에 확인된 이어하기 팩은 젬과 무한 라이프 시간만 줍니다. 결제가 대기 중이거나 서버에 연결되지 않으면 아무것도 주지 않고, 다음에 게임을 실행하거나 게임으로 돌아올 때 다시 확인합니다. 서버가 확인해 주지 않은 구매(취소된 구매, 다른 계정의 구매, 이미 쓰인 구매 등)에는 아무것도 주지 않습니다. |
| 구매 계정 확인값 | 구매를 시작할 때 앱은 플레이어 ID를 되돌릴 수 없게 바꾼 값(SHA-256 해시)을 그 구매의 계정 식별값(Google Play의 난독화된 계정 ID)으로 Google Play에 넘깁니다. Google Play는 이 값을 주문과 함께 보관해 구매 기록에 담아 돌려주고, 회사 서버는 이 값으로 구매가 그것을 보낸 계정의 것인지 확인합니다. Google Play는 같은 계정으로 짧은 시간에 여러 기기에서 구매하는 것 같은 비정상 거래를 찾는 데에도 이 값을 쓸 수 있습니다. 이 값으로는 플레이어 ID를 알아낼 수 없습니다. |
| 광고 없이 받기의 권리 | 광고 없이 받기를 사면 그 권리(상품 ID)를 이용자의 휴대전화에 기억하고, 게임을 실행할 때마다 두 곳에서 다시 확인합니다. 하나는 Google Play입니다: 이 구매는 사용 완료로 하지 않으므로 Google Play가 앱에 가진 구매로 계속 돌려주고, 이 휴대전화에서 확인한 적이 없는 구매(앱을 다시 설치했거나 같은 Google 계정의 다른 기기)이면 앱은 위의 처리 방법대로 회사 서버에 확인한 뒤 권리를 켭니다. 다른 하나는 회사 서버입니다: 앱이 로그인한 뒤 그 게임 계정(플레이어 ID)이 가진 영구 상품을 묻고(따로 보내는 정보는 없습니다), 회사 서버는 위의 구매 기록에서 그 계정의 것이고 환불되지 않은 영구 상품의 상품 ID만 답합니다. 앱은 답이 오면 휴대전화의 권리를 그 답에 맞추고, 답이 없으면(인터넷이 없을 때 등) 기억한 권리를 그대로 씁니다. 그래서 같은 게임 계정이면(1-6의 Google Play 게임즈 연결, 또는 Android 백업이 되살린 계정) 앱을 다시 설치하거나 기기를 바꿔도 권리가 이어집니다. Google Play 게임즈 연결도 백업도 없이 다시 설치해 새 익명 계정으로 시작하면, 그 구매에는 앞선 계정의 구매 계정 확인값이 있어 회사 서버가 확인해 주지 않으니 주문 번호와 함께 help@argozone.com으로 알려 주세요(아래 "문의 처리"). |
| 아자 패스 프리미엄의 권리 | 아자 패스 프리미엄을 사면 앱은 그 구매를 가리키는 식별값(구매 토큰 해시값의 앞부분)과 구매 시각을 이용자의 휴대전화에 기억하고, 그 구매 시각이 든 시즌 동안 프리미엄 보상 줄을 열고 라이프 최대 수를 늘립니다. 이 목록에는 최근 70일 안의 구매만 두며, "처음부터 다시 하기"를 해도 남고, 게임 안에서 계정을 삭제하면 지워집니다(6항). 앱이 로그인한 뒤 회사 서버에 그 게임 계정이 가진 것을 물으면(위의 "광고 없이 받기의 권리"와 같은 물음입니다), 회사 서버는 영구 상품과 함께 그 계정의 것이고 환불되지 않은 최근 70일 안의 아자 패스 프리미엄 구매의 식별값과 구매 시각을 답합니다. 앱은 답이 오면 휴대전화의 목록을 그 답에 맞추므로, 같은 게임 계정이면 다른 기기에서 산 시즌의 프리미엄도 받습니다. 답이 없으면(인터넷이 없을 때 등) 기억한 목록을 그대로 씁니다. |
| 회사 서버에 보관하는 것 | 구매마다: 구매 토큰을 되돌릴 수 없게 바꾼 값(SHA-256 해시. 구매 토큰 자체는 저장하지 않습니다), 플레이어 ID, 상품 ID와 그 종류(젬 팩, 이어하기 팩, 영구 상품, 아자 패스), 지급한 젬 수와 이어하기 팩의 무한 라이프 시간, Google Play 주문 번호, 구매 시각, 테스트 구매인지, 구매 계정 확인값이 있었는지, 처리 상태, 서버가 확인한 시각. 환불된 구매는 여기에 환불 표시, 환불 시각, Google Play가 알려 주는 환불 사유와 경로, 회수할 젬 수와 앱이 회수해 간 시각(회수할 젬이 없는 영구 상품과 아자 패스 프리미엄은 이 둘이 없습니다)이 더해집니다. 계정을 지울 때 풀어 둔, 한 번 사면 계속 쓰는 상품의 구매는 여기에 풀어 둔 표시와, 그 구매를 다시 받은 게임 계정이 있으면 그 플레이어 ID가 더해집니다(6항). 기록은 Cloud Firestore(대한민국 서울 리전)에 저장되며, 회사 서버만 쓰고 이용자의 앱은 읽거나 고칠 수 없습니다(7항). 서버가 일할 때마다 플레이어 ID, 구매 토큰의 해시값, 상품, 처리 결과와 요청의 접속 기록(시각, IP 주소 등)이 서버 로그(Cloud Logging)에 남습니다. |
| 환불 | 회사 서버는 하루 한 번 Google Play에서 환불(결제 취소·지급 거절 포함)된 구매 목록을 읽어, 서버가 확인했던 구매가 환불되었으면 그 구매 기록에 환불 표시를 하고 그 구매로 받은 젬을 그 플레이어 ID에서 회수할 젬으로 기록합니다. 앱은 다음 실행 때 이를 받아 가진 젬에서 빼고(0개 아래로는 빼지 않습니다) 화면에 알립니다. 무한 라이프가 함께 온 구매(이어하기 팩, 셋째 젬 팩부터)는 젬만 회수하고 무한 라이프 시간은 거두지 않습니다. 광고 없이 받기는 회수할 젬이 없어 환불 표시만 하며, 그 뒤로 회사 서버가 그 권리를 답하지 않으므로(위의 "광고 없이 받기의 권리") 앱이 다음 실행 때 휴대전화의 권리를 거두고 화면에 알립니다. 아자 패스 프리미엄도 회사 서버는 환불 표시만 하고(그 구매로 앱이 준 젬을 회사 서버는 알지 못해 회수할 젬을 기록하지 않습니다), 그 뒤로 그 구매를 답하지 않습니다(위의 "아자 패스 프리미엄의 권리"). 앱은 회사 서버의 답에서 그 구매가 빠진 것을 보면 휴대전화의 목록에서 지우고, 그 구매의 시즌이 지금 시즌이면 그 시즌의 프리미엄을 끄고, 그 시즌에 프리미엄 보상 줄에서 받은 젬(30단계 뒤에 더 받은 젬 포함)만 가진 젬에서 뺀 뒤(0개 아래로는 빼지 않습니다) 화면에 알립니다. 골드와 무한 라이프 시간은 거두지 않습니다. 지난 시즌의 구매이면 목록에서 지우기만 합니다. |
| 구매 젬 이어 쓰기 | Google Play 게임즈 연결(1-6)로 새 기기나 다시 설치한 앱이 이미 연결된 계정으로 옮겨 가면, 그 설치의 익명 계정에서 산 젬 가운데 아직 남은 것을 연결된 계정으로 한 번 옮깁니다. 앱은 옮겨 가기 직전에 받아 둔 그 익명 계정의 인증 토큰(한 시간 동안만 유효), 그 설치의 진행이 가진 젬 수, 그 설치에서 지급을 마친 구매의 구매 토큰 해시값(최근 200건까지)을 연결된 계정으로 회사 서버(Firebase Cloud Functions, 대한민국 서울 리전)에 보냅니다. 회사 서버는 토큰으로 그 익명 계정이 요청한 쪽의 것인지 확인한 뒤(토큰은 저장하지 않습니다) 그 익명 계정의 구매 기록을 모두 연결된 계정으로 옮기고, 그 설치에서 지급한 구매의 젬에서 환불된 것을 뺀 만큼을 그 설치가 가진 젬을 넘지 않게 답하며, 앱은 그 젬을 연결된 계정의 진행(1-1)에 더합니다. 그 뒤로 옮긴 구매의 환불은 연결된 계정에서 회수하고, 그 설치에서 아직 지급하지 않았던 구매도 연결된 계정에 지급합니다. 옮긴 구매 기록에 광고 없이 받기나 아자 패스 프리미엄이 있으면 그 권리도 연결된 계정에서 이어집니다(위의 "광고 없이 받기의 권리", "아자 패스 프리미엄의 권리"). 이어 쓰기는 익명 계정마다 한 번만 하며, 이를 위해 회사 서버에 이어 쓰기 기록(남겨진 익명 계정과 받은 계정의 플레이어 ID, 옮긴 구매 수, 그 구매들의 젬 수, 그 설치가 가진 젬 수, 이어 쓴 젬 수, 옮긴 시각)을 남기고, 옮긴 구매 기록에는 옮겨 온 익명 계정의 플레이어 ID와 옮긴 시각을 더합니다. 이 기록도 Cloud Firestore(대한민국 서울 리전)에 저장되며 회사 서버만 다룹니다. 이어 쓰기를 할 때마다 두 플레이어 ID와 처리 결과가 서버 로그(Cloud Logging)에 남습니다. 그 설치가 플레이로 번 젬과 진행, 그 설치에 남은 무한 라이프 시간은 옮기지 않습니다. |
| 휴대전화에만 두는 것 | 같은 구매로 산 것이 두 번 지급되지 않도록 지급을 마친 구매의 구매 토큰을 최근 200건까지, 환불된 구매를 마지막으로 확인한 시각, 가진 광고 없이 받기의 권리(상품 ID), 그리고 산 아자 패스 프리미엄 목록(구매 식별값과 구매 시각, 최근 70일 안의 것만)을 이용자의 휴대전화(앱 저장 공간)에 보관합니다(권리와 아자 패스 프리미엄 목록은 "처음부터 다시 하기"를 해도 남습니다). 이 목록은 회사로 보내지 않습니다(구매 토큰은 구매를 확인할 때 한 건씩 서버로 보내며, 서버는 그 해시값만 저장합니다). |
| 문의 처리 | 구매 문의를 받으면 이용자가 알려 준 주문 번호나 플레이어 ID로 회사 서버의 구매 기록과 Google Play Console의 해당 주문(상품, 금액, 결제 일시, 주문 상태 등)을 확인합니다. |
| 회사가 받지 않는 정보 | 카드 번호, 계좌, 휴대전화 결제 정보 같은 결제 수단 정보와 구매자의 Google 계정 정보(이름, 이메일 주소 등)는 Google Play가, Apple 계정 정보는 App Store가 처리하며, 회사는 받지 않습니다(4항). |
| iPhone(App Store) | iPhone에서는 결제를 Apple의 App Store가 처리하고, 위의 Google Play 대신 다음과 같이 처리합니다. 구매를 시작할 때 앱은 플레이어 ID의 SHA-256 해시로 만든 값(UUID 모양이며, 이 값으로는 플레이어 ID를 알아낼 수 없습니다)을 그 구매의 계정 확인값(App Store의 appAccountToken)으로 App Store에 넘기고, App Store는 이 값을 거래와 함께 보관해 돌려줍니다. 결제가 끝나면 앱은 App Store가 알려 준 거래 ID와 상품 ID를 이용자의 익명 계정(플레이어 ID)으로 회사 서버(Firebase Cloud Functions, 대한민국 서울 리전)에 보내고, 회사 서버는 App Store Server API로 Apple에 그 거래(거래 ID, 원래 거래 ID, 상품 ID, 앱의 번들 ID, 구매 시각, 실제 결제인지 시험(샌드박스) 결제인지, 계정 확인값, 환불·취소 여부)를 물어 확인하고 기록한 뒤 그 상품이 주는 것을 앱에 답합니다. 앱은 서버가 확인한 뒤에만 산 것을 주고, 그다음 App Store에 그 거래를 끝냈다고 알립니다. 결제가 승인을 기다리거나(구입 요청 등) 서버에 연결되지 않으면 아무것도 주지 않고 거래를 끝내지 않은 채 두었다가, 게임을 실행하거나 게임으로 돌아올 때 다시 확인합니다. 회사 서버가 확인해 주지 않은 거래(다른 계정의 구매, 이미 쓰인 구매, 환불·취소된 구매 등)에는 아무것도 주지 않고 거래를 끝냅니다. 한 번 사면 계속 쓰는 상품의 권리는 App Store가 이 Apple 계정에 대해 알려 주는 권리와 회사 서버의 답으로 실행마다 다시 확인하며, 게임 설정의 "구매 복원"으로 App Store에서 되찾을 수 있습니다. 회사 서버에는 구매마다 구매 토큰의 해시값과 Google Play 주문 번호 대신 거래 ID, 원래 거래 ID, 결제 환경(실제·시험)을 위의 "회사 서버에 보관하는 것"의 다른 항목과 함께 보관하고(기록의 이름은 원래 거래 ID의 해시값), 서버 로그에는 거래 ID가 남습니다. 휴대전화에는 구매 토큰 대신 지급을 마친 거래의 거래 ID를 둡니다. App Store 구매의 환불은 Apple이 정하며, 이용자는 Apple에 직접 요청합니다(reportaproblem.apple.com). Apple이 환불하면 App Store가 회사 서버에 알림(App Store 서버 알림)을 보내고, 회사 서버는 놓친 알림을 하루 한 번 App Store의 알림 기록에서 다시 가져옵니다. 그 뒤의 처리는 위의 "환불"과 같고, 환불 사유로는 Apple이 알려 주는 사유 코드를 기록합니다. 구매 문의는 회사 서버의 기록과, 필요하면 App Store Server API로 조회한 그 거래로 확인합니다. 회사는 이용자의 Apple 계정 정보(이름, 이메일 주소 등)와 결제 수단 정보를 받지 않습니다. |
| 필수 여부 | 구매는 선택입니다. 아무것도 사지 않아도 게임을 할 수 있습니다. 구매할 때는 산 것을 주고 부정 사용을 막기 위해 위의 확인과 기록이 필요합니다. |
1-6. Google Play 게임즈 연결 (Android)
| 항목 | Google Play 게임즈의 플레이어 ID(이 게임에서 이용자의 Play 게임즈 프로필을 가리키는 식별자), 닉네임(Play 게임즈 프로필의 표시 이름), 프로필 이미지 주소. Firebase 인증이 Google에서 받아 게임 계정(플레이어 ID)에 연결해 저장하는 정보입니다. |
|---|---|
| 목적 | 기기를 바꾸거나 앱을 다시 설치했을 때 진행과 산 젬을 이어 쓰기 위해서입니다. 같은 Play 게임즈 프로필로 실행하면 같은 게임 계정으로 들어옵니다. |
| 처리 방법 | 게임을 실행하면 Google Play 게임즈가 기기의 Play 게임즈 프로필로 스스로 로그인하고 환영 인사를 보여 줍니다(Play 게임즈 프로필이 없으면 Play 게임즈가 프로필 만들기 화면을 보여 줄 수 있습니다). 게임은 Play 게임즈를 통해 Google이 주는 일회용 인증 코드를 받아 Firebase 인증에 넘기고, Firebase 인증은 그 코드를 Google에 확인한 뒤 Play 게임즈 프로필을 이 기기의 익명 계정에 연결합니다. 플레이어 ID와 진행, 구매 기록은 그대로입니다. 그 Play 게임즈 프로필이 이미 다른 기기나 앞선 설치의 계정에 연결되어 있으면, 게임은 그 계정으로 로그인해 그 계정의 진행을 불러옵니다. 이때는 이 기기의 진행보다 계정의 진행이 우선하고, 이 기기에서 한 진행은 이 기기의 익명 계정과 함께 남겨지며, 이 기기에서 산 젬 가운데 남은 것만 계정으로 옮깁니다(1-5의 "구매 젬 이어 쓰기"). 이렇게 옮겨 가면 설정에 보이는 플레이어 ID가 그 계정의 것으로 바뀝니다. 한 번 연결된 뒤에는 실행할 때 다시 연결하지 않습니다. |
| 회사가 받지 않는 정보 | 이메일 주소 등 Google 계정 정보와 Play 게임즈의 친구 목록, 업적, 저장된 게임은 요청하지도 받지도 않습니다. 게임이 Play 게임즈에 묻는 것은 로그인되었는지와 일회용 인증 코드뿐이며, 진행과 구매 기록은 Play 게임즈가 아니라 1-1과 1-5에 적은 회사의 저장 공간에 있습니다. |
| 필수 여부 | 선택적 기능입니다. Play 게임즈 프로필이 없거나 만들지 않으면, 또는 로그인되지 않으면 지금처럼 익명 계정으로 플레이할 수 있습니다. 다만 기기에 Play 게임즈 프로필이 있으면 게임 안에서 따로 묻지 않고 자동으로 연결됩니다. 연결되어 있는지는 게임의 설정 화면에서 볼 수 있습니다. 게임 안에서 연결만 따로 끊는 기능은 없지만, 연결을 원하지 않으면 게임의 설정에 있는 "계정 삭제"로 게임 계정과 함께 연결을 지울 수 있습니다(6항). Play 게임즈 프로필 자체는 Google이 관리합니다(4항). iOS와 Play 게임즈를 쓸 수 없는 기기에서는 연결하지 않습니다. |
1-7. 기기에만 저장되는 정보
음악·효과음·진동 설정, 게임 진행의 기기 사본, 지급을 마친 구매의 구매 토큰 목록과 환불된 구매를 마지막으로 확인한 시각, 광고 없이 받기의 권리와 산 아자 패스 프리미엄 목록(1-5), Google Play 게임즈로 연결된 계정으로 옮겨 갈 때 구매 젬 이어 쓰기를 마칠 때까지 두는 남겨지는 익명 계정의 인증 토큰과 그 설치의 젬 수, 지급을 마친 구매의 해시값(1-5. 회사 서버의 답을 받으면 지웁니다), 앱이 어떻게 실행되고 끝났는지에 대한 진단 기록은 이용자의 기기에 저장됩니다. 설정 화면의 버전 줄을 누르면 앱 버전, 플레이어 ID, 기기 모델·운영체제(Android 또는 iOS) 버전·메모리·화면 크기, 최근 종료 기록을 담은 "진단 정보"가 클립보드에 복사됩니다. 이 정보는 이용자가 직접 붙여 넣어 회사에 보낼 때만 회사에 전달되며, 그 경우 문의 처리에만 씁니다.
광고가 켜진 뒤에는 나이 확인의 답(고른 태어난 해, 또는 답하지 않았다는 것), 보상까지 본 광고의 수와 "광고 없이 받기" 안내를 보였는지도 이용자의 휴대전화에만 저장되며 회사로 보내지 않습니다. 광고 동의 정보는 Google의 동의 도구(UMP)가 휴대전화에 저장하고 광고 요청과 함께 Google에 보냅니다(1-9).
1-8. 처리하지 않는 정보
이름(Google Play 게임즈 닉네임은 1-6에 따라 처리합니다), 이메일, 전화번호, 주소, 생년월일(광고를 위해 묻는 태어난 해는 휴대전화에만 두고 회사로 보내지 않습니다, 1-9), 정확한 위치(GPS), 연락처, 사진·파일(Play 게임즈 프로필 이미지는 그 주소만 1-6에 따라 처리합니다), 마이크·카메라는 수집하지 않습니다. 카드 번호 같은 결제 수단 정보도 회사가 받지 않습니다(1-5). 게임이 요청하는 Android 권한은 인터넷 연결, 진동, Google Play 결제 연결, 광고 ID와 광고 SDK가 쓰는 광고 관련 권한 등 실행에 필요한 일반 권한뿐이며, 이용자에게 따로 허락을 묻는 권한은 없습니다. iPhone에서도 추적 허락(앱 추적 투명성), 위치, 카메라, 마이크, 사진, 연락처 같은, 이용자에게 허락을 묻는 권한을 요청하지 않습니다.
1-9. 보상형 광고 (Google AdMob)
| 광고가 나오는 곳 | 게임의 광고는 보상형 광고뿐입니다. 광고를 보면 보상을 주는 버튼이 네 곳에 있고(라이프 +1, 무브가 떨어진 스테이지와 응원 탑의 이어하기, 응원 카드 다시 뽑기, 상점의 무료 상자), 광고는 이용자가 그 버튼을 누를 때만 한 번에 하나씩 전체 화면으로 보입니다. 광고를 보지 않아도 게임을 할 수 있고, 전면 광고와 배너 광고는 없습니다. 광고는 Google LLC의 광고 서비스 Google AdMob이 고르고 보여 주며, 회사는 원격 설정(1-4)으로 광고를 켜고 끕니다. |
|---|---|
| iPhone | iPhone 게임에는 지금 광고가 없습니다. iPhone 앱에도 Google 모바일 광고 SDK와 동의 도구(UMP)가 들어 있지만, 게임은 iPhone에서 광고 SDK를 시작하지 않아 광고를 요청하거나 미리 불러오지 않고, 나이를 묻지 않습니다. 광고 버튼 자리는 광고 없이 바로 보상을 주는 무료 버튼입니다. 또 게임은 추적 허락(앱 추적 투명성, ATT)을 묻지 않으므로 iPhone의 광고 식별자(IDFA)를 받지 않습니다. 그래서 아래의 처리 방법, Google이 처리하는 정보, 유럽·영국·스위스의 동의, 나이 확인은 지금 Android 게임에만 해당합니다. iPhone에서 광고를 켤 때는 이 방침을 먼저 고칩니다. |
| 처리 방법 | 광고가 켜진 게임을 실행하면, 홈 화면이 한가할 때(그 전에 광고 버튼을 누르면 그때) 게임이 처음 한 번 나이를 묻고(아래 "나이 확인과 아동"), 게임에 들어 있는 Google 모바일 광고 SDK를 시작합니다. 시작할 때 Google의 동의 도구(UMP)가 Google에 동의 정보를 묻고, 필요한 지역에서는 동의 양식을 띄웁니다(아래 "유럽·영국·스위스의 동의"). 광고 SDK는 동의 도구가 광고 요청을 허락할 때만 시작합니다. 시작한 뒤에는 광고 버튼이 화면에 나오면 누르자마자 보여 줄 수 있도록 광고 하나를 미리 불러 둡니다. 그래서 광고가 켜진 동안에는 광고를 보지 않는 이용자에게도, 광고 SDK가 시작하고 광고를 미리 불러올 때 아래의 정보가 Google로 갑니다. 광고를 끝까지 보아 Google이 보상을 알리면 광고가 닫힌 뒤 그 자리의 보상을 주고, 보상 전에 닫으면 주지 않습니다. |
| Google이 처리하는 정보 | Google의 공개 안내에 따르면 광고 SDK는 다음을 수집해 Google과 공유합니다: IP 주소(기기의 대략적인 위치를 추정하는 데 쓰일 수 있음), Android 광고 ID와 앱 세트 ID, 해당하면 기기에 로그인된 계정에 관련된 식별자, 앱 실행·누르기·동영상 보기 같은 앱과 광고에서의 상호작용, 앱 실행 시간·멈춤 비율·전력 사용 같은 앱과 SDK의 성능 진단 정보. 광고 요청에는 이 게임의 이름과, 게임이 정하는 설정(아동 대상 처리인지, 맞춤형이 아닌 광고 요청인지, 광고 콘텐츠 등급 G)과 유럽 동의 결과가 함께 갑니다. 회사는 플레이어 ID, 진행, 구매 기록, 태어난 해를 Google 광고에 넘기지 않습니다. |
| 행태정보와 맞춤형 광고 | 위의 정보 가운데 광고 ID와 앱·광고에서의 상호작용은 이용자의 관심과 성향을 알 수 있는 행태정보입니다. 이 행태정보는 회사가 아니라 Google이 게임 안의 광고 SDK로 수집해 갑니다.
|
| 거부 방법 |
|
| 유럽·영국·스위스의 동의 | Google의 EU 사용자 동의 정책에 따라, 유럽 경제 지역(EEA)·영국·스위스의 이용자에게는 광고 SDK를 시작하기 전에 Google의 동의 도구(UMP)가 동의 양식을 보여 주어, 쿠키나 휴대전화의 저장 공간을 쓰는 것과 광고 ID 같은 개인정보를 광고에 쓰는 것에 동의를 묻습니다. 게임은 동의 도구가 광고 요청을 허락할 때만 광고 SDK를 시작하고, 동의 결과는 동의 도구가 휴대전화에 저장해 광고 요청과 함께 Google에 보냅니다. 게임은 실행할 때마다 동의 도구에 동의 정보를 새로 묻습니다(인터넷이 없으면 지난번 것으로). 만 14세 미만일 수 있거나 나이에 답하지 않은 이용자는 동의 나이 미만으로 알려 동의를 묻지 않고, 그 광고 요청은 아동 대상 처리입니다. 동의는 게임 설정의 "개인정보 옵션"에서 언제든 바꾸거나 거둘 수 있습니다. |
| 나이 확인과 아동 | 광고가 켜진 뒤 처음 한 번, 게임이 "태어난 해를 골라 주세요"라고 묻습니다(나이에 맞는 광고를 보여 드리려고 묻는다는 것만 알리고, 미리 골라 둔 해는 없습니다). "답하지 않을래요"를 고르거나 창을 닫아도 됩니다. 답(고른 해, 또는 답하지 않았다는 것)은 이용자의 휴대전화에만 저장하고, 회사 서버, 클라우드 세이브, 플레이 통계, Google 어디에도 보내지 않습니다. 게임은 「개인정보 보호법」에 따라 만 14세 미만을 아동으로 봅니다. 해만 묻기 때문에, 올해에서 태어난 해를 뺀 값이 14 이하인 이용자(만 14세가 되지 않았을 수 있음)와 답하지 않은 이용자는 만 14세 미만으로 보고, 그 이용자의 모든 광고 요청을 Google에 아동 대상 처리(Google은 관심 기반 광고와 리마케팅을 끄고 광고 ID를 보내지 않습니다)와 맞춤형이 아닌 광고로 요청합니다. Google에 가는 것은 이 처리 표시뿐이며 태어난 해는 가지 않습니다. 해마다 다시 계산하므로 해가 바뀌면 처리도 바뀝니다. 모든 이용자의 광고는 광고 콘텐츠 등급 G(전체 이용가)까지로 제한합니다. 답은 "처음부터 다시 하기"나 게임 안의 계정 삭제를 해도 그 휴대전화에 남고(휴대전화를 쓰는 사람의 답이기 때문입니다), 앱을 삭제하거나 앱 데이터를 지우면 지워집니다. |
| 광고 없이 받기와의 관계 | 상점의 "광고 없이 받기"(1-5)를 산 이용자는 라이프 +1, 이어하기, 카드 다시 뽑기를 광고 없이 바로 받으며, 이 세 자리에서는 광고를 불러오지 않습니다. 무료 상자는 광고로 열고, 광고 SDK의 시작과 위의 처리도 다른 이용자와 같습니다. 광고 없이 받기는 광고를 보지 않고 보상을 받는 권리이고, 광고 SDK의 처리를 끄는 것은 아닙니다. 광고가 꺼져 있을 때는 네 자리 모두 광고 없이 무료로 받는 버튼이고, 광고 SDK는 시작하지 않으며 나이도 묻지 않습니다. |
| 회사가 받는 것 | 회사는 Google이 광고 SDK로 처리하는 정보를 받지 않습니다. 회사가 AdMob에서 보는 것은 광고 단위별 요청·노출·수익 같은 합계 보고서이고, 게임 안의 광고 기록(광고를 눌렀는지와 광고 한 번의 추정 수익 포함, 광고 SDK가 앱에 알려 주는 값)은 1-2의 플레이 통계에 들어갑니다. |
| 필수 여부 | 광고를 보는 것은 선택입니다. 광고가 켜진 동안의 광고 SDK의 처리는 게임 안에서 끌 수 없지만, 맞춤형 광고와 광고 ID는 위의 거부 방법으로 거부할 수 있습니다. |
2. 보유 기간과 파기
| 정보 | 보유 기간 |
|---|---|
| 클라우드 세이브와 게임 계정(익명 계정과 Google Play 게임즈 연결 정보(1-6), 구매로 받은 젬 포함) | 이용자가 삭제를 요청할 때까지, 또는 게임 서비스를 끝낼 때까지. 서비스 종료 시 30일 안에 파기합니다. |
| 새 기기나 다시 설치한 앱이 연결된 계정으로 옮겨 가며 남겨진 익명 계정과 그 클라우드 세이브(1-6) | 따로 지우지 않으며, 다른 익명 계정과 같이 이용자가 삭제를 요청할 때까지, 또는 게임 서비스를 끝낼 때까지 보관합니다. 서비스 종료 시 30일 안에 파기합니다. |
| 플레이 통계(이용자 단위 기록, 젬 상점·인앱 구매 기록 포함) | Google Analytics의 데이터 보존 기간 설정에 따라 2개월이 지나면 자동 삭제됩니다. 개인을 알아볼 수 없는 합계 통계는 남을 수 있습니다. |
| 플레이 통계의 BigQuery 사본(1-2) | BigQuery의 테이블 만료 설정에 따라 내보낸 날부터 60일이 지나면 자동 삭제됩니다. |
| 운영 통계(클라우드 세이브, 플레이 통계, 구매 기록으로 만든 합계) | 개인을 알아볼 수 없는 합계만 담고 있어, 게임을 운영하는 동안 남을 수 있습니다. |
| 오류 보고 | Firebase Crashlytics가 90일 동안 보관한 뒤 자동 삭제합니다. |
| 회사 서버의 구매 기록과 환불·회수 기록(1-5) | 구매일부터 5년 동안 보관한 뒤 파기합니다. 「전자상거래 등에서의 소비자보호에 관한 법률」 시행령 제6조가 계약 또는 청약철회 등에 관한 기록과 대금결제 및 재화 등의 공급에 관한 기록을 5년 동안 보존하도록 정하고 있기 때문입니다. 이용자의 삭제 요청으로 클라우드 세이브와 익명 계정을 지운 뒤에도 이 기간 동안은 법령에 따른 보존 목적으로만 보관합니다. 다만 지운 계정에서 산, 한 번 사면 계속 쓰는 상품의 구매는 같은 스토어 계정으로 새로 시작한 게임 계정이 다시 받을 수 있게 그 기록을 씁니다(6항). |
| 회사 서버의 구매 젬 이어 쓰기 기록(1-5) | 옮긴 날부터 5년 동안 보관한 뒤 파기합니다. 이어 쓴 젬이 나온 구매의 기록이므로 위의 구매 기록과 같은 이유로 보존하며, 이용자의 삭제 요청으로 게임 계정을 지운 뒤에도 이 기간 동안은 법령에 따른 보존 목적으로만 보관합니다. 이어 쓰기로 옮긴 구매 기록은 위와 같이 구매일부터 5년입니다. |
| 구매 확인·구매 젬 이어 쓰기·계정 삭제 서버의 로그(Cloud Logging) | 30일이 지나면 자동 삭제됩니다. |
| 지급을 마친 구매의 구매 토큰(iPhone은 거래 ID), 환불을 마지막으로 확인한 시각, 광고 없이 받기의 권리와 산 아자 패스 프리미엄 목록(휴대전화에만 저장) | 구매 토큰은 새 구매가 쌓여 최근 200건 밖으로 밀려나면, 아자 패스 프리미엄은 구매 시각부터 70일이 지나면 목록에서 지워지고, 모두 앱을 삭제하거나 앱 데이터를 지우면, 또는 게임 안에서 계정을 삭제하면(6항) 함께 지워집니다. 광고 없이 받기의 권리는 다시 설치한 뒤에 Google Play(iPhone은 App Store)와 회사 서버에서, 아자 패스 프리미엄은 회사 서버에서 다시 확인합니다(1-5). |
| 구매 젬 이어 쓰기를 마칠 때까지 휴대전화에 두는 것(1-7) | 회사 서버의 답을 받으면 지워지고, 앱을 삭제하거나 앱 데이터를 지우면 함께 지워집니다. 그 안의 인증 토큰은 한 시간이 지나면 쓸 수 없습니다. |
| Firebase 설치 식별자 등 기술 정보 | Google의 Firebase 보존 정책에 따릅니다. |
| 이용자가 보낸 문의와 진단 정보(구매 문의와 주문 번호 포함) | 문의 처리가 끝난 뒤 1년 보관 후 파기합니다. |
| Google Play의 결제·주문 기록(구매 계정 확인값 포함) | Google이 Google의 정책에 따라 보관합니다. 회사는 문의 처리와 정산을 위해 Play Console에서 조회하며, 법령이 보관을 요구하는 정산·회계 자료는 그 기간 동안 보관합니다. |
| App Store의 결제·거래 기록(iPhone, 구매 계정 확인값 포함) | Apple이 Apple의 정책에 따라 보관합니다. 회사는 문의 처리와 정산을 위해 App Store Server API와 App Store Connect에서 조회하며, 법령이 보관을 요구하는 정산·회계 자료는 그 기간 동안 보관합니다. |
| Google Play 게임즈 프로필과 그 기록 | Google이 Google의 정책에 따라 보관합니다. 이용자가 Play 게임즈 프로필 설정이나 Google 계정에서 지울 수 있습니다(6항). |
| Google이 광고 SDK로 처리하는 정보(1-9) | 회사는 받거나 보관하지 않습니다. Google이 Google의 정책에 따라 보관하며, Google은 서버 로그의 광고 데이터를 9개월 뒤 IP 주소의 일부를, 18개월 뒤 쿠키 정보를 지워 익명처리한다고 밝힙니다(Google의 데이터 보관 안내). |
| 나이 확인의 답, 보상까지 본 광고의 수와 "광고 없이 받기" 안내를 보였는지(휴대전화에만 저장, 1-9) | 앱을 삭제하거나 앱 데이터를 지우면 지워집니다. "처음부터 다시 하기"나 게임 안의 계정 삭제로는 지워지지 않습니다. |
| 광고 동의 정보(Google의 동의 도구가 휴대전화에 저장, 1-9) | 동의 도구가 보관하며, 게임 설정의 "개인정보 옵션"에서 바꿀 수 있고 앱을 삭제하면 지워집니다. |
파기할 때는 서버의 기록을 복구할 수 없는 방법으로 지웁니다. 다른 법령이 보관을 요구하는 경우에는 그 기간 동안 따로 보관합니다.
3. 제3자 제공
회사는 이용자의 정보를 판매하지 않으며, 아래의 광고 말고는 제3자가 자기 목적으로 쓰도록 제공하지 않습니다. 법령에 근거가 있거나 수사기관이 법에 정한 절차에 따라 요구하는 경우는 예외입니다. 게임 안 구매의 결제는 이용자와 Google Play(iPhone은 Apple의 App Store) 사이에서 이루어집니다. 회사가 결제와 관련해 Google Play나 App Store에 넘기는 것은 구매가 어느 계정의 것인지 확인하기 위한 구매 계정 확인값(플레이어 ID의 SHA-256 해시, iPhone은 그 해시로 만든 UUID, 1-5)뿐이며, Google Play와 App Store는 이 값을 결제의 일부로 주문·거래와 함께 보관합니다(4항). Google Play 게임즈 연결(1-6)에서는 Google이 Firebase 인증을 통해 Play 게임즈 프로필의 정보(1-6의 항목)를 알려 줄 뿐이며, 회사는 게임의 진행이나 구매 기록을 Play 게임즈에 넘기지 않습니다.
광고(1-9): 광고가 켜진 동안(지금은 Android 게임만) 회사는 Google LLC가 게임 안의 Google 모바일 광고 SDK로 1-9의 정보(IP 주소, 광고 ID 같은 기기 식별자, 앱과 광고에서의 상호작용, 진단 정보)를 직접 수집하도록 허용하며, Google은 이 정보를 광고 제공, 맞춤형 광고, 광고 성과 측정, 사기 방지에 씁니다(4항의 "광고"). 회사가 광고 요청과 함께 Google에 넘기는 것은 이 게임의 광고 단위와 게임이 정하는 설정(아동 대상 처리인지, 맞춤형이 아닌 광고 요청인지, 광고 콘텐츠 등급 G)뿐이며, 플레이어 ID, 진행, 구매 기록과 태어난 해는 넘기지 않습니다.
4. 처리 위탁과 국외 이전
회사는 게임 운영을 위해 아래와 같이 처리를 위탁하며, 이 과정에서 정보가 국외로 이전됩니다.
| 이전받는 자 | Google LLC (Firebase, Google Cloud). 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA. 개인정보 문의: Google 개인정보 문의 |
|---|---|
| 위탁 업무 | 인증(Firebase Authentication: 익명 계정과 Google Play 게임즈 연결), 클라우드 세이브 저장(Cloud Firestore), 구매를 확인하고 구매 젬 이어 쓰기와 계정 삭제를 하고 운영 통계의 합계를 만드는 회사 서버의 실행(Cloud Functions for Firebase)과 구매·환불·이어 쓰기 기록 저장(Cloud Firestore), 서버 로그(Cloud Logging), 플레이 통계(Google Analytics for Firebase, 젬 상점·인앱 구매 통계 포함), 플레이 통계의 내보내기와 집계(Google BigQuery: Google Analytics의 이벤트 데이터를 광고 ID 없이 날마다 BigQuery로 내보내 60일 동안 보관한 뒤 자동 삭제하고, 여기서는 합계만 뽑아 대표이사만 볼 수 있는 운영 화면에 씁니다), 오류 보고(Crashlytics), 원격 설정(Remote Config) |
| 이전되는 국가 | 클라우드 세이브, 구매·환불·이어 쓰기 기록과 플레이 통계의 BigQuery 사본은 대한민국(서울 리전)에 저장되고, 구매를 확인하고 구매 젬 이어 쓰기와 계정 삭제를 하고 운영 통계의 합계를 만드는 서버도 서울 리전에서 실행됩니다. 서버 로그와 통계·오류 보고·인증(Google Play 게임즈 연결 정보 포함)·원격 설정 정보는 미국 등 Google이 데이터 센터를 운영하는 국가에서 처리될 수 있습니다. |
| 이전 항목 | 1항의 1-1 ~ 1-4에 적은 정보(1-2의 BigQuery 사본 포함), 1-5 가운데 회사 서버로 보내고 서버에 보관하는 구매·환불·이어 쓰기 기록과 서버 로그, 1-6의 Google Play 게임즈 연결 정보 (구매로 받은 젬은 1-1에, 젬 상점·인앱 구매 기록은 1-2에 들어 있습니다) |
| 이전 일시와 방법 | 게임을 이용하는 동안 수시로(구매 기록은 구매를 확인할 때, 이어 쓰기 기록은 연결된 계정으로 옮겨 갈 때, Google Play 게임즈 연결 정보는 연결할 때, 플레이 통계의 BigQuery 사본은 하루 한 번), 암호화된 네트워크(TLS)로 전송 |
| 보유 기간 | 2항과 같음 |
Google의 처리 방식은 Firebase 개인정보 보호 안내와 Google 개인정보처리방침에서 볼 수 있습니다. 국외 이전을 원하지 않으면 게임 이용을 멈추고 6항에 따라 삭제를 요청할 수 있습니다. 다만 이전 없이는 게임의 저장과 오류 수정 기능을 제공할 수 없습니다.
Google Play 결제: 게임 안 구매의 결제는 Google Play가 Google Play 서비스 약관에 따라 처리합니다. 결제 수단 등 결제에 필요한 정보는 이용자가 Google에 직접 제공하며, Google은 이 정보를 회사의 위탁을 받아서가 아니라 스스로 개인정보처리자로서 Google 개인정보처리방침에 따라 처리합니다. 회사가 Google Play에서 받는 것은 1-5에 적은 구매 기록(회사 서버가 Google Play Developer API로 조회하는 구매 상태와 환불 목록 포함)과 Play Console의 주문·판매 기록(주문 번호, 상품, 금액, 결제 일시, 주문 상태, 구매 국가 등)뿐이며, 결제 수단 정보는 받지 않습니다. 회사가 Google Play에 넘기는 것은 1-5의 구매 계정 확인값뿐입니다.
App Store 결제(iPhone): iPhone의 게임 안 구매 결제는 Apple Inc.(One Apple Park Way, Cupertino, CA 95014, USA)의 App Store가 Apple 미디어 서비스 이용 약관에 따라 처리합니다. 결제 수단 등 결제에 필요한 정보는 이용자가 Apple에 직접 제공하며, Apple은 이 정보를 회사의 위탁을 받아서가 아니라 스스로 개인정보처리자로서 Apple 개인정보 처리방침에 따라 처리합니다. 회사가 App Store에서 받는 것은 1-5에 적은 거래 정보(회사 서버가 App Store Server API로 조회하는 거래와, App Store가 회사 서버로 보내는 환불 등의 알림)와 App Store Connect의 판매·정산 보고서뿐이며, 결제 수단 정보와 Apple 계정 정보는 받지 않습니다. 회사가 App Store에 넘기는 것은 1-5의 구매 계정 확인값뿐입니다. App Store 구매의 환불은 Apple이 정하며, 이용자는 reportaproblem.apple.com에서 Apple에 요청할 수 있습니다.
Google Play 게임즈: Google Play 게임즈 프로필(닉네임, 프로필 이미지 등)과 Play 게임즈의 로그인은 Google이 Google Play 서비스 약관에 따라 제공하며, Google은 이 정보를 회사의 위탁을 받아서가 아니라 스스로 개인정보처리자로서 Google 개인정보처리방침에 따라 처리합니다. 회사가 받는 것은 Firebase 인증을 통해 받는 1-6의 항목(플레이어 ID, 닉네임, 프로필 이미지 주소)뿐이며, 이메일 주소 등 Google 계정 정보는 받지 않습니다. Play 게임즈 프로필과 그 기록은 Play 게임즈 프로필 설정이나 Google 계정에서 관리하고 지울 수 있습니다.
광고(Google AdMob): 보상형 광고(1-9)는 Google LLC(위 주소)가 제공하며, Google은 광고 SDK로 수집하는 정보를 회사의 위탁을 받아서가 아니라 스스로 개인정보처리자로서 Google 개인정보처리방침에 따라 처리합니다. 이 정보(1-9의 "Google이 처리하는 정보")는 광고가 켜진 동안 광고 SDK가 시작하고 광고를 불러오거나 보일 때마다 이용자의 휴대전화에서 Google로 암호화된 네트워크(TLS)를 거쳐 직접 전송되며, 미국 등 Google이 데이터 센터를 운영하는 국가에서 처리될 수 있습니다. 보유 기간은 2항, 거부 방법은 1-9와 5항에 있습니다. Google이 앱에서 받는 정보를 쓰는 방식은 Google 서비스를 사용하는 사이트 또는 앱의 정보 사용 방법에서 볼 수 있습니다.
5. 자동 수집 장치와 거부 방법
게임 자체는 웹 쿠키를 쓰지 않지만, 위의 앱 인스턴스 ID, Firebase 설치 식별자, Android 광고 ID, iPhone의 공급업체 식별자(IDFV) 같은 기기 식별자를 씁니다. 광고가 켜진 동안에는 Google의 광고 SDK가 광고 ID와 앱 세트 ID를 쓰고, 광고 SDK와 광고를 보여 주는 화면이 휴대전화에 쿠키나 그와 비슷한 정보를 저장할 수 있습니다(1-9).
- Android 광고 ID: 기기의 설정 → 개인 정보 보호 → 광고(기기에 따라 설정 → Google → 광고)에서 "광고 ID 삭제" 또는 "광고 ID 재설정"을 할 수 있습니다. 삭제하면 게임의 통계와 광고 SDK에 광고 ID가 전달되지 않고, 광고 ID에 따른 맞춤형 광고를 받지 않습니다. 일부 이전 Android에서는 설정 → 개인 정보 보호 → 고급 → 광고에서 "광고 개인 최적화 선택 해제"를 켭니다.
- 맞춤형 광고와 유럽·영국·스위스의 광고 동의: 1-9의 "거부 방법"(게임 설정의 "개인정보 옵션", Google의 내 광고 센터).
- iPhone: 게임은 추적 허락(앱 추적 투명성)을 묻지 않으므로 iPhone의 광고 식별자(IDFA)를 받지 않고, 지금 iPhone에서는 광고를 보이지 않습니다(1-9). iPhone의 설정 → 개인정보 보호 및 보안 → 추적에서 앱이 추적 허락을 요청하지 못하게 할 수 있습니다.
- 앱을 삭제하면 기기에 저장된 정보와 기기 식별자가 지워집니다(iPhone에서는 Firebase 인증이 iPhone의 키체인에 둔 익명 계정의 로그인 정보가 앱을 삭제해도 남을 수 있습니다, 6항).
6. 이용자의 권리와 행사 방법
이용자는 언제든지 자신의 정보에 대한 열람, 정정, 삭제, 처리 정지를 요청할 수 있습니다.
- 요청하는 곳: 삭제는 게임 안에서 바로 할 수 있습니다. 게임의 설정 → 계정 삭제를 누르고 확인 창에서 "길게 눌러 삭제"를 약 2초 동안 누르고 있으면 곧바로 처리됩니다(게임 버전 0.22.0부터, Android·iOS. 아래 "게임 안에서 삭제하기"). 앱을 이미 지웠거나 게임 안에서 삭제할 수 없을 때, 그리고 열람·정정·처리 정지는 help@argozone.com으로 요청해 주세요.
- 게임 안에서 삭제하기: 설정의 "계정 삭제"를 누르면 지워지는 것과 남는 것을 알려 주는 확인 창("계정을 지울까요?")이 열립니다. 여기서 "길게 눌러 삭제"를 약 2초 동안 누르고 있으면 회사 서버(Firebase Cloud Functions, 대한민국 서울 리전)가 아래 "삭제 요청 시 지우는 것"을 곧바로 지우고, 게임은 이 휴대전화에 저장된 게임 기록(지급을 마친 구매의 구매 토큰 목록, 광고 없이 받기의 권리와 산 아자 패스 프리미엄 목록 포함)도 지운 뒤 "계정을 지웠어요"를 알리고 처음 상태로 돌아갑니다(음악·효과음·진동 같은 설정은 남을 수 있습니다). 인터넷 연결이 필요하며, 지우지 못했을 때는 아무것도 바뀌지 않으니 연결을 확인하고 다시 해 주세요. 서버 로그(Cloud Logging)에는 요청의 접속 기록과 플레이어 ID의 앞부분, 지운 계정 수만 남고 30일이 지나면 자동 삭제됩니다.
- 이메일로 요청할 때 함께 보낼 것: 게임의 설정 → 플레이어 ID(누르면 복사됩니다). 회사는 이용자의 실명이나 연락처를 갖고 있지 않으므로, 플레이어 ID로 이용자의 기록을 찾습니다.
- 삭제 요청 시 지우는 것: 게임 안에서 삭제하든 이메일로 요청하든 같습니다. 클라우드 세이브와 게임 계정(익명 계정, Google Play 게임즈와 연결했다면 그 연결 정보(1-6) 포함)을 지웁니다. 연결된 계정으로 옮겨 가며 남겨진 익명 계정과 그 세이브도, 회사 서버의 이어 쓰기 기록으로 찾을 수 있으면 함께 지웁니다. 구매로 받은 젬도 함께 지워지며 되돌릴 수 없고, 산 아자 패스 프리미엄도 그 계정과 함께 끝나 새 게임 계정에서 다시 받을 수 없습니다(사용 완료한 상품이라 아래처럼 풀어 두지 않습니다). 한 번 사면 계속 쓰는 상품(광고 없이 받기 등)의 구매는 지운 계정에서 풀어 두어, 같은 Google Play 계정(iOS는 같은 Apple 계정)으로 새로 시작한 게임 계정이 다시 받을 수 있게 합니다(회사 서버의 그 구매 기록에 풀어 둔 표시를 하고, 다시 받으면 새 게임 계정의 플레이어 ID를 적을 뿐 새로 모으는 정보는 없습니다). 다만 회사 서버의 구매·환불 기록과 이어 쓰기 기록(1-5)은 법령이 정한 보존 기간인 구매일(이어 쓰기 기록은 옮긴 날)부터 5년 동안 법령에 따른 보존 목적으로만(구매 기록은 위의 다시 받기에도) 보관한 뒤 파기합니다(2항). 오류 보고는 90일, 서버 로그는 30일, 플레이 통계는 2항의 기간(BigQuery 사본은 60일)이 지나면 자동으로 지워집니다. 플레이 통계는 플레이어 ID와 연결되어 있지 않아 개별로 찾아 지울 수 없습니다. 구매 토큰 목록, 광고 없이 받기의 권리와 산 아자 패스 프리미엄 목록은 휴대전화에만 있어 게임 안에서 삭제하거나 앱을 삭제하면 지워지고, Google Play의 주문 기록은 Google이, App Store의 구매 기록은 Apple이 관리합니다.
- 처리 기한: 게임 안의 삭제는 바로 처리됩니다. 이메일 요청은 받은 날부터 10일 안에 처리합니다.
- Google Play 게임즈 연결: 게임 안에서 연결만 따로 끊는 기능은 없습니다. 연결을 지우려면 설정의 "계정 삭제"로 게임 계정을 지워 주세요(앱이 없으면 위의 이메일로 요청). 게임 계정과 함께 연결 정보도 지웁니다. Play 게임즈 프로필과 그 기록 자체는 Google이 관리하므로 Play 게임즈 프로필 설정이나 Google 계정에서 지울 수 있습니다. 삭제한 뒤에도 앱이 휴대전화에 남아 있으면 새 게임 계정이 만들어져 Play 게임즈 프로필에 다시 연결될 수 있으니, 게임을 더 하지 않을 거라면 앱도 지워 주세요.
- "처음부터 다시 하기"와의 차이: 게임의 설정에 있는 "처음부터 다시 하기"는 진행을 처음으로 되돌리고 클라우드 세이브를 새 진행으로 덮어씁니다. 게임 계정(Google Play 게임즈 연결 포함), 플레이 통계, 오류 보고는 지우지 않습니다. 완전한 삭제는 설정의 "계정 삭제"로 해 주세요(앱이 없으면 위의 이메일로 요청).
- Android 백업: Android의 자동 백업이 켜져 있으면 게임의 기기 데이터 사본이 이용자의 Google 계정에 백업되어, 다시 설치할 때 진행이 복원됩니다. 이 백업은 회사가 아니라 Google과 이용자의 기기 설정이 관리하며, 기기의 백업 설정에서 끄거나 지울 수 있습니다.
- iPhone: 익명 계정의 로그인 정보는 Firebase 인증이 iPhone의 키체인에 두므로, 앱을 지운 뒤 같은 iPhone에 다시 설치하면 같은 게임 계정으로 돌아올 수 있습니다. 게임의 기기 데이터는 iPhone의 백업(iCloud 백업 등)에 들어갈 수 있으며, 이 백업은 회사가 아니라 Apple과 이용자의 기기 설정이 관리합니다. 계정을 완전히 지우려면 설정의 "계정 삭제"를 써 주세요.
- 광고: Google이 광고 SDK로 처리하는 정보(1-9)는 회사가 갖고 있지 않아 회사가 열람하게 하거나 지울 수 없습니다. 맞춤형 광고와 광고 ID는 1-9의 "거부 방법"으로 거부할 수 있고, 그 정보에 관한 요청은 Google에 할 수 있습니다(Google 개인정보 문의). 나이 확인의 답은 휴대전화에만 있어 게임 안의 계정 삭제로는 지워지지 않으며, 앱을 삭제하거나 앱 데이터를 지우면 지워집니다.
법정대리인이나 위임을 받은 사람도 요청할 수 있습니다.
7. 안전성 확보 조치
- 앱과 서버 사이의 모든 전송은 암호화(TLS)됩니다.
- 클라우드 세이브는 보안 규칙으로 각 게임 계정이 자기 저장만 읽고 쓸 수 있게 제한됩니다.
- 회사 서버의 구매·환불·이어 쓰기 기록은 보안 규칙으로 앱에서 읽거나 쓸 수 없게 막혀 있고 회사 서버만 다룹니다. 구매 토큰은 되돌릴 수 없는 해시값으로만 저장하고 로그에도 남기지 않습니다. 회사 서버가 Google Play에서 쓰는 권한은 이 게임의 주문에 관한 것으로 한정됩니다. App Store에 묻는 데 쓰는 앱 내 구입 키는 서버의 비밀 저장소(Secret Manager)에만 두고 앱에는 넣지 않으며, App Store가 보낸 거래 정보와 알림은 Apple의 서명을 확인한 뒤에만 씁니다.
- Google Play 게임즈 연결에 쓰는 인증 코드는 한 번만 쓸 수 있고, Firebase 인증이 Google에 확인하는 데에만 씁니다. 그 확인에 쓰는 웹 클라이언트 보안 비밀번호는 Firebase에만 두고 앱에는 넣지 않습니다.
- 구매 젬 이어 쓰기는 Google Play 게임즈로 로그인한 계정만 요청할 수 있습니다. 회사 서버는 남겨지는 익명 계정의 인증 토큰으로 요청한 쪽이 그 계정을 가졌는지 확인하고(토큰은 저장하지 않습니다), 익명 계정마다 한 번만 옮기며, 그 설치가 가진 젬보다 많이 옮기지 않습니다.
- Firebase·Google Cloud 콘솔, Play Console의 주문 기록과 App Store Connect에 접근할 수 있는 사람은 게임 운영에 필요한 담당자로 제한합니다.
- 운영 통계 화면에는 개인을 알아볼 수 없는 합계만 있고, 보안 규칙으로 대표이사의 Google 계정만 그 합계를 읽을 수 있습니다.
- 결제는 Google Play(iPhone은 App Store)의 결제 화면에서 이루어지며, 앱과 회사는 카드 번호 같은 결제 수단 정보를 다루지 않습니다.
8. 아동의 개인정보
게임은 만 13세 이상 일반 이용자를 대상으로 하며, 아동을 주 대상으로 하지 않습니다. 회사는 만 14세 미만 아동의 개인정보를 법정대리인의 동의 없이 알면서 처리하지 않습니다. 만 14세 미만 아동의 정보가 처리된 것을 알게 되거나 법정대리인이 요청하면 지체 없이 삭제합니다. 광고가 켜진 뒤에는(지금은 Android 게임만) 처음 한 번 태어난 해를 묻고, 만 14세 미만일 수 있거나 답하지 않은 이용자의 광고는 맞춤형이 아닌 아동 대상 처리로만 요청합니다(1-9). 이 답은 이용자의 휴대전화에만 있어 회사는 이용자의 나이를 알지 못합니다.
9. 개인정보 보호책임자
| 회사 | 주식회사 아르고존 (대표이사 조남희) 서울특별시 구로구 디지털로26길 61, 2002호 (구로동, 에이스하이엔드타워2차) |
|---|---|
| 개인정보 보호책임자 | 조남희, 대표이사 |
| 연락처 | help@argozone.com · 02-830-4090 |
10. 권익침해 구제 방법
개인정보 침해에 대한 상담이나 분쟁 해결이 필요하면 아래 기관에 문의할 수 있습니다.
- 개인정보침해신고센터 (한국인터넷진흥원): 국번 없이 118, privacy.kisa.or.kr
- 개인정보분쟁조정위원회: 1833-6972, www.kopico.go.kr
- 대검찰청: 국번 없이 1301, www.spo.go.kr
- 경찰청: 국번 없이 182, ecrm.police.go.kr
11. 방침의 변경
게임에 광고처럼 처리하는 정보가 달라지는 기능이 들어가거나 결제 같은 기능의 처리가 바뀌면 이 방침을 먼저 고칩니다. 게임 버전 1.0이 스토어에 정식 출시된 뒤에 이 방침을 바꿀 때는 아래와 같이 알리고 시행하며, 그때부터 시행일과 바뀐 점을 이 페이지에 기록합니다.
- 이용자에게 불리한 변경, 예를 들어 이미 수집한 정보를 새로운 목적이나 더 넓은 범위로 이용하거나, 제3자 제공을 새로 하거나, 기존 이용자가 직접 무언가를 하지 않아도 새로운 정보를 수집하게 되는 변경은 시행 7일 전까지 이 페이지와 스토어 등록정보에 미리 알립니다. 그중 중요한 변경은 시행 30일 전까지 알립니다.
- 그 밖의 변경은 이 페이지에 올린 날부터 시행합니다. 예를 들어 구매처럼 이용자가 직접 선택할 때에만 시작되는 처리를 더하는 변경이 여기에 해당합니다.