The game works without an account or registration. Progress remains local by default. Optional sync is described below.
Progress, bonus stars, discovered secrets, story progress and choices, scratchpad notes and drawings, and display preferences are stored locally in the browser. Without sync enabled, this information stays on the device, except for the participation and completion information described below. Clearing site data removes local progress; recovery requires a backup file or an enabled sync connection.
The game may report an app opening, an answer check even when incomplete or incorrect, a solved equation, the selected mode, and a scratchpad opening. Entered answers, scratchpad calculations, scores, points, and detailed progress are not included in these events.
A random identifier stored in the browser is sent to the server and transformed before storage. A daily fingerprint prevents duplicate daily counts. A stable pseudonymous fingerprint measures unique browsers across days and returns exactly one or seven days after their first observation. These identifiers and fingerprints are not exposed in the private dashboard. Another device or cleared local storage may count separately. An optional nickname personalises the home screen and appears alongside recorded actions in the publisher’s private dashboard. Return measurements do not depend on the nickname. Daily activity is stored with Netlify Blobs and is readable only with a private administrator key. No advertising cookie or third-party analytics service is used.
To keep internal tests out of site statistics, the publisher can exclude and reinstate browsers using administrative references separate from tracking identifiers. Test mode also lets a browser exclude itself without granting access to the private dashboard. This choice is stored on the server and applies to historical and future figures without deleting activity or progress. The existing random participation identifier is reused or created locally. No IP-based matching or additional device information is collected. The exclusion must be activated again after clearing local storage or starting a new private browsing session.
With consent from the tester, the beta application sends usage and crash statistics to a private console hosted by Netlify. Consent can be changed and transmitted data erased from the application settings. A call sign is included only with separate consent. Activity is retained within a 60-day window, with automatic daily cleanup; the installation profile is removed after 60 days without retained activity.
The publisher can exclude a test installation from supervision statistics and later reinstate it. This choice is stored on its technical profile and applies to historical and future figures. Its individual details remain available privately until deletion or expiry of the 60-day retention period. This feature collects no additional information about the tester.
With the tester’s consent to beta statistics, the phone’s web engine version (for example “WebView 91”) is included to diagnose crashes. In the web version, an error report also includes the browser identification (user-agent). These details follow the same 60-day retention and deletion options.
Sync is off by default. Enabling it links devices with a random private code. Progress, the optional call sign, stars, story choices, answers and scratchpads are encrypted in the browser before being stored in Netlify Blobs through a Netlify function. The decryption code stays on linked devices. Netlify also processes technical connection data, including IP addresses.
A separate copy of the private code is needed to recover progress. Anyone holding it can access that progress. No email is required, and the publisher cannot recover a lost code. Online data stays until “Delete online copy” is used. Disconnecting a device keeps its local progress. Deleting the online copy removes its contents without erasing local copies on other devices.
A backup file can be downloaded and restored offline. It is not encrypted and contains progress and scratchpads, but not the sync code. The site does not upload it anywhere. Its owner chooses where to keep it or with whom to share it.
The game adds no advertising cookies or third-party analytics service. Local storage holds progress, preferences, optional sync, the optional nickname and the participation identifier. Application files are cached for offline play after a first visit.
For registered players, the daily leaderboard also stores the total stardust earned that day. Other players can see this total and rank alongside the player’s nickname. The value can only be updated during that day, in Paris time, and a later submission cannot lower it.
For players who have joined the leaderboards, the server also stores their best weekly scores for each game mode and their league points. Other players can see these scores and points alongside their chosen call sign. Weekly data is hosted by Netlify; weekly score and league histories older than eight weeks are removed by the daily cleanup.
Call signs are unique. A reservation of the name in a simplified form (ignoring case, accents, spaces and punctuation) is kept for as long as the player participates in the leaderboards. Weekly crowns are visible to other players alongside the call sign.
A player who has joined the leaderboards may receive friend requests from players who see their call sign in a leaderboard. They can decline without notifying the sender or turn off incoming requests. Requests, remembered declines and notifications are retained within a 30-calendar-day window and removed by the daily cleanup.
Notifications are off by default and require an explicit choice and browser permission. Netlify Blobs stores the push subscription endpoint, public encryption keys, chosen time, time zone, language, last delivery date and, when reported, the completed game day to prevent an unnecessary reminder. This service receives no email address, answer or scratchpad content.
A random token stored on the device manages the subscription; only its hash is used as a server storage identifier. Netlify and the browser’s push provider process technical data needed for delivery. Reminder settings apply to one device and are excluded from sync and backup files.
Disabling reminders removes the browser subscription and its server record. If server deletion fails because of connectivity, it is retried on a later connection. Subscriptions reported as expired by the push provider are disabled and their endpoint is erased.
The official Lofi Cafe widget starts disabled. No resource from that service loads until Lofi is selected. The widget and its providers then receive technical data needed to display and stream audio, including the device’s IP address and browser information. The game sends it no progress, answers or scratchpad content. Minimising keeps the player active; Stop or × removes it. The radio needs internet access.
Sharing uses the device’s menu or copies an invitation to the clipboard. The invitation includes the score and the game link without revealing the equation or answer. Bonus unlocking stays local to the browser.
The feedback form sends its category, message, optional rating, optional email address and form language only when submitted. Alexandre receives these fields through Netlify Forms to read feedback, improve the game and reply when an email address is provided. Reviews are not automatically published.
Netlify processes and stores submissions and the technical data needed for delivery and spam filtering under its privacy policy. No game progress or scratchpad content is attached. Unsent text stays in the open page, without persistent storage or automatic sending. Requests for message deletion or the exercise of rights regarding submitted data can be sent to equation.smashup442@passmail.net.
Netlify, Inc., 101 2nd Street, San Francisco, CA 94105, United States hosts the site and may process technical connection data such as the device’s IP address. See Netlify’s privacy policy.
Spectral and Archivo are served directly by this website under the SIL Open Font License. The deployed game does not contact Google Fonts.
Questions may be sent to Alexandre at equation.smashup442@passmail.net.