Privacy Policy
Ggeomddakji (껌딱지, “we”) processes the personal information of people who use the mobile game Fennec Garden (사막여우 퍼즐) (the “App”) in accordance with the Personal Information Protection Act of the Republic of Korea and other applicable laws. This policy applies to the iOS (App Store) and Android (Google Play) versions of the App and to the online ranking server the App uses.
Summary
- There is no sign-up or login. We do not collect your name, email address, phone number, location, contacts or photos.
- The App does not use advertising, advertising identifiers (IDFA / Advertising ID), analytics or tracking tools, or cookies.
- Game progress and purchase records are stored on your device and, while you are online, are automatically backed up to our server in case you reinstall or change devices (cloud save). You can bring them back on another device with a recovery code.
- For the global cumulative ranking, random anonymous identification data, a nickname, an avatar combination and puzzle results are sent to our server.
- Payments are processed by Apple and Google. We never receive card numbers or other payment details. To verify payments and handle refunds, we look up and record the purchase with the store using the transaction ID.
- When the operator grants Sunshine for compensation or events, a record of the grant is kept on the server.
Information we process and how it is collected
When the App is first launched it creates a random 64-character anonymous key (the “installation key”) and stores it on the device. The App uses this key to identify you when it talks to the server for the online ranking and cloud save. The server never stores the key itself, only its SHA-256 hash. The information below does not by itself identify a specific person, but because it could be combined with other information we protect it as personal information.
| Category | Items | How collected · where stored |
|---|---|---|
| Online ranking profile | SHA-256 hash of the installation key, player number assigned by the server, nickname, avatar combination (IDs of the equipped fox, accessory and eye-color cosmetics), cumulative score, next allowed nickname change time, creation and update times | Sent automatically by the App (you enter the nickname yourself after completing all 5×5 stages) · server |
| Puzzle results | Random result ID, puzzle ID and stage ID, board size, score, time taken, time received by the server | Sent automatically by the App after you complete a puzzle · server |
| Cloud save (backup) | Your entire game save (progress and clear records, Sunshine, items, props and cosmetics owned and equipped, settings such as language, sound and vibration, transaction IDs (purchase tokens on Google Play) and product IDs of in-app purchases, save number, records of operator grants applied), a hash of the save, platform (iOS/Android/other), App version, save time, the 5 most recent save versions, and the hash of the recovery code with its issue and use times | Sent automatically by the App while online (about 30 seconds after a change and when the App goes to the background) · server. There is no separate off switch; nothing is sent while offline |
| Store payment verification records | Platform, store transaction ID (purchase token on Google Play), product ID, player number, report and check times and verification status, plus the following looked up from the store: purchase time, price and currency (App Store), country / storefront region, order number (Google Play), original transaction ID (App Store), environment (production/test), and whether, when and why the purchase was refunded or canceled | After a purchase the App reports the transaction ID, product ID and platform to the server during cloud sync (unreported records are sent at the next sync) → the server looks them up via the Apple App Store Server API or the Google Play Developer API and stores the result. When Apple or Google sends a payment status notification (such as a refund), the server looks the purchase up again · server |
| Operator grant records | Grant ID, recipient player number, amount of Sunshine, reason, operator who registered it, times of registration, receipt and cancellation | Registered by the operator for compensation or events → the App receives it at the next sync, keeps the grant ID in the game save and applies it only once · server |
| Generated while using the service | IP address, server request records such as request time, path and response status | Processed automatically by the Cloudflare network (see sections 4 and 6) |
| Stored on the device | The game save above (backed up by cloud save), the installation key itself, the recovery code itself, and a copy of the previous save kept when you restore | App storage on the device · the installation key, the recovery code itself and the previous-save copy are never sent to the server |
| Inquiries | Email address, content of the inquiry and any attachments you send | Provided by you by email |
To verify scores, the App also sends the start and completion times, number of mistakes, number of hints and items used, rules version and similar data together with each result, but the server stores only the items listed in the table above and discards the rest.
The App does not collect names, email addresses, phone numbers, precise location, contacts, photos, advertising identifiers (IDFA / Android Advertising ID) or hardware device identifiers. Only development (debug) builds keep an error diagnostics log on the device; this log is never transmitted and is not created by the App distributed through the stores.
Purposes of processing
- Providing the global cumulative ranking: totaling scores, showing ranks, nicknames and avatars, and managing the 7-day nickname change interval
- Preventing abuse: detecting duplicate or replayed results and limiting excessive requests
- Cloud save: automatically backing up game data, restoring it with a recovery code after reinstalling or changing devices, and recovering from a bad overwrite
- Payment verification and settlement: confirming store payments, detecting duplicate or fraudulent payments, reflecting refunds and cancellations, handling payment inquiries and settling sales
- Compensation and event grants: applying Sunshine grants registered by the operator exactly once
- Keeping the service stable: investigating server errors and outages
- Responding to inquiries and handling requests to exercise your rights (access, deletion, etc.), including viewing of cloud save summaries and contents and payment verification records by the operator for this purpose (and to check for abuse)
Game progress, currency and purchase and payment records are used only to provide game features, for backup and restore, payment verification and settlement, grants, and the inquiry handling and abuse checks above; they are not used for advertising or marketing.
Retention and deletion
| Information | Retention period |
|---|---|
| Online ranking profile and puzzle results | Until we process a deletion request or end the ranking service. There is currently no automatic deletion based on inactivity. |
| Cloud save, save history and recovery code hash | Deleted by a daily automatic cleanup if there has been no new backup for 2 years since the last one and no restore with the recovery code during that period. Only the 5 most recent save versions are kept; older ones are deleted automatically with each new save. Also deleted when we process a deletion request. |
| Store payment verification records | Kept for 5 years as records of payment and supply of goods under the Act on the Consumer Protection in Electronic Commerce of the Republic of Korea and other applicable laws, then destroyed. Even if your ranking and cloud save data are deleted, these records remain for that period with the link to your player number removed. |
| Operator grant records | Deleted together with the player data (ranking profile) they belong to. |
| IP address used for rate limiting | Used only momentarily to count requests (limits on first registration and recovery code entry); not stored in the database. |
| Server request records (Cloudflare logs) | Only a sample (about 10%) of requests is logged, and logs are deleted automatically after Cloudflare’s log retention period (a few days). |
| Information on the device | Until you delete the App or its data (we have no access to it). |
| Inquiry records | 1 year after the inquiry is resolved |
When the retention period ends or the purpose has been achieved, we delete the information without delay in a way that cannot be recovered. Information that must be kept by law is stored separately for the required period. In-app purchase transaction records are kept by Apple and Google under their own policies.
Disclosure to third parties
We do not provide your personal information to third parties, except where specifically required by law or requested by investigative authorities through legal procedures. The nickname, avatar combination, cumulative score and rank you register for the ranking are visible to other users on the App’s ranking screen.
Processors and international transfers
We entrust the processing of personal information to the following service providers to operate the server. In the course of this, personal information may be transferred outside the Republic of Korea.
| Processor | Tasks | Destination · timing · method | Items transferred | Retention |
|---|---|---|---|---|
| Cloudflare, Inc. (USA) | Running the ranking, cloud save and payment verification server (Workers), database storage (D1), rate limiting, server logs | Cloudflare global network (processed at a nearby data center; the database is located in the Asia-Pacific region) · whenever the App communicates with the server · encrypted network transfer (HTTPS) | Online ranking profile, puzzle results, cloud save (including save history and recovery code hash), store payment verification records, operator grant records, IP address and request records described in section 2 | Same as section 4 |
| Apple Inc. (USA) | App Store payment verification lookups (App Store Server API) | USA · when a purchase is reported and when a payment status notification is received · encrypted API request (HTTPS) | Transaction ID | According to Apple’s policies |
| Google LLC (USA) | Google Play payment verification lookups (Google Play Developer API) | Google data centers in the USA and elsewhere · when a purchase is reported and when a payment status notification is received · encrypted API request (HTTPS) | Purchase token, product ID | According to Google’s policies |
| Cloudflare, Inc. (USA) | Forwarding inquiry emails (Email Routing: support@ggeomddakji.com → operator mailbox) | Cloudflare global network · when you send an inquiry email · email transfer (SMTP) | Email address, content of the inquiry | Forwarded only; emails are not stored |
| Google LLC (USA, Gmail) | Receiving and storing inquiry emails | Google data centers (USA and other countries) · when an inquiry email is received · email transfer (SMTP) | Email address, content of the inquiry | Same as the inquiry record retention in section 4 |
If you do not want your information transferred abroad, you can play with the device offline or request deletion; in that case the global ranking and cloud save (backup and restore) will not be available to you. Apple and Google process payments directly as independent businesses, and their own privacy policies apply to payment information. For payment verification lookups we send Apple and Google only the transaction ID (purchase token) and product ID.
In-app purchases
Paid items in the App are sold only through the App Store (StoreKit) and Google Play billing. Payment methods and billing details are handled by Apple or Google and are not shared with us. So that a purchase is never granted twice and can be restored, the App records the transaction ID (the purchase token on Google Play) and product ID in the game save, and these records are also included in the cloud save backup. In addition, the App sends the transaction ID, product ID and platform to our server for payment verification, and the server looks up the transaction via the Apple App Store Server API or the Google Play Developer API and records the purchase time, price and currency (App Store), country / storefront region, order number, environment (production/test) and whether it was refunded or canceled. When Apple or Google sends a payment status notification (such as a refund), the server looks it up again. These records are used for payment verification, detecting duplicate or fraudulent payments, handling refunds, answering payment inquiries and settling sales. We never receive card numbers or other payment method details.
Your rights and how to exercise them
You (or the legal guardian of a child under 14) may at any time request access to, correction or deletion of, or suspension of processing of your personal information.
- Changing your nickname: you can change it in the App’s Settings once every 7 days.
- Viewing and restoring your backup: you can see your recovery code (FENN-XXXX-XXXX-XXXX-XXXX) in Settings → Backup. Entering the code on the first launch of a newly installed App (before the tutorial) or in Settings → Backup replaces the entire save on that device with the backup; a copy of the previous save is kept on the device. After a restore, the installation key of the previous device becomes invalid, so ranking and backup stop on the previous device, and the restored device continues the same ranking profile.
- Deleting online ranking data and cloud save: follow the Data Deletion instructions and email support@ggeomddakji.com. There is currently no in-app button to delete server data. Operator grant records are deleted as well, but store payment verification records are kept, unlinked from you, for the period required by law and then destroyed.
- Information on the device: it is removed when you delete the App or clear the App’s data in the operating system settings. Deleting the App alone does not remove ranking data or the cloud save on the server, and you can bring it back with the recovery code.
Because there are no user accounts, we may ask for additional information such as your nickname, a screenshot of the ranking screen or the recovery code from Settings → Backup to confirm that you are the user of that ranking data. We handle requests without delay after confirmation (in principle within 10 days) and inform you of the result.
Children’s information
The App does not check age and does not collect information that directly identifies a child, such as a real name or contact details. Please do not use personal information such as your real name or contact details in your nickname. A legal guardian who learns that personal information of a child under 14 has been processed may request access or deletion at support@ggeomddakji.com, and we will delete it after confirmation.
Security measures
- All communication with the server is encrypted with HTTPS.
- The server stores only hashes instead of the installation key and recovery code themselves, and limits recovery code entry attempts.
- Only the 5 most recent cloud save versions are kept.
- We limit collected items to the minimum needed for the ranking and limit request size and frequency.
- Administrative access to the server and database is restricted to the operator. Only the operator, after Cloudflare Access authentication, can use the admin page to view save summaries, save contents and payment verification records and to register or cancel compensation grants; the admin page never edits save data directly. Access logs of the admin page are kept.
- Store API credentials are kept only as server secrets, and payment status notifications are never trusted as-is: the server always looks the purchase up again through the store API before recording it.
Automatic collection tools
The App and these web pages do not use cookies, advertising identifiers, or analytics or tracking tools. The Android App does not request the Advertising ID permission.
Privacy officer
| Role | Details |
|---|---|
| Privacy officer | 이상훈 (owner, Ggeomddakji) |
| Contact | support@ggeomddakji.com |
Please send privacy questions, complaints and requests for remedies to the contact above.
Remedies for infringement
If you need advice or dispute resolution regarding a privacy infringement, you may contact the following Korean organizations.
- Personal Information Dispute Mediation Committee: +82 1833-6972 (www.kopico.go.kr)
- Personal Information Infringement Report Center (KISA): 118 (privacy.kisa.or.kr)
- Supreme Prosecutors’ Office: 1301 (www.spo.go.kr)
- Korean National Police Agency: 182 (ecrm.police.go.kr)
Changes to this policy
This policy is effective from October 29, 2026. If the collected items or processing methods change, we will announce it on this page and in the version history before it takes effect, and we will also inform you of important changes through App update notes or similar means.
Version history
| Version | Effective | Changes |
|---|---|---|
| 1.2 | 2026-10-29 | Added store payment verification records and operator grant records |
| 1.1 | 2026-10-28 | Added cloud save and recovery code |
| 1.0 | 2026-10-28 | First version |