enosey · Nonogram 3D - Cube Objet

Privacy Policy
개인정보처리방침

Updated / 갱신일: 2026-11-03 · Android v100

This policy describes the Android app through version 100, including optional Google/Firebase accounts, account-separated cloud records and achievements, optional public rankings and profiles, advertising and server-verified ad-removal purchases. Availability depends on the installed version, network access and Google Play installation/test eligibility. Older versions can use the historical game-account purchase policy described in section 5. The app does not provide manual JSON import/export. Older offline builds and the browser game do not use these native account, ad and purchase integrations.
이 방침은 Android 100 버전까지의 선택적 Google/Firebase 계정, 계정별 클라우드 기록·업적, 선택적으로 참여하는 공개 순위·프로필, 광고 및 서버에서 검증하는 광고 제거 구매를 설명합니다. 기능 사용 가능 여부는 설치 버전·네트워크·Google Play 설치 및 테스트 자격에 따라 다릅니다. 구버전에는 5항에 설명된 종전의 게임 계정 귀속 구매 정책이 적용될 수 있습니다. 앱은 수동 JSON 가져오기·내보내기를 제공하지 않습니다. 이전 오프라인 빌드와 브라우저 게임에는 아래의 네이티브 계정·광고·결제 연동이 없습니다.

English

1. Developer and contact

enosey provides Nonogram 3D - Cube Objet. Contact krwincar@gmail.com for privacy, support, access, correction and deletion requests.

2. Device records and guest play

You can play puzzles without signing in. Puzzle progress, completion records, best times, per-puzzle view/rotation-lock choices and other preferences are saved on the device. Guest records and signed-in game-account records are kept in separate local scopes; switching accounts does not automatically transfer another account's records. Certain older pre-account records may be migrated only to the verified original account when the account service authorizes that migration; a prior account deletion prevents this automatic legacy import. General device preferences, such as language and audio choices, are not cloud-synced. Clearing app/site storage or uninstalling can remove local records. Version 42 has no manual JSON import/export or document picker. The app uses Internet access and optional vibration, and does not request precise location, contacts, camera, microphone or broad file access.

3. Google/Firebase accounts and cloud continuation

Optional Google sign-in uses Android Credential Manager and Firebase Authentication to create or access a game account. Google/Firebase process the Google-provider identity, Firebase UID, name, email, authentication credentials and related service information. The native app validates Google and Firebase ID-token signatures and relevant claims. Firebase's native SDK maintains the authenticated session on the device and can restore or refresh it after restart; signing in again may be needed when verification or network access fails. This is not the temporary, memory-only session used by version 41.

The game derives a stable account-scoping key from a hash of the verified Google-provider identifier and a separate record-lifetime key from a hash of the current Firebase UID. It stores those derived keys with local account-scoped records. The game WebView receives the derived keys, verified display name/email and session status, plus the Firebase UID for rankings from v96, but never the original Google-provider identifier or ID/refresh tokens. Credentials are handled by the native Firebase SDK, not stored in the game's WebView or localStorage. These derived keys remain account identifiers, not anonymous data. Recreating a deleted game account with the same Google identity does not automatically restore or upload local records belonging to the former Firebase UID.

From version 42, while signed in, the app synchronizes puzzle progress and continuation state, completion, best time, per-puzzle view/rotation-lock settings and reset/conflict metadata through Cloud Firestore under the authenticated Firebase UID. Data is compressed for transport/storage; compression is not encryption. Network transfers use the providers' encrypted connections. Server revisions prevent blind overwrites. From Android v75, a pending upload snapshot is retained in the same account-scoped local record until its result is reconciled, so an interrupted response can be retried without treating a confirmed earlier upload as a separate edit. Conflicting puzzle records are resolved automatically: completion takes priority, otherwise the whole snapshot with more correctly filled or marked cells is selected. Ties use a deterministic rule, and the lowest best time is preserved. The most recent unselected snapshot is retained locally as a bounded recovery copy. Uncontested resets and undo still apply. Earlier versions may ask which record to keep; this policy does not combine every offline edit into one puzzle state. Guest play remains device-only, and signing out does not delete either local account records or cloud records.

