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.
The product page claimed "Free on iOS, Android, web, desktop" in its meta
description, OpenGraph description, and SoftwareApplication JSON-LD, and backed
that with operatingSystem "Android, iOS, Web, Windows, macOS, Linux" alongside
price "0".
Desktop is not free. The Windows/macOS/Linux builds are itch.io downloads behind
a $1.99 minimum purchase; only iOS, Android, and the embedded browser build are
free. Declaring price 0 across an OS list that includes the paid desktop targets
misstates the offer to search engines, which consume the JSON-LD for rich results.
Scope the free-offer structured data to the platforms that are actually free. The
visible Cross-Platform card still lists all six targets, which is accurate: those
builds do exist, they are simply not all free.
The site said Bloomword was "playable free in the browser at bloomword.earth"
in four places. It is not: bloomword.earth is the marketing and transparency
site, and iOS and Android are the only platforms you can play on.
This is the full-surface release standard's web-app gate -- marketing copy
flips from "learn more" to "play" only after play.<domain> passes a parity
proof against the mobile core loop -- and that surface does not exist yet
(play.bloomword.earth does not resolve). Every claim becomes "learn more at
bloomword.earth" with iOS/Android named as the only playable platforms, per
the standing item in the Bloomword roadmap.
The VideoGame structured data already declared gamePlatform [iOS, Android]
and needed no change; the footer link carries no play claim and is untouched.
Not built or typechecked: this workstation has no node. The changes are
string literals inside existing quoted copy, with one JSX text edit that
keeps its {" "} separator and closes the sentence after the anchor.