From b6fb6b743dd706a3a5d124586164b8316986aef1 Mon Sep 17 00:00:00 2001 From: jw Date: Sat, 15 Aug 2026 11:17:50 -0400 Subject: [PATCH] fix(moonlaunch): disclose the telemetry and analytics the game actually sends The policy described leaderboards and cloud save as the only things that leave the device, and stated outright: "This data is not transmitted to our servers unless you use the leaderboard or cloud save features." That is not true. - Gameplay telemetry POSTs to api.such.software on every platform, automatically rather than opt-in, tagged with the anonymous device ID, display name and platform. It carries level starts and completions with times and stars, how a run ended (cause, hazard, speed, fuel, progress through the level), rewarded-ad and share actions, purchase attempts, and error messages. None of it was disclosed. - Google Firebase (Analytics and Crashlytics) ships in the mobile builds and receives the same device ID as a user property alongside app version, device model, OS version and language. It was not mentioned anywhere, including in the third-party recipients table. - Cloud save uploads automatically on every save, not only on an explicit action, and its payload now also carries store purchase receipts (the ledger that stops a purchase being credited twice). - The page claimed Google AdSense serves ads on the web build. It does not: web/custom_shell.html records that the AdSense placeholders were removed and web monetization is handled in-game. Removed the claim and the AdSense row from the recipients table. Left as-is: the statement that iOS serves non-personalized ads and does not access the IDFA. No code path presents the ATT prompt, so the identifier stays zeroed and that claim holds. --- .../such-moon-launch/privacy/page.tsx | 45 +++++++++++++++---- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/apps/web/src/app/products/such-moon-launch/privacy/page.tsx b/apps/web/src/app/products/such-moon-launch/privacy/page.tsx index 3cd5df4..7bd25a3 100644 --- a/apps/web/src/app/products/such-moon-launch/privacy/page.tsx +++ b/apps/web/src/app/products/such-moon-launch/privacy/page.tsx @@ -21,7 +21,7 @@ export default function SuchMoonLaunchPrivacyPage() {

Privacy Policy for Such Moon Launch

-

Last Updated: May 20, 2026

+

Last Updated: August 14, 2026

@@ -61,8 +61,9 @@ export default function SuchMoonLaunchPrivacyPage() {

Advertising Data (Mobile & Web Only)

- We use Google AdMob (mobile) and Google AdSense (web) to display - advertisements. These services may collect and use data to show you personalized ads. This data may include: + We use Google AdMob to display advertisements in the mobile + (iOS and Android) builds. The browser and desktop builds show no third-party + advertising. These services may collect and use data to show you personalized ads. This data may include:

  • Device identifiers (Advertising ID)
  • @@ -117,7 +118,9 @@ export default function SuchMoonLaunchPrivacyPage() {
  • Your chosen display name (randomly generated by default, editable)
  • Your game scores, star ratings, and level completion times
  • A randomly generated anonymous device ID
  • -
  • Your game save data (upgrades, skins, progress) for cloud backup
  • +
  • Your game save data for cloud backup — upgrades, skins, progress, wallet + balance, settings, and the store purchase receipts used to stop a purchase + being credited twice
  • Your device platform (e.g. "Android", "iOS", "Web")

@@ -135,7 +138,33 @@ export default function SuchMoonLaunchPrivacyPage() {

  • Premium purchase status (ad removal)
  • Death count and lifetime statistics
  • -

    This data is not transmitted to our servers unless you use the leaderboard or cloud save features.

    +

    + Cloud save uploads automatically whenever your progress is saved, so this data + reaches our servers without a separate action from you. See the next section for + the gameplay events we send. +

    + +

    Gameplay Analytics

    +

    + On every platform, the App sends gameplay events to our own backend at{" "} + api.such.software. This is automatic rather than opt-in, and it is + how we balance level difficulty and find bugs. Each batch is tagged with your + anonymous device ID, your display name, and your platform, and contains: +

    +
      +
    • Levels started and completed, with times, star ratings, and Moonrocks collected
    • +
    • How a run ended — the cause of death, which hazard, your speed and fuel at + the time, and how far through the level you were
    • +
    • Whether you chose to watch a rewarded ad, shared a score, or saw a rating prompt
    • +
    • Purchases you start and whether they complete
    • +
    • Error messages, so we can fix crashes and faults
    • +
    +

    + The mobile builds additionally include Google Firebase (Analytics and + Crashlytics), which receives the same anonymous device ID as a user property along with + your app version, device model, operating-system version, and language. We do not send + Google your real name or email, because the App never asks for them. +


    @@ -171,9 +200,9 @@ export default function SuchMoonLaunchPrivacyPage() { Link - Google AdSense - Advertising (web) - Link + Google Firebase (Analytics, Crashlytics) + Usage analytics and crash reporting (mobile) + Link Google Play Games Services