The database and account Functions use the project's Seoul region; Authentication and Google/provider processing may occur outside Korea. Firebase App Check with Play Integrity processes app/installation and device-integrity information for the account-context, purchase-verification, account-deletion and ranking Functions. Those Functions require App Check, with recognized-app and Google Play licensing checks; unsupported installations or failed checks can prevent account services from working. Firestore separately applies authenticated ownership and deletion-blocking access rules; direct Firestore record requests do not currently require App Check enforcement. See Firebase privacy information and Google Privacy Policy.

Signing out clears the game's active authenticated Firebase session and requests clearing provider credential state. It does not sign out the device or Google Play account, revoke Google account permissions, delete saved game records or itself refund/remove a Play purchase. Earlier test accounts/backups are not deleted just by installing this update; legacy deletion requests remain available below.

3a. Game-account rankings, profiles and achievements

From Android v96, game rankings and in-game achievements use the Google/Firebase account selected inside the game, separately from the device's Google Play Games profile. For each ranked puzzle result, the app sends the puzzle identifier, elapsed time and number of distinct occupied cells revealed by hints to an authenticated, App Check-protected service. The service calculates points using fixed puzzle data and stores the account's per-puzzle best points, time and hint records, total score and earned achievements under its Firebase UID. The best time is the shortest eligible recorded completion time and is tracked separately from the highest points, so they may come from different runs. An improved score replaces the previous contribution; repeatedly completing a puzzle does not add its points again.

These records are private by default. From Android v98, explicitly confirming “Publish records” will make your default public player label or chosen nickname, total score, rank, earned achievements, per-puzzle highest points and shortest completion times visible together to other players. Turning record publication off hides the public leaderboard entry and profile while preserving your own records, scores and achievements. Selecting a participating player in the rankings opens that public profile.

From Android v99, you can set or clear an account nickname. It is stored under the same Firebase UID even when your records are private and is visible to other players only while your profile is published. Changing it does not publish private records or change your Google account name. Clearing it restores the default public label. From Android v100, new nickname selections must be unique across accounts, including private accounts, after Unicode and case normalization. The server stores a private normalized-key reservation linked to its owner UID. Existing duplicate nicknames are retained without arbitrary renaming, but other accounts cannot newly claim them. Renaming, resetting the nickname or deleting the account releases that account’s reservation.

Android v97 offered separate leaderboard-participation and completion-time-sharing choices, with time sharing off by default. Those earlier choices remain respected. If your times were private, installing an update, viewing the rankings or syncing records will not publish them. The new combined publication setting takes effect only after you explicitly confirm it. Earlier app versions can continue to offer their separate controls. Publication and time-sharing preferences are stored for the same game account across devices. The default public label is derived from the Firebase UID. The public leaderboard and profiles do not automatically display the Google account name, email or raw Firebase UID. The default label and chosen nickname remain linked to the game account on the server.

To include earlier completions, the service can read existing cloud records belonging to the same Firebase UID. A completed puzzle must have a valid positive recorded best time. Eligible older records saved before the historical-score migration on 3 November 2026 are scored using their recorded time and an assumption of zero hints; this is an estimate because their hint-use history is unavailable. Earlier minimum-point historical imports can also be recalculated using their original imported time after matching a valid cloud completion. Existing higher scores and faster times are preserved. Newly uploaded completions after the migration cutoff receive the minimum completion point until their actual hint-aware ranked result arrives; genuine ranked results are not reclassified as zero-hint historical results. Completion flags without a valid time are not imported. Later cloud uploads can be checked again. This processing does not join the leaderboard or broaden the account's public disclosures.

Offline score updates wait on the device for the same game account to reconnect. Guest scores and another account's pending results are not automatically transferred into the signed-in account. Older Play Games leaderboard scores are not automatically assigned to these game accounts. The game WebView receives the Firebase UID for record ownership, but no Google or Firebase authentication tokens. Deleting the game account through the account-deletion process in section 6 removes its server-side scores, achievements, nickname, participation and time-sharing settings, and public ranking/profile data. Historical Google Play Games achievements are managed separately by Google under the Play Games profile; deleting this game's Firebase account does not delete that Google-managed history. Google's account and Play Games controls apply to those records.

