1. Scope and Controller
Scope of the new controls: the new controls described below apply only to an app that displays both age confirmation and the combined analytics notice. As of September 9, 2026, this change is being prepared for release; this is not a claim that it is already available in the existing public Quirky Ball 1.1.2 (build 53). Check the notice displayed in the app, not the version number alone.
This Policy applies to the website and games operated by Junhee Choi in Germany under the name House Duck. The covered service is the mobile game Quirky Ball (Android, iOS). Materially different processing for future games will be added before those services launch.
Controller: Junhee Choi, House Duck
Address: Ringstr. 23, 61476 Kronberg im Taunus (Hessen), Germany
Email: support@houseduck.in
Phone: +82 10 7620 3959
This policy is a notice about personal-data processing. Acknowledging it or playing the game does not replace consent to optional analytics, advertising, or tracking. Consent for personal-data processing and consent for device storage/access are assessed separately under applicable law.
2. Information We Process
| Information | When and why it is processed |
|---|---|
| Account profile (guest identifier (UID) and identity-provider identifier) | Created when the game is first used and when a Google account or Apple account is optionally linked, for authentication and account synchronization. |
| Email address and profile name | Processed only to the extent the user chooses Google Sign-In or Sign in with Apple and permits disclosure. Apple may provide a private relay address. |
| Game and account data | Scores, levels, play history, nickname, display code, user-selected country, stamina, gems, tickets, attendance, missions, shop progress, friends, gifts, mailbox, and owned/equipped customization may be stored on the device and in Supabase. |
| Purchase data | Product ID, store transaction ID or purchase token, purchase status, platform, restoration/refund status, and entitlement are processed. House Duck does not directly receive full card or bank-account details. |
| Advertising and device data | The Google Mobile Ads SDK may process IP-derived approximate location, app/ad interactions, diagnostics, advertising ID, App Set ID, and similar identifiers for ad delivery, measurement, error handling, and fraud prevention. |
| First-party usage analytics stored in Supabase | For service operations, protection, and improvement, app/session, game start/end, ad request/impression/reward, app version, platform, and time zone events may be recorded and stored in Supabase. Random installation/session identifiers remain separate from the account UID, and our own events do not include the advertising ID. In an app displaying the new notice, this behavioral analytics and Firebase Analytics are controlled together by one optional analytics choice. Section 8 distinguishes this from the Firebase-only choice in the existing public app. |
| Optional Firebase Analytics | If a user separately consents, Firebase Analytics may process automatically collected events, app-use information such as tutorial completion, and app/device information including an app instance ID. This is optional. Declining does not restrict the game, and the choice can be changed or withdrawn at any time in the app settings. |
| Device settings | Language, volume, vibration, frame settings, and the Firebase analytics consent choice are stored locally. |
| Support data | Email contents and contact details are processed to answer support requests. |
| Website network and storage information | The website is delivered through GitHub Pages. A browser makes requests to GitHub for page resources and delivery/security logs, may request YouTube thumbnails from Google at i.ytimg.com, and may request Supabase public endpoints: one returns public version information, and another returns aggregate homepage game score/play-count totals only, not individual record data. BGM files in the music panel are served by this website and load only when a visitor manually starts playback. A separate external YouTube playlist link opens that service when selected. Recipients of those requests may process IP address and HTTP request metadata. When a visitor selects a language, the house_duck_site_language key may be stored in browser localStorage. The email button opens the visitor’s email application; the website does not send the message to a website backend before the visitor sends it from that application. |
Quirky Ball is not intended to collect precise location, contacts, photos, camera, microphone, or other information unnecessary for the game.
Notifications use Firebase Cloud Messaging (FCM) on Android and Apple Push Notification service (APNs) on iOS. Notification installation identifiers/tokens, account links, platform, app version, language, and delivery/open status may be processed by Google, Apple, and Supabase for delivery, device registration, and troubleshooting. Notification permission can be managed in device settings. It is separate from optional Firebase usage-analytics consent; disabling notifications does not itself mean immediate erasure of all prior tokens or history.
3. Purposes and Legal Bases
- Providing the game, account, rankings, Friend features, purchases, and support: contract performance or pre-contractual steps (GDPR Art. 6(1)(b)).
- Payment, refund, fraud checks, and legally required records: legal obligation (Art. 6(1)(c)) and legitimate interests (Art. 6(1)(f)).
- Security, stability, and error investigation necessary to operate and protect the service: legitimate interests (Art. 6(1)(f)). Essential account, currency, transaction, and security processing is separate from optional behavioral analytics.
- House Duck first-party behavioral analytics stored in Supabase and Firebase Analytics in an app displaying the new notice: separate optional consent (Art. 6(1)(a)), withdrawable at any time. See section 8 for the Firebase-only scope in the existing public app.
- Personalized advertising and processing that requires tracking consent: consent (Art. 6(1)(a)), which may be withdrawn at any time.
- Limited/non-personalized advertising and fraud prevention: consent or legitimate interests where permitted by applicable law.
The legitimate interests are protecting accounts and transactions, preventing fraudulent scores or duplicate rewards, investigating errors, and maintaining service stability. Random installation/session identifiers do not by themselves make data anonymous. Behavioral analysis such as screen navigation or button interactions is not all treated as essential security processing, and accepting the terms alone does not satisfy any required consent.
4. Service Providers and Recipients
House Duck does not sell personal information to data brokers for money. However, disclosures for personalized advertising may fall within broader statutory definitions of sale or sharing in some jurisdictions; applicable choices and statutory rights remain unaffected. The following providers may process information as independent controllers or processors as applicable.
For customer data hosted in Supabase, House Duck remains the controller and Supabase processes that data as a processor acting on House Duck's instructions. Supabase's published Data Processing Addendum provides information about these roles.
| Service | Purpose |
|---|---|
| Supabase | Authentication, account synchronization, game state, rankings/social features, purchase entitlements/reward state, first-party analytics storage, the public-version check, and aggregate homepage game score/play-count totals |
| Firebase Analytics (Google affiliates) | Optional app-usage analytics after the user separately consents |
| Google Sign-In, Google AdMob/UMP, Google Play Billing (Google affiliates) | Optional sign-in, advertising/consent management, Android in-app purchase, restoration, and refund processing |
Google YouTube thumbnail service (i.ytimg.com) | Delivery of YouTube thumbnail images requested by the browser |
| Sign in with Apple, App Store/StoreKit (Apple affiliates) | On iOS, optional sign-in and iOS in-app purchase, restoration, and refund processing |
| GitHub Pages | Static hosting, website-served BGM files, and security/delivery logs for houseduck.in |
- Google Privacy Policy
- Firebase Privacy and Security information
- Apple Privacy Policy
- Supabase Privacy Policy
- GitHub Privacy Statement
5. Processing Countries and International Transfers
House Duck operates and processes personal data in Germany. The primary Supabase database for Quirky Ball is in Ireland (AWS eu-west-1). This is the database location, not a promise that all support, delivery, or log processing remains in Ireland. The table distinguishes the confirmed primary location from providers’ published processing scope.
| Recipient/service and contact route | Countries and scope | Data, purpose, and timing |
|---|---|---|
| Supabase (Supabase DPA; privacy@supabase.io) | Primary database: Ireland. The published DPA names Supabase Pte. Ltd. (Singapore); Supabase, Inc. is listed as a support subprocessor. Global support and subprocessor processing are separate. | Guest/account identifiers, game state, purchase entitlements, and first-party analytics. Encrypted network transmission/storage when the app runs, authenticates, synchronizes, or records gameplay. |
| Google services (Google, Firebase) | United States and Google’s published global facilities. Google LLC, Google Ireland Limited, or other applicable affiliates process data depending on the service and user’s residence; storage is not Germany-only. | Information for optional Firebase analytics, ads/consent, optional sign-in, Android purchases, and website thumbnails. Sent when the relevant feature is requested, subject to any required separate consent. Notification installation identifiers/tokens and delivery/open status may also be processed during notification device registration, delivery, and confirmation. |
| Apple services (Apple) | Apple states that data is generally stored in the United States. Apple Distribution International Limited in Ireland controls personal data relating to EEA, UK, and Swiss users; service-specific entities may differ. | Information for optional Apple sign-in, iOS purchases, restoration, and refunds, sent when the user requests those features. Notification installation identifiers/tokens and delivery/open status may also be processed during notification device registration, delivery, and confirmation. |
| GitHub Pages (GitHub) | United States and other countries disclosed by GitHub. GitHub, Inc., GitHub B.V., or the applicable entity processes the information. | IP addresses and request metadata when pages, images, or music are requested, for website delivery and security/delivery logs. |
The linked official privacy pages provide recipient contact routes. A primary database location or legal entity’s address is not an exhaustive list of that provider’s processing countries. See Supabase subprocessors for the Supabase subprocessor list and section 6 for retention.
Direct collection by House Duck as an overseas operator is distinct from subsequent disclosure, processing outsourcing, or storage with another overseas provider. Transfers subject to the Korean Personal Information Protection Act require a valid basis for the particular processing, such as separate consent or the statutory disclosures for outsourcing/storage necessary to perform a contract. Reading this notice or playing the game is not separate consent to international transfers.
Transfers outside the EU/EEA require an applicable adequacy decision, Standard Contractual Clauses (SCCs), or another valid safeguard. Supabase’s published DPA contains SCCs; Google, Apple, and GitHub describe their transfer mechanisms in their official policies. Contact support@houseduck.in for the countries, recipients, basis, and a copy of safeguards applicable to particular processing.
Optional Firebase analytics can be declined or withdrawn in settings; advertising choices can be managed through Ad Privacy Options. Optional sign-in may also be skipped. Server-based game services cannot readily be provided without the required Supabase account/synchronization processing. Contact support to object or request deletion; we will explain affected features and available actions in your case. Making a rights request is not itself grounds for adverse treatment.
6. Retention
- Raw play, season, and weekly records and account-separated first-party analytics events: normally 28 days from the record-specific time explained below.
- Account and current synchronized state: until account deletion.
- Entitlements, transaction references, refund and fraud records: as needed to support the purchase or for the applicable statutory retention period.
- Support records: as needed to resolve the request and handle disputes.
- Local settings: until the app or device data is deleted.
- Information independently held by store, sign-in, advertising, analytics, and hosting providers: under each provider's retention policy and settings.
How retention is calculated: daily cleanup removes data older than 28 days based on the play time for raw gameplay, the update/achievement time for season/weekly records, and server receipt time for first-party analytics. The next daily run can normally add up to one day after that threshold. In the existing public app without the new notice, unsent offline analytics can remain on the device and be transmitted later; there is no time-based queue expiry, so count limits, transmission, and deletion of app data affect it. This is not separate consent to long-term retention; deletion and objection requests can be made under section 9. The 28-day window does not apply uniformly to Firebase analytics, push tokens, or providers’ independent logs.
In an app displaying the new notice, the app-managed unsent first-party analytics queue and pending Firebase custom-event queue expire 24 hours after event creation. Expired entries are discarded at the next queue check or before transmission; both queues are also discarded upon withdrawal or account switching. This does not mean deletion occurs at exactly 24 hours while the app is closed. It does not set a blanket limit for Firebase SDK internal storage or providers’ independent retention, and does not guarantee immediate deletion of information already transmitted.
7. Account Deletion
Users can delete their Quirky Ball account in Settings → Delete Account or follow the external deletion instructions. The account profile, synchronized state, and social connections are deleted and cannot be recovered. Some raw play and archived records may remain until the 28-day threshold described in section 6 and the next daily cleanup and are automatically deleted according to their retention period. Some current play records may be detached from the account connection; this does not mean that all records are deleted immediately. Minimal records strictly required for legal obligations, payment/refund handling, fraud prevention, or legal claims may remain until those purposes end. Store transaction records managed independently by Apple or Google are not deleted by deleting the game account.
8. Advertising and Analytics Consent Choices
- In an app displaying the new notice, the optional usage-analytics choice jointly controls House Duck behavioral analytics stored in Supabase and Firebase Analytics (including automatically collected events and tutorial completion). Users aged 18 or over make an explicit choice that is not preselected, separate from required terms acceptance and advertising consent. Declining does not restrict the game. Essential account, currency, transaction, and security processing is separate.
- The Firebase-only notice and setting in the existing public Quirky Ball 1.1.2 (build 53) control Firebase Analytics, not first-party analytics stored in Supabase. A previous Firebase-only ON choice does not retroactively extend to the new combined scope; a fresh explicit choice on the new notice is required.
- The new combined analytics choice can be changed or withdrawn at any time in the app settings. Withdrawal stops future collection and transmission for both optional analytics systems and discards the app-managed unsent queues. It does not affect processing lawfully completed before withdrawal; deletion of information already transmitted follows sections 6 and 9.
- A Google UMP message may be shown in regions that require consent, including the EEA, UK, and Switzerland.
- On iOS, Apple’s App Tracking Transparency (ATT) prompt is shown separately when cross-app tracking permission is requested.
- Where required, users can reopen Ad Privacy Options in the app settings and can also manage advertising identifiers and tracking in device settings.
- Whether advertising is personalized, limited, or non-personalized does not by itself settle whether consent is required. The requirement depends on applicable law and the particular storage or access to a device. In Germany, TDDDG Section 25 may require consent for applicable storage or access.
AppLovin MAX preparation: House Duck is reviewing AppLovin MAX as a possible future ad mediation option for Quirky Ball. The current public app serves ads through Google AdMob, and we currently do not send, transmit, or share information through AppLovin MAX. Before activation, we will update this policy and the in-app notice with the AppLovin and related advertising/measurement recipients, the actual data categories, processing countries/international transfer details, legal basis, and rights choices, and we will apply the required consent and non-child eligibility decision before using the AppLovin SDK. AppLovin’s advertising services may process device, app, and browser information, approximate location such as country/time zone/locale, IP address, request information, advertising IDs (IDFA/GAID and similar identifiers), App Set ID, advertising/tracking preferences, and Publisher User ID if House Duck provides one, for ad delivery, security/fraud prevention, measurement/reporting, personalization, and service improvement. See the AppLovin Privacy Policy. This preparation notice does not mean AppLovin MAX is active or that legal compliance is complete. Declining advertising consent does not prevent gameplay, but rewards conditional on completing an ad view may be unavailable. Before activation, the AppLovin Policies for Publishers (June 18, 2026) require separate compliance with the prohibition on SDK initialization/use for children and applicable store age-range API requirements, among other conditions. An age band calculated from the selected birth year/month alone does not satisfy all those requirements.
9. Your Rights
Subject to applicable law, users may request access, rectification, erasure, restriction, portability, objection, or withdrawal of consent by contacting support@houseduck.in. For requests to which the GDPR applies, we normally respond within one month. Where necessary because a request is complex or numerous, we may extend that period by up to two further months and will tell the user within the first month, including the reasons. The right to lodge a complaint with a supervisory authority is unaffected. The competent authority in Hesse is Der Hessische Beauftragte für Datenschutz und Informationsfreiheit.
You may object to processing based on legitimate interests on grounds relating to your particular situation, and at any time to processing for direct marketing. Withdrawing Firebase collection or resetting the device SDK does not mean that all previously stored server data is immediately erased; contact support separately about historical deletion. Korean users may also seek help through the personal-information complaint service (118) or the Personal Information Dispute Mediation Committee.
10. Children's Privacy
In an app displaying the new notice, users cannot enter the game before confirming they are at least 14 (unknown age: 0), or if they are under 14. Users aged 14–17 can play, but ad SDK/Google UMP requests and optional usage analytics are disabled. Users aged 18 or over can proceed to the standard advertising-consent flow after accepting the required terms; ads are not requested without the required consent. Users select their birth year and month on the age-confirmation screen; the age band is calculated only on the device. The day of birth is not requested, and the selected year/month is not saved or transmitted. Because the day is unknown, the age-14 and age-18 thresholds are conservatively treated as met only from the month after the relevant birth month. Only the calculated band is stored locally (0: unknown, 14: ages 14–17, 18: age 18 or over). This does not replace identity/age verification or any required parental authorization.
Quirky Ball is not directed to children under 14, or a higher minimum age required by local law. If we learn that information from an underage user was processed, we will verify and delete it.
The game’s age-14 requirement is separate from the age for data-processing consent. Where local law requires parental or guardian authorization for consent-based processing, that authorization is required. In Germany, online consent-based processing covered by GDPR Article 8 generally requires parental authorization below 16; this is not a blanket prohibition on all gameplay. The on-device age-band calculation in the new notice is not legal age verification or a parental-consent mechanism, and this notice does not claim that the existing app without the new notice has these controls. Contact support about children’s data.
11. Security
House Duck uses reasonable safeguards including TLS, access controls, Supabase Row Level Security, least privilege, and duplicate-transaction controls. No transmission or storage method can be guaranteed completely secure.
12. Required Information and Automated Decisions
A guest UID, basic game state, and the Supabase-backed operations that store and synchronize them are required to provide the game. Essential account, currency, transaction, and security processing is separate from optional analytics. In an app displaying the new notice, Supabase-backed behavioral analytics and Firebase Analytics can be declined or withdrawn together; declining does not restrict the game. Without optional sign-in or advertising consent, some synchronization or personalized advertising may be unavailable. House Duck does not make solely automated decisions producing legal or similarly significant effects.
13. Changes
- Notice update September 8, 2026: clarified processing countries, recipients/transfers, notice versus consent, minors, and rights requests. This is not consent to new collection or a retroactive expansion of consent. The original effective date remains unchanged.
- Effective August 24, 2026 — Converted to a shared House Duck policy and added Android/Google Play, iOS with Sign in with Apple, advertising consent, and one-time purchase processing (v3.0).
- Clarity update September 5, 2026 — Clarified website requests and local preferences, deletion-request verification, and the rights-request process. This does not change the original effective date of August 24, 2026.
- Analytics notice update September 5, 2026 — Distinguished Supabase-backed operations and first-party analytics from optional Firebase Analytics, and documented consent, refusal, and withdrawal in settings. The original effective date remains unchanged.
- Preparation notice September 9, 2026 — Clarified age bands, the combined optional analytics choice and 24-hour unsent queues in apps displaying the new notice, no retroactive expansion of Firebase-only choices, ad-reward conditions, and requirements before AppLovin MAX activation. This does not announce completed app rollout or MAX activation. The original effective date remains unchanged.
Material changes will be announced on the website or in the app before they take effect.