Last updated September 24, 2026
Android / Google Play
1. Scope
This Privacy Policy explains how Marble Comet LLC (“Marble Comet,” “we,” “us,” or “our”) handles information when a person uses Piecehaven (formerly LumaPetal Puzzle, the “App”). It applies to the Android version offered through Google Play. The App is free and may show advertising to eligible users. New purchases of the legacy LumaPetal Lifetime Premium product have been retired. The Android Premium and RevenueCat details below describe older installed releases that include those features.
The App does not offer a production account, cloud sync, or a production remote-content service. Android versions that include the Optional usage analytics setting offer the separate, adult-only measurement choice described below. Earlier versions without that setting do not enable this feature. This notice does not enable analytics in iPhone or iPad test builds.
2. Information stored on the device
The App stores preferences, puzzle progress, saved sessions, statistics, achievements, favorites, daily and weekly history, photo-puzzle metadata, local review-prompt eligibility and timing, a derived age-treatment bucket with its classification date and policy version when supplied, and a cached Premium-entitlement status in app-private storage. Complete saved games and the age-classification record remain local. If an eligible adult opts in, selected gameplay metrics are processed through Google Analytics as described below; this is not cloud backup.
Earned cosmetic-background unlocks are also stored locally on this device. They are not purchases, are not synced by Piecehaven, and may be lost if app storage is cleared or the App is uninstalled. The original four backgrounds remain free. Premium includes the additional cosmetic backgrounds without ads while its entitlement is active; Premium access itself does not create a locally earned ad reward.
Local data generally remains until the relevant item is deleted, Android app storage is cleared, or the App is uninstalled. This Android release disables app-data backup and device transfer, so Piecehaven’s local puzzle progress, preferences, sessions, and imported-photo copies are not backed up or transferred by Android.
3. Photos selected by the user
When a user chooses a photo through the Android system picker, the App receives only the selected file, lets the user crop it, re-encodes it as a JPEG, and stores a copy in app-private storage. Piecehaven does not upload the selected photo to Marble Comet, Google Mobile Ads, RevenueCat, or a Piecehaven server.
A user can delete an App-held photo-puzzle copy in Create. This does not delete the original or recall a copy previously shared outside the App. Piecehaven disables Android app-data backup and device transfer. If the user chooses Share, the Android share sheet offers the generated share card and an accompanying public Piecehaven product-page link to the selected destination. The destination decides which shared items it accepts, and its terms and privacy policy apply.
4. On-device diagnostics
If diagnostics are enabled in Settings, the App keeps a temporary in-memory list of up to 200 recent feature-event names and short structured values. It is designed to exclude selected photos, email addresses, puzzle names, search text, and other free text. This history is not automatically uploaded or replayed into Google Analytics. The optional remote measurement setting below is separate from local diagnostics; the App does not add a remote crash-reporting service.
Users can turn diagnostics off under Settings → Data & privacy and clear the history under Settings → Diagnostics. The list is also lost when the App process ends. Copy diagnostics places technical details on the clipboard; Marble Comet receives them only if the user intentionally sends them.
4a. Optional usage analytics on Android
Eligible adults aged 18 or older can choose Optional usage analytics in Settings, including through Privacy options. It is off by default. Declining does not change puzzle access, Premium access, or separate advertising choices. Players under 18 or with an unknown age classification do not participate. Unclassified guests can choose an on-device age check in Privacy options before opting in.
If you opt in, Google Analytics processes gameplay and feature-use information for Marble Comet: puzzle mode and piece count, bounded counts and durations, hints and previews, screens and sessions, purchase-flow outcomes, and ad availability or reward events. Updated versions also record app foreground visits and returns, unfinished puzzle exits and completion percentages, completed reference-image visibility changes, puzzle-loading durations and outcomes, and fixed technical-error categories. It also processes an app-instance identifier, approximate country or region inferred from IP, and technical app/device information such as app version and operating system. Granular location and device collection is disabled. These reports help us understand use, improve the game, and assess app and advertising performance. They describe consenting players, not every player.
Our custom analytics events do not include selected photos, photo paths, puzzle names, search text, free text, entered birth dates, email addresses, account user IDs, RevenueCat identifiers, purchase tokens, receipts, error messages, or stack traces. The bounded technical-error events are not a native crash-reporting service and cannot report every failure or forced app closure. The SDK may also generate lifecycle, device, identifier, screen, ad-impression, and store purchase events when available, including store product identifiers, names, and prices. A purchase-screen success or restored entitlement is not treated by Marble Comet as a new sale. Ad interactions alone do not establish ad earnings.
This feature does not enable personalised advertising. Analytics advertising-ID collection is disabled and advertising-related Analytics consents are denied. These controls apply to this measurement feature, not to the separate Google Mobile Ads or RevenueCat processing described in this notice.
Turning the setting off stops the App from forwarding new measurement events and requests that the SDK disable collection and reset local analytics data and its identifier. SDK cleanup may run during startup to apply a saved denial or withdrawal; this is not a promise that the SDK never initializes or that the device makes no network request. A subsequent opt-in can use a new identifier. Local diagnostic history is not replayed as earlier gameplay. Automatic SDK lifecycle metadata can include an earlier app-launch timestamp; this is different from uploading earlier gameplay.
Turning analytics off, clearing local data, or uninstalling does not delete information already received by providers. These records are pseudonymous, not anonymous. Contact privacy@marblecomet.com for privacy questions or requests. We may need information that locates the relevant records; an email address alone does not identify records associated with an app-instance identifier. Do not send a password, payment-card number, or private photo.
Google Analytics user-level and event-level retention is configured to two months, without extending user retention when new activity occurs. This control does not erase standard aggregate reports and is not a promise that every record held by every provider is deleted exactly two months after collection.
5. Advertising and consent
The Android release is configured to use Google Mobile Ads. Eligible free players may receive a separated banner beneath the gameplay piece tray; one separately labeled Advertising banner after collection-browsing content; a frequency-capped interstitial at the natural break after a qualifying puzzle is completed and safely recorded; and an optional rewarded ad for one play of an eligible Premium puzzle, one bonus hint after the three free hints are spent, or one additional cosmetic background on this device. The collection banner uses the existing Google Mobile Ads integration, not a new advertising SDK.
Discover and eligible locked-puzzle cards can show Watch ad · Play once offers. Selecting an offer opens puzzle setup and does not automatically play an ad. Cosmetic-background rewards are chosen in the paused Appearance sheet and are granted only after the ad provider reports the reward as earned, not merely after an ad closes. If a local reward save fails, the App offers a retry without another ad while the earned credit remains in the current app process.
Rewarded ads are player-initiated. No unsolicited full-screen ad interrupts an active solve or Replay. Replay, Resume, and Play again do not independently trigger interstitials. Changing reference-image visibility and creating a photo puzzle do not trigger interstitials either. A rewarded Premium-puzzle trial can require another optional rewarded ad to start a new trial; it does not add an interstitial.
After an explicit Start over confirmation that discloses a possible ad, a preloaded interstitial may appear only when the confirmation ends a valid, incomplete saved attempt with at least 60 seconds and two moves, before the replacement board opens. Not every confirmation shows an ad. Completion and qualifying Start over interstitials share a 15-minute interval and limits of two per session and five per local day. They use only preloaded inventory and fail open when unavailable or unsuccessful, without waiting for a load or scheduling a delayed ad. Premium, unresolved Premium status, or blocked consent prevents these ads. Lifetime Premium removes all advertising and prevents ad requests.
Google Mobile Ads and configured ad providers may receive an IP address, approximate location, app and ad interactions, diagnostic and performance information, and device, app-set, account, or advertising identifiers, depending on Android, regional consent, and production configuration. Providers may use that information for advertising, measurement, analytics, security, and fraud prevention.
The App uses Google’s User Messaging Platform for regional privacy choices. When Google reports that choices must remain available, users can reopen them under Settings → Data & privacy → Advertising privacy choices.
Guest play does not require a birthday and can be ad-supported after the welcome is completed. Ad requests require Premium status to resolve as non-Premium and permission from Google’s User Messaging Platform. For an unknown age, the App leaves User Messaging Platform age treatment unspecified so regional privacy choices remain available, requests non-personalized ads, and applies Google Mobile Ads child age-treatment signals with a G maximum ad-content rating. Users classified as 13–17 receive under-age-of-consent treatment in User Messaging Platform and child treatment with the same G rating in Mobile Ads. These settings request protections including disabling personalized ads, remarketing, third-party ad-vendor requests, and transmission of the Android advertising ID for child-treated requests; they do not mean ad requests contain no information. Users classified as 18+ receive unspecified age treatment with the same G rating. If an entered age is under 13, the App starts no advertising SDK and makes no ad request. Unresolved Premium status also prevents ad requests.
6. Lifetime Premium and purchase information
LumaPetal Lifetime Premium was a one-time, non-renewing in-app product purchased through Google Play. Its purchase option is now inactive and new purchases are unavailable. Historical transactions remain subject to the price, taxes, refund rules, and terms shown by Google Play at purchase. Piecehaven and RevenueCat do not receive the buyer’s full payment-card number.
After the welcome is completed, the App configures RevenueCat to resolve Premium status, including at startup and when a purchase or restore is requested. These checks include guests with unknown age and do not require optional analytics consent, so existing Premium buyers remain protected from ad requests. RevenueCat validates Google Play transactions, provides and restores Premium access, and provides purchase reporting. Because the App has no sign-in account, RevenueCat creates a random anonymous app user ID. RevenueCat may receive that identifier, device type, operating-system information, last-seen time, product identifiers, a Google Play purchase token, and transaction or entitlement status. Automatic device-identifier collection is disabled in the Piecehaven RevenueCat SDK configuration.
Choosing a new Premium purchase can require an on-device age check; restoring an existing purchase does not require guests to enable optional analytics or create an App account. RevenueCat does not start, create an anonymous app user ID, or receive a request if the entered age is under 13 or the welcome is not complete.
7. Accounts, cloud services, and network access
This release does not offer production sign-in, create a Marble Comet account, upload complete gameplay progress for cloud sync, or enable a public leaderboard. Optional usage analytics is described in section 4a. Profile labels remain on the device. The puzzle catalog is bundled for offline use, and no production remote-catalog endpoint is enabled.
8. Notifications, support, sharing, and local storage
Daily reminders are optional local notifications. New players can begin without choosing a reminder time. After the first completed puzzle, the App requests notification permission where required and schedules a daily reminder for 7:00 PM local time if allowed. Denial does not affect play and is not automatically requested again. Users can change the time or turn reminders off in Settings. Existing users’ saved reminder choices are preserved. The App does not use a push-notification account or add users to a marketing list.
Email support and Send feedback open the user’s mail app without automatically attaching App data or sending a message. Marble Comet receives the sender’s address, message, and any attachments the user adds only after the user sends them. Retention of support messages depends on what is reasonably needed to answer the request, maintain security, resolve disputes, and comply with law. Rating is optional and uses Google Play’s review interface or store listing; the store handles a submitted rating or review under its own terms. Android sharing, Google Play checkout, mail providers, and external links are separate services with their own terms and privacy practices. Piecehaven disables Android app-data backup and device transfer.
9. Disclosure, retention, and deletion
Marble Comet does not sell selected photos or local gameplay history. Information is disclosed only as described here, at the user’s direction, to providers needed for an enabled feature, or when required by law or to protect rights, safety, and security.
Delete photo-puzzle copies from Create, clear temporary events under Settings → Diagnostics, and disable reminders in Settings. Clear Android app storage or uninstall to remove remaining local App data and the derived age bucket. Because Piecehaven disables Android app-data backup and device transfer, that local data is not restored after reinstall. A qualifying Google Play purchase entitlement may still be restored through Restore Purchases.
Google Play and RevenueCat may retain transaction records to validate, report, and restore purchases. Google and configured ad providers retain ad-request information under their policies. Users can contact privacy@marblecomet.com about privacy or personal-information requests; requests are evaluated subject to legal, security, and verification requirements. This release has no Marble Comet app account to delete.
10. Security and privacy rights
The App uses Android app-private storage and HTTPS for configured network services. Marble Comet limits access to support and service information to people and providers who need it. No storage or transmission method is completely secure.
Depending on location, a user may have rights to access, correct, delete, restrict, or object to processing, and may have appeal or authorized-agent rights. Marble Comet may need to verify a request and may retain information when law permits or requires it.
11. Children and target audience
Piecehaven is intended for users aged 13 and older. The App is not primarily directed to children under 13 and is not planned for Families or Teacher Approved promotion.
Players can begin guest play without entering a birthday. An age-dependent feature, such as choosing a new Premium purchase or opting into adult usage analytics, can request an age check. A neutral screen asks for a date of birth without a preset or a hint about the permitted age, then asks the user to confirm or edit the entered date. Closing it preserves guest play. No classification is stored before confirmation. Once confirmed, the date is used transiently on-device to derive an age-treatment bucket and is then discarded; it is never persisted or transmitted. Only the derived bucket, classification date, and policy version are stored.
An entered age under 13 cannot continue and does not start User Messaging Platform, Google Mobile Ads, or RevenueCat. A missing, invalid, expired, or otherwise unknown classification does not prevent the restricted guest advertising or Premium-entitlement checks described above. It does not classify a guest as an adult or allow optional analytics. Optional usage analytics requires a separate affirmative choice from an eligible adult aged 18 or older; SDK startup may apply a stored denial or reset as explained above. Some countries treat teenagers as children, so local protections still apply.
12. International processing and changes
Google, RevenueCat, configured ad providers, and mail providers may process information in countries other than the user’s country. Their notices describe their locations, transfer practices, and safeguards. Material changes to this policy will receive a new effective date and, when appropriate, an in-app notice.
iPhone and iPad
Scope, purchases, and restoration
This section describes the iPhone and iPad version of Piecehaven, published by Marble Comet LLC. The version is in testing. Its first public release is planned for the United States only; a release date is not announced here. This release is free and ad-supported and does not offer new in-app purchases. Eligible existing App Store Premium access is still supported. Android/Google Play purchases are described separately above.
After the welcome is complete, Piecehaven uses RevenueCat to check and restore eligible App Store entitlements, including for guests who have not entered a birthday. RevenueCat processes an anonymous app user ID, device/platform information, purchase and transaction information, and entitlement status for access, receipt validation, and purchase-service analytics. New checkout being disabled does not remove this processing. Automatic device-identifier collection is disabled in the app's RevenueCat configuration. Restore purchases checks the Apple Account associated with an eligible purchase; it does not transfer a Google Play purchase to Apple or recover local puzzle data. There is no Piecehaven sign-in account or cloud-sync service.
Advertising and privacy choices
Free play uses Google Mobile Ads, including separated gameplay and collection banners, occasional ads after qualifying puzzle completions or confirmed restarts, and optional rewarded ads. The iOS app requests non-personalized ads and disables Google's publisher first-party ID before initializing the advertising SDK. Non-personalized does not mean no information is collected: Google and configured advertising providers process information such as approximate location inferred from an IP address, device or app identifiers, ad interactions, and diagnostic or performance information for ad delivery, reporting, security, and fraud prevention.
Google User Messaging Platform manages regional privacy choices. Where required by that service, you can reopen Advertising privacy choices in Settings → Data & privacy. This version does not request Apple's advertising-identifier tracking permission. Existing valid Premium access prevents ad requests. Ads also stay disabled while Premium status is unresolved. These protections do not erase information already received by an advertising provider.
Rewarded benefits depend on ad availability and the provider reporting the reward as earned. They do not grant Premium. Backgrounds earned through ads remain local and cannot be restored through Restore purchases. No unsolicited full-screen ad interrupts an active solve; completion and qualifying restart ads use preloaded inventory and do not wait for an ad to load.
Gameplay diagnostics and remote measurement
Remote gameplay measurement and Firebase services are disabled in this iOS release. The Android Optional usage analytics feature is not enabled on iPhone or iPad. An optional, temporary on-device diagnostic event list can be turned off or cleared in the app. Copy diagnostics puts that list on your clipboard; it is not automatically sent to Marble Comet. Advertising and purchase providers have their own information processing, separate from this local diagnostic setting.
Local progress, photos, and Apple backups
Puzzle progress, preferences, saved sessions, photo puzzles, derived age-classification details, and cached Premium status are stored locally. When you choose a photo with the system picker, Piecehaven crops and stores a puzzle copy on your device; it does not upload the selected photo to Marble Comet or its advertising or purchase services. Sharing a generated result through the system share sheet is your choice and is handled by the destination you select.
Unlike this app's Android release, Apple device backups or transfers may include local app data, including imported photo-puzzle copies, depending on your settings. Deleting a photo puzzle in Create removes its app-held copy and associated saved puzzle, not the original library photo, older backups, or previously shared copies. Deleting the app removes its local data from the device; offloading can retain data, and restoring a device backup may bring back earlier data. Manage backups separately in Apple's settings. Reinstalling alone does not guarantee recovery, and restoring Premium does not restore progress, photos, preferences, or backgrounds earned through ads.
Local reminders
Daily reminders are optional local notifications scheduled by your device. New players can begin without choosing a reminder time. After the first completed puzzle, Piecehaven requests notification permission where required and schedules a daily reminder at 7:00 PM local time if allowed. Denial does not affect play and is not automatically requested again. You can change the time or turn reminders off in the app's Settings or manage permission in iOS Settings. Existing reminder choices are preserved. This release does not use a push-notification account or add users to a marketing list.
Audience and age treatment
Piecehaven is intended for ages 13 and older. Guest play does not require a birthday. A contextual age check uses a birth date on the device to derive an age group, then discards the date; only the group, classification date, and policy version are stored locally. A known under-13 classification blocks entry and the advertising and purchase services. Unknown-age guests and teens receive restrictive ad treatment; ad services receive treatment controls, not the birthday. This intended audience is separate from an App Store content age rating.
Support information and retention
Email support opens your chosen mail app. Marble Comet receives your sender address, message, and any attachments only when you send them. For app help, contact support@marblecomet.com; for existing purchase or restoration help, contact billing@marblecomet.com; for privacy questions or requests, contact privacy@marblecomet.com. Nothing is sent or attached automatically by opening the email link. Please do not send your Apple Account password, verification codes, full payment-card information, or unnecessary personal photos.
We keep support messages and the details you choose to send for as long as reasonably needed to answer the request, maintain security, resolve disputes, and comply with law. If you include a receipt or purchase details, that information remains associated with your sender address in the support message. We use it to handle your support or purchase question, not for advertising or marketing. Routine RevenueCat entitlement checks still use an anonymous app user ID; the support process does not mean that every RevenueCat record is joined to an email address.
Deletion, security, and privacy requests
You can delete photo-puzzle copies in Create, clear temporary events in Settings → Diagnostics, turn off reminders, manage Apple backups, and delete the app. These actions do not erase transaction records or advertising information already received by providers. Apple and RevenueCat may retain transaction information to validate, report, and restore eligible access. Advertising providers retain information under their policies. This release has no Marble Comet app account to delete.
Piecehaven uses iOS app-container storage and HTTPS for configured network services. Marble Comet limits access to support and service information to people and providers that need it for the purposes described here. No storage or transmission method is completely secure. Google, RevenueCat, configured advertising providers, Apple, and mail providers operate under their own notices and may process information outside your country.
Depending on where you live, you may have rights to access, correct, delete, restrict, or object to processing. Contact privacy@marblecomet.com with privacy questions or requests. We may need to verify a request and may retain information where law permits or requires it. Material policy changes will receive a new effective date and, when appropriate, an in-app notice.
Contact
Privacy and purchase-data requests: privacy@marblecomet.com. RevenueCat’s policy is at revenuecat.com/privacy, and Google explains its app-service processing at policies.google.com.
Operator: Marble Comet LLC. Notice address: 24608 Nettle Mill Sq, Aldie, VA 20105-2991, United States.