4. Advertising and choices

The Android app uses Google AdMob. Its SDK can process IP-derived approximate location, ad interactions/views, performance/diagnostic data and device/account identifiers for advertising, measurement and fraud prevention, using encrypted transfers. The game does not supply GPS coordinates. See Google Mobile Ads data disclosure.

All difficulties, including Easy, may show a bottom banner. Easy puzzles have no post-clear ads; other difficulties may show a post-clear ad. Android v76 reserves the bottom banner space from the initial layout and keeps that space empty when no banner is displayed, including when no ad is available or ad removal applies. Reserving the space does not itself request or show an ad, and consent and purchase eligibility still apply. All difficulties offer optional rewarded ads for hints; an incomplete or failed ad does not grant the reward. Where required, Google's consent message provides choices before ad requests; the in-app ad privacy option appears when required. Android also provides advertising-ID controls. Dedicated ad-test builds use test ad units; Play testing-track builds may use live ad units.

5. Ad removal through Google Play

Purchase policy updated 2026-10-23 for Android v74. Game-account sign-in authenticates purchase-verification requests, but ad removal is based on the purchase currently returned by Google Play, not one particular game login. Switching between game accounts does not require another purchase when the same valid Play purchase is available. Puzzle and cloud records remain separate for each game account. Logging in or out of the game does not select or change the Play billing account. The one-time remove_ads purchase removes banners and post-clear ads only; rewarded hint ads remain. Google Play displays the final local price and handles payment details. The developer does not receive your card number or payment password.

The native app validates the receipt signature and sends its current Play purchase token to an authenticated, App Check-protected service. The service verifies the product/package and purchase status using the Google Play Developer API and acknowledges qualifying purchases. Every restoration requires a current Play receipt and server verification; a game-account purchase history alone does not grant the benefit. Verification responses are valid for at most 60 seconds, and network or verification failures can make verification temporarily unavailable. Pending, cancelled and invalid purchases do not grant ad removal. Android versions 42–73 used game-account-bound purchase records and account-attribution tags; those older server records may remain under the deletion and retention terms below, but their account binding does not restrict v74's verified Play-purchase benefit.

6. Deletion and retention

In version 42, use the account-deletion action in the app's settings, confirm it and complete a recent Google authentication if requested. The account service deletes that game's Firebase Auth identity, Firestore user records and cloud progress, private raw receipt tokens and active entitlement linkage. Partial failures must be retried; the app reports completion only after server confirmation. The device receiving that confirmation then clears local records for that account lifetime; guest records and unrelated accounts are preserved. A small local deletion receipt can remain until that scoped cleanup is confirmed. Offline copies on another device are not remotely erased immediately; former-account local caches are excluded when a new account lifetime is verified. Clear app/site storage to remove remaining local copies.

Account deletion is not a Google-account deletion, a Google Play transaction deletion or a refund. Minimal token-hash-to-owner-account claims and deletion/anti-replay markers are retained to prevent a previously claimed purchase from being transferred to another account or stale requests from recreating deleted data. A server-only record-policy marker linked to the hashed Google account key is also retained to prevent old local records from being automatically imported after account recreation. These are still account-related identifiers; they do not retain the raw receipt token, profile name or email. Operational deletion markers can retain the old Firebase UID to block stale credentials, and minimal request-rate counters may remain for abuse prevention. With raw tokens deleted, automatic cloud re-verification of that purchase stops; the same verified Google identity may need to submit its original Play receipt again after recreating a game account.

To delete local-only data, clear app/site storage. Logging out, updating or uninstalling is not a request to delete server data. For an external deletion request, or access/correction/deletion of earlier test accounts and manual backups, email krwincar@gmail.com, using the linked address when possible. This section is the external deletion-request page; no app installation is required to email the request. Do not send passwords, payment-card details or purchase tokens in an ordinary support email. We may ask for proportionate account-ownership verification.

