Privacy policy
Block Shift is developed by Gökhan Oğuz (Oguz Games). For privacy questions or requests, contact m.gokhanoguz2@gmail.com.
Game progress and settings
The board, pieces, scores, challenge progress, Daily Shift records and preferences such as sound are saved locally on your device. You do not create an account with us to play, and we do not operate a server that receives or synchronizes your game saves. Your operating system's backup services may include app data according to your device settings.
Block Shift does not include Firebase login, push notifications, a gameplay analytics service or an automatic crash-report upload service. Build & feedback creates a report for you to inspect and copy manually; it is not sent automatically.
iOS version: 0.25.0 (build 30)
This iOS version excludes Google Mobile Ads, Google User Messaging Platform and RevenueCat purchase SDKs. It has no ads, purchase offers, game account, gameplay backend or advertising-age questionnaire. It uses Apple's Declared Age Range framework for age-related checks, separate from Google Play's Android process and from older private advertising tests.
On iOS 26.4 and later, the app checks Apple's eligibility and regulatory signals and requests an age range when Apple reports that the range check is required. On iOS 26.2–26.3 it uses Apple's eligibility signal; on iOS 26.0–26.1 it can request optional sharing because that eligibility signal is unavailable. Earlier iOS versions do not call this API. Apple may show its own sharing sheet, and optional sharing can be declined. Block Shift does not ask for a birth date or identity document in the game.
Our native code briefly validates the returned range and sends only a check status and an in-process ordering counter to the gameplay interface. Raw age ranges are not saved, logged, sent to our services or used for advertising, marketing, profiling or analytics. The ordering counter is not a player identifier. No demographic profile or gameplay server is created, and no response is treated as proof of adulthood or parental approval.
The game saves a separate local flag for an explicitly required Apple check. It saves that requirement before opening the associated sharing request. A failed check, unavailable API or older iOS version cannot clear a known requirement; unreadable saved state also requires recovery. A fresh authoritative response can resolve the requirement without resetting your puzzles. Optional refusal or invalid range information is not age or approval proof; an invalid response does not clear a known requirement. Existing puzzles otherwise remain available when a check fails or the API is unsupported.
Use Settings > Apple age check to view the result or retry. Apple's system sharing sheet is not timed out while you read or decide; a late requirements result does not open a surprise sheet and instead offers Retry. Apple handles its own account, sharing and verification services under its Privacy Policy; these services may need a connection. This first iOS baseline enables no new approval-dependent puzzle or purchase features. Future material changes need a separate notice and approval-handling assessment.
Android release: 0.24.0 (build 28)
The normal Android build 28 adds Google's Play Age Signals client for age-related checks. It still excludes Google Mobile Ads, Google User Messaging Platform, RevenueCat and Play Billing SDKs: there are no ads or purchase/restore offers. These Play age checks are separate from the advertising-age choices in older SDK-enabled test builds.
The app attempts a check at startup while in the foreground; you can also retry from Settings > Google Play age check. Google may show its own age-range sharing prompt, depending on your region and your or your parent's Play settings. Google handles its own sharing and verification process. Block Shift does not ask you to enter a birth date or identity document into the game. A prompt is not guaranteed to appear, and Google may show one again on a later request.
Google Play may provide an age range, its source, verification/sharing status and information about approval of significant app changes. Our Android code briefly validates the response. Our code does not write raw age ranges, source tiers, approval dates or install IDs to storage or logs, send them to our services, or use these signals for advertising, marketing, profiling or analytics. Check and change-approval results can be held in memory while the app runs; an in-process request counter orders replies and is not a player identifier. No gameplay backend or demographic profile is added.
For this feature, the game saves only a separate local flag recording whether Google Play verification is required. A failed check does not clear a known requirement. A fresh successful response that no longer requires verification can clear the flag. Declining optional sharing or receiving no age range is not treated as proof of adulthood or parental approval.
Existing ad-free puzzles remain available when a check is unavailable or fails, unless verification was already required or the saved requirement cannot be read. In those cases, the app provides recovery controls rather than silently clearing the requirement. Your game saves are not reset. This version offers the existing puzzle content; no paid or new approval-dependent puzzle features are enabled.
The app still has no Android Internet permission. The Age Signals client communicates with the Play Store on the device; Google's client data-safety guidance says the client library does not collect data. The Play Store runs its own processes under Google's terms and Privacy Policy, which may require a connection. External browsers, operating-system backups, app stores, hosting and voluntary support emails remain separate as described below. Older provider-held test records are not erased by this update.
SDK-free Android preview: 0.23.0 (build 27)
This Android release preview does not include the Google Mobile Ads, Google User Messaging Platform, RevenueCat or Play Billing SDKs. It has no ads, purchase or restore offers, or advertising-age and Google consent prompts. It does not configure or contact advertising or purchase services. This statement applies to this Android release, not older SDK-enabled test releases or development builds described below.
The app has no Android Internet permission. Privacy and support links open in your external browser, which needs its own connection. Operating-system backups, app stores, website hosting and voluntary support emails may still process information under the policies described here. Existing local game saves are reused and no SDK-preference reset is performed. Removing SDKs does not erase records already held by service providers; privacy and purchase questions can still be sent to support.
SDK-enabled test builds: purchase services
Explicit purchase-testing builds, including Google Play internal testing, use RevenueCat to retrieve products and manage No Ads entitlement information. The SDK creates an anonymous App User ID and processes purchase/entitlement records, product and transaction identifiers, locale and currency information. We do not supply it with your name, email address, age preference or game saves as customer attributes. Automatic device-identifier collection and optional RevenueCat diagnostics are disabled.
The local demo stores a simulated purchase flag only on your device. RevenueCat Test Store transactions use its network service but do not charge money. When platform billing tests are enabled, Google Play or Apple's store handles its own account and payment processing under its policies. We do not ask for or store payment-card details in the game.
Purchase information is used to deliver and restore the requested entitlement, manage purchase records and understand purchase activity. An anonymous SDK identifier is not the same as having no data collection.
SDK-enabled test builds: age group and advertising choices
New Android consent-testing builds let you choose an age group in Settings > Privacy & ads: under 16, 16 or older, or prefer not to say. The age band is stored locally, not a date of birth. A local technical flag also remembers whether Google previously required a privacy-options entry. Leaving the question unanswered does not stop gameplay. Under-16, unanswered and prefer-not-to-say choices prevent our ad loading and automatic advertising-consent prompts. This is an advertising eligibility setting, not a promise that every linked SDK stops all processing.
In SDK-enabled Android consent-testing builds from version 0.22.0, players without a saved age choice are offered one at an otherwise-eligible between-game advertising opportunity, never automatically at launch or during the first ad-free app session. No answer is preselected. Skipping, pressing Back or dismissing the question saves "prefer not to say" and keeps our ad loading off. Once saved, a choice is not requested again automatically; you can change it in Settings > Privacy & ads. If saving fails, we show an error and keep ads off. Privacy setup replaces the ad for that break. The 16-or-older advertising threshold is a conservative product choice, not a universal legal age requirement or proof of a player's age.
For the eligible age group, Google's User Messaging Platform refreshes privacy requirements. No Ads owners and players whose purchase status is unconfirmed receive only this metadata refresh, not automatic consent forms or ad loading. A previously required privacy entry remains discoverable in Settings > Privacy & ads after relaunch or an age change. Explicitly choosing to review it refreshes Google's privacy information with the current age-restriction setting. When Google provides a form, you can review or withdraw choices there. If Google reports that no form is currently required, including for an under-age user, the app explains that status and removes the unneeded entry; the advertising age restriction still applies. These choices do not gate gameplay.
SDK-enabled test builds: advertising and consent information
Explicit ad-testing builds can request Google's official test ads through Google AdMob. Google's SDK can process an IP address (which can indicate approximate location), app/ad interactions, diagnostics, app-set or other available identifiers, and privacy-choice information for advertising, measurement, security and fraud prevention.
SDK-enabled Android test builds remove the Advertising ID and Android AdServices ad-ID, attribution and topics permissions. That does not remove all SDK data processing. In these SDK-enabled builds, native SDK libraries may remain linked even when monetization is disabled or simulated and may perform startup work; delayed measurement is configured, but we do not promise zero SDK startup or zero network traffic merely because ads are disabled or No Ads is active. Android builds 27 and 28 exclude these advertising and billing SDKs instead; build 28's Play Age Signals client has the separate scope described above.
The older SDK-test mode treats all ad requests restrictively as under-age. The Android consent-testing mode permits test ads only for the eligible 16-or-older group after privacy setup, with teen-level restrictions, G-rated content and non-personalized requests. Google's consent form describes the configured advertising partners and their purposes; Block Shift does not request precise device-location permission. Non-personalized advertising is not automatically exempt from consent requirements. No Ads prevents our ad loading and placements. Any live advertising requires separate future approval and updated disclosures. Billing-only test builds keep all ads disabled; AdMob internal builds use Google test creatives only.
Support and this website
If you email support, we receive your email address, message and any attachments you choose to send. We use them to investigate and respond. Please omit passwords, payment-card details and other unnecessary sensitive information.
These static pages contain no analytics scripts added by us. They are hosted on GitHub Pages, whose request handling is described in the GitHub Privacy Statement, including information such as visitors' IP addresses.
Retention and your choices
- Local game data remains until you replace it, clear the app's storage or remove it, subject to your operating system's backup behavior. Clearing app data can permanently remove progress.
- Purchase-service records and support communications are retained for purchase management, support history, security and applicable legal obligations. Provider policies also apply.
- You can request access, correction or deletion of information we can identify by emailing support. We may need information you choose to provide to locate anonymous purchase records. Uninstalling alone does not necessarily delete records held by a service provider.
- Where applicable law provides them, you may also request restriction, objection or portability, withdraw consent, or complain to your local data-protection authority.
Audience and children
The intended audience is primarily teenagers and adults, not young children. Content ratings describe the game's content; they are not proof of a player's age. The current Android release has no ads or purchase offers and uses the Play age-check handling described above. Advertising age-group controls in older private tests are separate, not certification for a child-directed release. If you believe information concerning a child has been provided to a service through Block Shift, contact us so we can investigate.
Service providers and transfers
Google, RevenueCat, GitHub and the services used to handle support may process information in countries other than your own, under their applicable privacy terms and safeguards. Networked SDK communications use encrypted transport. The specific services used depend on the build and features in use; locally saved gameplay does not become a cloud account when purchase testing is enabled.
Changes
We will update this page when the app's data practices change. The date above identifies the current policy version. Material changes, including any future advertising or purchase services, will be reviewed and communicated before they are introduced, with applicable store notices and approval handling.