Active cloud records and account information are kept while the account is used, until deletion is requested/completed or applicable requirements require otherwise. Minimal security, purchase anti-replay and legacy-import-suppression identifiers are retained as needed for those purposes and do not expire automatically. Support email is used to respond and verify requests and retained only as needed for that purpose or applicable requirements. Provider operational logs/backups and Google Play transaction records follow their own retention processes; erasure from every provider backup is not instantaneous.

7. Providers and changes

Google/Firebase, AdMob, Google Play and Gmail provide the services described above. Hosting providers process technical request information to deliver websites. We do not sell puzzle save records. Do not submit unnecessary personal or children's information in support messages. A parent or guardian can contact us about information a child supplied. Material policy changes are published here with an updated date.

한국어

1. 개발자와 문의

enosey는 노노그램 3D - 큐브 오브제를 제공합니다. 개인정보 보호·문의·열람·정정·삭제 요청 연락처는 krwincar@gmail.com입니다.

2. 기기 기록과 비로그인 플레이

로그인 없이 퍼즐을 플레이할 수 있습니다. 퍼즐 진행·완료 기록·최고 시간·퍼즐별 보기·회전잠금 설정 및 기타 환경설정은 기기에 저장합니다. 비로그인 기록과 로그인한 게임 계정의 기록은 기기에서도 분리하며 계정을 바꾼다고 다른 계정의 기록을 자동 이전하지 않습니다. 일부 과거 계정 도입 전 기록은 계정 서비스가 허용할 때 검증된 원래 계정에만 이전할 수 있으며, 이전 계정 삭제 이력이 있으면 자동으로 가져오지 않습니다. 언어·소리 같은 일반 기기 설정은 클라우드 동기화 대상이 아닙니다. 앱·사이트 저장 공간 삭제나 앱 삭제로 기기 기록이 지워질 수 있습니다. 42 버전에는 수동 JSON 가져오기·내보내기와 파일 선택기가 없습니다. 앱은 인터넷과 선택적 진동을 사용하며 정확한 위치·연락처·카메라·마이크·저장소 전체 접근 권한을 요청하지 않습니다.

3. Google/Firebase 계정과 클라우드 이어하기

선택적 Google 로그인은 Android Credential Manager와 Firebase Authentication을 이용해 게임 계정을 만들거나 이용합니다. Google/Firebase는 Google 제공자 식별정보, Firebase UID, 이름·이메일, 인증 자격정보 및 서비스 운영 정보를 처리합니다. 네이티브 앱은 Google·Firebase ID 토큰의 서명과 관련 인증 정보를 검증합니다. Firebase 네이티브 SDK는 기기에 인증 세션을 유지하고 앱 재시작 후 복원·갱신할 수 있습니다. 네트워크나 인증 재검증이 실패하면 다시 로그인이 필요할 수 있습니다. 이는 41 버전의 메모리 전용 임시 세션과 다릅니다.

게임은 검증된 Google 제공자 식별자를 해시한 고정 계정 구분 키와 현재 Firebase UID를 해시한 별도의 기록 수명 구분 키를 만들고 계정별 기기 기록과 함께 저장합니다. 게임 WebView에는 이 구분 키들과 검증된 표시 이름·이메일, 세션 상태를 전달하며 v96부터 순위 처리를 위한 Firebase UID도 전달합니다. 원래 Google 제공자 식별자와 ID·갱신 토큰은 전달하지 않습니다. 인증 자격정보는 네이티브 Firebase SDK가 처리하며 게임 WebView나 localStorage에 저장하지 않습니다. 구분 키 역시 계정 관련 식별정보이며 익명 정보라고 볼 수 없습니다. 같은 Google 계정으로 삭제한 게임 계정을 다시 만들어도 이전 Firebase UID에 속한 기기 기록을 자동 복원하거나 업로드하지 않습니다.

42 버전부터 로그인 중 인증된 Firebase UID 아래의 Cloud Firestore에 퍼즐 진행과 이어하기 상태, 완료 여부·최고 기록, 퍼즐별 보기·회전잠금 설정 및 초기화·충돌 처리 정보를 동기화합니다. 전송·저장 용량을 줄이기 위해 기록을 압축하며 압축은 암호화가 아닙니다. 네트워크 전송에는 제공자의 암호화된 연결을 사용합니다. 서버 리비전으로 무조건 덮어쓰기를 방지합니다. Android v75부터 전송 중인 기록은 처리 결과를 확인할 때까지 같은 계정의 기기 기록에 보관하여, 응답이 끊긴 뒤 재시도할 때 이미 확인된 이전 업로드를 별도 조작으로 취급하지 않도록 합니다. 여러 기기의 퍼즐 기록이 충돌하면 완료 기록을 우선하고, 진행 중인 퍼즐은 맞게 색칠하거나 X 표시한 칸이 더 많은 기록 하나를 자동 선택합니다. 동률은 일관된 고정 기준으로 선택하며 최단 기록은 보존합니다. 선택되지 않은 최근 기록 하나는 기기에 복구용으로 보관합니다. 다른 기기와 충돌하지 않는 초기화와 되돌리기는 그대로 반영합니다. 이전 버전은 기록 선택을 요청할 수 있으며, 모든 오프라인 조작을 하나의 퍼즐 상태로 합치는 방식은 아닙니다. 비로그인 플레이는 기기 저장만 사용하고 로그아웃만으로 계정의 기기·클라우드 기록을 삭제하지 않습니다.

기록 데이터베이스와 계정 Functions는 프로젝트의 서울 지역을 사용하며 Authentication 및 Google·제공자 처리는 국외에서도 이루어질 수 있습니다. 계정 기록 범위 확인·구매 검증·계정 삭제·순위 Functions의 부정 이용 방지를 위해 Firebase App Check와 Play Integrity가 앱·설치 및 기기 무결성 관련 정보를 처리합니다. 해당 Functions는 App Check와 인식된 앱·Google Play 라이선스 검사를 요구하므로 지원되지 않는 설치나 검사 실패 시 계정 서비스를 이용하지 못할 수 있습니다. Firestore에는 별도로 인증된 소유자와 삭제 차단 상태를 확인하는 접근 규칙을 적용하며 현재 Firestore 직접 기록 요청에는 App Check를 강제하지 않습니다. Firebase 개인정보 안내와 Google 개인정보처리방침을 확인할 수 있습니다.

로그아웃하면 게임의 활성 Firebase 인증 세션을 지우고 제공자 인증 상태 초기화를 요청합니다. 기기나 Google Play 계정 로그아웃, Google 계정 권한 철회, 저장된 게임 기록 삭제 또는 구매 환불을 뜻하지 않습니다. 업데이트만으로 이전 테스트 계정·백업을 삭제하지 않으며 아래 연락처로 과거 기록 삭제를 요청할 수 있습니다.

3가. 게임 계정별 순위·프로필·업적

Android v96부터 게임 순위와 게임 내 업적은 기기의 Google Play 게임즈 프로필과 별도로, 게임 안에서 선택한 Google/Firebase 계정을 기준으로 구분합니다. 순위에 반영할 퍼즐을 완료하면 퍼즐 식별자, 소요 시간, 힌트로 공개된 중복을 제외한 색칠 칸 수를 인증 및 App Check로 보호되는 서비스에 전송합니다. 서버는 고정된 퍼즐 정보로 점수를 계산하고, Firebase UID 아래에 계정별 퍼즐 최고 점수·시간·힌트 기록, 총점과 획득한 업적을 저장합니다. 시간 기록은 반영 조건을 충족한 완료 기록 중 최단 시간을 따로 보관하므로 최고 점수와 서로 다른 플레이에서 나온 기록일 수 있습니다. 더 높은 점수는 기존 점수를 대체하며 같은 퍼즐을 반복해서 완료해도 점수를 중복해서 더하지 않습니다.

이 기록은 기본적으로 비공개입니다. Android v98부터 이용자가 “기록 공개”에 명시적으로 동의하면 기본 공개 플레이어 이름 또는 직접 설정한 닉네임, 총점, 순위, 획득한 업적, 퍼즐별 최고 점수와 최단 완료 시간을 함께 다른 플레이어에게 보여줍니다. 기록 공개를 끄면 공개 순위 항목과 프로필을 숨기며 본인의 기록·점수·업적은 유지합니다. 순위에서 참여자를 선택하면 해당 공개 프로필을 볼 수 있습니다.

Android v99부터 계정의 닉네임을 설정하거나 지울 수 있습니다. 닉네임은 기록을 비공개로 두어도 같은 Firebase UID 아래에 저장되며, 프로필을 공개한 동안에만 다른 플레이어에게 표시됩니다. 닉네임을 변경해도 비공개 기록이 공개되거나 Google 계정 이름이 바뀌지 않습니다. 닉네임을 지우면 기본 공개 이름으로 돌아갑니다. Android v100부터 새로 선택하는 닉네임은 비공개 계정을 포함하여 다른 계정과 중복될 수 없으며, 유니코드 정규화와 대소문자를 구분하지 않는 비교를 적용합니다. 서버는 정규화한 이름의 예약 키와 소유 UID를 비공개로 저장합니다. 기존에 중복된 이름은 임의로 바꾸지 않고 유지하지만 다른 계정이 새로 같은 이름을 선택할 수는 없습니다. 이름 변경·닉네임 초기화·계정 삭제 시 해당 계정의 예약을 해제합니다.

Android v97에서는 순위 참여와 완료 시간 공개를 별도로 선택하며 시간 공개의 기본값은 꺼짐이었습니다. 기존에 선택한 공개 범위는 유지합니다. 시간을 비공개로 설정한 이용자의 기록은 업데이트 설치·순위 화면 열기·기록 동기화만으로 공개되지 않습니다. 새로 통합된 기록 공개 설정은 이용자가 명시적으로 확인한 뒤에만 적용합니다. 이전 앱 버전은 별도 설정을 계속 제공할 수 있습니다. 기록 공개·시간 공개 설정은 다른 기기에서도 같은 게임 계정에 연결됩니다. 기본 공개 이름은 Firebase UID를 바탕으로 만듭니다. 공개 순위·프로필에 Google 계정 이름·이메일·원본 Firebase UID를 자동으로 표시하지 않습니다. 기본 이름과 직접 설정한 닉네임은 서버에서 게임 계정과 연결됩니다.

이전 완료 기록도 반영할 수 있도록 서버는 같은 Firebase UID에 속한 기존 클라우드 기록을 확인할 수 있습니다. 완료 여부와 유효한 양수의 최고 시간이 저장된 퍼즐이 대상입니다. 2026년 11월 3일 과거 점수 이관 기준 시점 전에 서버에 저장된 해당 과거 기록은 저장된 시간과 힌트 0회 가정으로 점수를 계산합니다. 실제 힌트 사용 이력이 없는 기록에 적용하는 추정값입니다. 이전에 최소 점수로 가져온 과거 기록도 유효한 클라우드 완료 기록과 대조한 뒤 당시 가져온 시간을 기준으로 다시 계산할 수 있습니다. 이미 저장된 더 높은 점수와 더 빠른 시간은 유지합니다. 이관 기준 시점 이후 새로 업로드된 완료 기록은 실제 힌트 사용량이 포함된 순위 결과가 도착할 때까지 완료 최소 점수로 반영하며, 실제 순위 결과를 힌트 0회의 과거 기록으로 다시 분류하지 않습니다. 유효한 시간이 없는 완료 표시만으로는 순위 기록에 반영하지 않습니다. 나중에 클라우드에 올라온 기록도 다시 확인할 수 있습니다. 이러한 처리가 순위에 자동으로 참여시키거나 기존 공개 범위를 넓히지는 않습니다.

오프라인 점수는 기기에 보관한 뒤 같은 게임 계정이 다시 연결되면 전송합니다. 비로그인 점수나 다른 계정의 전송 대기 기록을 현재 계정으로 자동 이전하지 않습니다. 이전 Play 게임즈 순위 점수도 이 게임 계정들에 자동으로 귀속시키지 않습니다. 게임 WebView에는 기록의 소유 계정을 구분하기 위한 Firebase UID를 전달하지만 Google·Firebase 인증 토큰은 전달하지 않습니다. 6항의 절차에 따라 게임 계정을 삭제하면 서버의 점수·업적·닉네임·순위 참여·시간 공개 설정과 공개 순위·프로필 정보를 삭제합니다. 이전 Google Play 게임즈 업적 이력은 Google이 Play 게임즈 프로필 아래에서 별도로 관리하므로 이 게임의 Firebase 계정 삭제만으로 해당 Google 관리 이력까지 삭제되지는 않습니다. 해당 기록에는 Google 계정과 Play 게임즈의 관리 기능이 적용됩니다.

4. 광고와 선택

Android 앱은 Google AdMob을 사용합니다. SDK는 광고·측정·부정 이용 방지를 위해 IP 기반 대략적 위치, 광고 상호작용·시청, 성능·진단 정보, 기기·계정 식별자를 암호화된 전송으로 처리할 수 있습니다. 게임은 GPS 좌표를 제공하지 않습니다. Google 모바일 광고 정보 처리 안내를 확인할 수 있습니다.

입문을 포함한 모든 난이도에서 하단 배너가 나올 수 있습니다. 입문에는 클리어 후 광고가 없고 다른 난이도에는 클리어 후 광고가 나올 수 있습니다. Android v76은 첫 화면 배치부터 하단 배너 공간을 확보하며, 광고가 없거나 광고 제거가 적용되어 배너를 표시하지 않을 때도 해당 공간을 비워 둡니다. 공간 확보 자체가 광고 요청이나 표시를 뜻하지 않으며 동의·구매에 따른 광고 표시 조건은 그대로 적용합니다. 모든 난이도에서 힌트를 위한 보상형 광고를 선택할 수 있으며 시청 미완료·광고 실패 시 보상을 제공하지 않습니다. 필요한 지역에서는 광고 요청 전에 Google 동의 화면을 제공하고 재선택이 필요한 경우 앱 설정에 광고 개인정보 옵션을 표시합니다. Android의 광고 식별자 설정도 사용할 수 있습니다. 별도의 광고 테스트 빌드는 테스트 광고 단위를 사용하지만 Play 테스트 트랙 빌드에는 실제 광고 단위가 사용될 수 있습니다.

5. Google Play 구매에 따른 광고 제거

2026-10-23 갱신된 Android v74의 구매 정책입니다. 게임 계정 로그인은 구매 검증 요청을 인증하는 데 사용하지만, 광고 제거는 특정 게임 로그인 하나가 아니라 현재 Google Play가 반환하는 구매를 기준으로 적용합니다. 같은 유효한 Play 구매가 확인되면 게임 로그인 계정을 바꿔도 다시 구매할 필요가 없습니다. 퍼즐과 클라우드 기록은 게임 계정별로 계속 분리됩니다. 게임 로그인·로그아웃으로 Play 결제 계정을 선택하거나 변경하지 않습니다. 일회성 remove_ads 구매는 배너·클리어 후 광고만 제거하고 보상형 힌트 광고는 유지합니다. Google Play가 최종 현지 가격을 표시하고 결제 정보를 처리하며 개발자는 카드 번호·결제 비밀번호를 받지 않습니다.

네이티브 앱은 영수증 서명을 검증하고 현재 Play 구매 토큰을 인증 및 App Check로 보호되는 서비스에 전달합니다. 서비스는 Google Play Developer API로 상품·패키지와 구매 상태를 확인하고 유효한 구매를 확인 처리합니다. 복원할 때마다 현재 Play 영수증과 서버 검증이 필요하며, 게임 계정의 과거 구매 이력만으로 혜택을 부여하지 않습니다. 검증 응답의 유효기간은 최대 60초이고 네트워크·검증 실패 시 일시적으로 확인할 수 없을 수 있습니다. 대기·취소·유효하지 않은 결제에는 광고 제거를 적용하지 않습니다. Android 42–73은 게임 계정에 귀속된 구매 기록과 계정 구분 태그를 사용했습니다. 해당 구버전 서버 기록은 아래의 삭제·보관 기준에 따라 남아 있을 수 있지만, 그 계정 귀속은 v74의 검증된 Play 구매 혜택을 제한하지 않습니다.

6. 삭제와 보관

42 버전에서는 앱 설정의 계정 삭제를 선택하고 확인한 뒤, 요청되는 경우 최근 Google 인증을 완료해 삭제를 요청할 수 있습니다. 계정 서비스는 해당 게임의 Firebase 인증 계정, Firestore 사용자·클라우드 진행 기록, 원본 비공개 영수증 토큰과 활성 혜택 연결을 삭제합니다. 일부 처리 실패 시 다시 요청해야 하며 서버 확인 후에만 완료를 안내합니다. 삭제 확인을 받은 기기는 해당 계정 수명에 속한 기기 기록을 지우고 비로그인 기록과 관계없는 계정 기록은 보존합니다. 해당 범위의 정리가 확인될 때까지 기기에 작은 삭제 확인 영수증이 남을 수 있습니다. 다른 오프라인 기기에 있는 복사본까지 즉시 원격 삭제되지는 않으며 새 계정 수명이 검증되면 이전 계정의 기기 캐시를 사용하지 않습니다. 남아 있는 기기 복사본은 앱·사이트 저장 공간에서 삭제할 수 있습니다.

게임 계정 삭제는 Google 계정 자체·Google Play 거래 내역 삭제나 환불을 뜻하지 않습니다. 이미 귀속된 구매의 다른 계정 이전이나 오래된 요청의 삭제 기록 재생성을 방지하기 위해 토큰 해시와 소유 계정 간 최소 연결, 삭제·재사용 방지 표식을 유지합니다. 계정을 다시 만든 뒤 과거 기기 기록을 자동으로 가져오지 않도록 해시한 Google 계정 키에 연결된 서버 전용 기록 정책 표식도 보관합니다. 이 역시 계정 관련 식별정보이지만 원본 영수증 토큰·프로필 이름·이메일은 해당 최소 표식에 남기지 않습니다. 운영상 삭제 표식에는 오래된 인증 요청 차단을 위한 이전 Firebase UID가 남을 수 있고 부정 이용 방지를 위한 최소 요청 횟수 값도 남을 수 있습니다. 원본 토큰을 삭제하면 해당 구매의 자동 클라우드 재검증은 중단되며 같은 검증된 Google 계정으로 게임 계정을 다시 만든 후 원래 Play 영수증을 다시 제출해야 복원할 수 있습니다.

기기에만 있는 기록은 앱·사이트 저장 공간에서 삭제할 수 있습니다. 로그아웃·업데이트·앱 삭제는 서버 데이터 삭제 요청이 아닙니다. 외부 삭제 요청이나 과거 테스트 계정·수동 백업의 열람·정정·삭제 요청은 가능한 경우 연결한 주소에서 krwincar@gmail.com으로 보내 주세요. 이 항목이 앱 설치 없이 사용할 수 있는 외부 삭제 요청 안내입니다. 비밀번호·카드 정보·구매 토큰은 일반 문의 메일로 보내지 마세요. 필요한 범위에서 계정 소유 확인을 요청할 수 있습니다.

활성 클라우드 기록과 계정 정보는 계정을 이용하는 동안 보관하며 삭제 요청·처리 또는 적용 요건에 따라 정리합니다. 최소 보안·구매 재사용 방지·과거 기록 자동 가져오기 차단 식별자는 해당 목적에 필요한 동안 유지하며 자동 만료되지는 않습니다. 문의 이메일은 응대·요청 확인에 사용하며 해당 목적이나 적용 요건에 필요한 동안 보관합니다. 제공자의 운영 로그·백업과 Google Play 거래 기록은 각 서비스의 보관 절차를 따르며 모든 제공자 백업에서 즉시 삭제된다는 뜻은 아닙니다.

7. 제공자와 변경

Google/Firebase·AdMob·Google Play·Gmail이 위 서비스를 제공합니다. 웹 호스팅 제공자는 사이트 제공을 위해 기술적 접속 정보를 처리합니다. 퍼즐 저장 기록을 판매하지 않습니다. 문의 시 불필요한 개인정보·아동 정보를 보내지 마세요. 보호자는 아동이 제공한 정보에 관해 문의할 수 있습니다. 중요한 방침 변경은 이 페이지에 갱신일과 함께 게시합니다.