Dream Beyond Games

Privacy · optional analytics

Your choice, in plain language.

The games work without analytics. Dream Beyond Games asks before sending optional, limited usage data and keeps a permanent control available so you can change that choice.

Consent and browser signals

Nothing is sent to the analytics endpoint, and no analytics visitor or session ID is created, before you choose Allow. Activity from before that choice is not queued or sent later. Allow and No thanks are presented as equal choices.

If Global Privacy Control (GPC) or Do Not Track (DNT) is enabled, analytics is forced off. Choosing No thanks or opting out later stops future collection and removes the analytics IDs stored in this browser.

What optional analytics collects

Exact event names

The optional client accepts only these events:

What analytics does not collect

Analytics does not collect typed words, feedback text, reminder email addresses, individual letters or rune selections, board coordinates, raw error messages, stack traces, full URLs, query strings beyond the four named UTM values, or full referring URLs. It does not use cookies, advertising IDs, or fingerprinting. Dream Beyond Games does not store raw IP addresses in the analytics dataset.

Browser IDs and local storage

After you allow analytics, the client creates a random visitor UUID in localStorage and a random session UUID in sessionStorage. The visitor ID helps estimate repeat play, including one- and two-day return patterns. A last-seen UTC date is also kept locally so the next session can report a bounded number of days since the previous visit. The ID is pseudonymous: it is not an account and is not combined with a name or email address.

The consent choice is also kept in localStorage. Separately, games use functional local storage to keep settings, completed daily results, and the optional play journal on your device. Functional game progress does not depend on your analytics choice. No cookies are used for these purposes.

Opting out removes the analytics IDs from this browser. Because there is no account or identity record connecting you to the random visitor ID, previously sent pseudonymous events generally cannot be located as yours or reliably singled out for deletion.

Your local play journal

The home page can show whether you completed today’s games, a 30-day activity view, participation streaks, and per-game records. This journal is functional data stored under dbg.progress.v1 in this browser. It is not an account, does not follow you to another browser or device, and is available whether you allow or decline analytics.

Each completed-day record contains the UTC date, outcome, score, and a few bounded numeric summaries: cuts and reference cuts for Topiary; cast count and longest-word length for Hexcraft; or patients and mistakes for Waystation Bloom. The journal never stores a Hexcraft word or other typed content. It keeps at most 1,000 detailed days per game; older totals and streak records are summarized locally.

When first created, the journal imports the latest compatible Topiary and Waystation Bloom result and their existing streak information from this browser. Older per-day details that those games did not previously save cannot be reconstructed, so affected summaries are labeled as recorded results rather than a complete historical archive.

You can export the journal as a JSON file, replace this browser’s journal by importing a previously exported file, or clear the journal from the home page. Clearing the journal does not change game settings or your analytics choice. Otherwise it remains until you clear it, clear this site’s browser data, or the browser removes it. Exported files are controlled by you.

Journal history is never uploaded as a profile. If you separately allow optional analytics, an individual play can still produce the limited completion event described above; that event is not used to restore or synchronize your journal.

Processors and retention

Consented events are posted to the same-origin /api/events endpoint. Cloudflare provides the site, processes that request, and stores the event fields in Cloudflare Analytics Engine. Raw Analytics Engine events are retained for three months.

Cloudflare necessarily handles ordinary connection data, such as an IP address, to deliver the site and endpoint. The analytics application derives only a country code at the server and does not write the raw IP address to Analytics Engine.

Daily reminder requests

After you complete a daily game, you can voluntarily request future puzzle reminders. The form requires your email address and an unchecked consent box stating that you agree to receive Dream Beyond Games puzzle reminders and can unsubscribe at any time. Reminder emails are still being set up; submitting now records your request, and puzzle reminders will begin later.

The reminder request sends Formspree your email address, the required email_consent value, game and daily-challenge identifiers, the canonical page, and any valid utm_source, utm_medium, utm_campaign, or utm_content values on that page. It never includes an analytics visitor or session ID. Optional analytics may separately record only that the reminder form was shown, succeeded, or failed; it never receives the email address.

Formspree processes and stores the request so Dream Beyond Games can operate the requested reminder list. The request is kept only while it is needed for that purpose. To withdraw your request before reminder emails begin, use a game’s Feedback control and include the same email address. Future reminder emails will include a way to unsubscribe.

Feedback and third-party fonts

Game feedback is separate from analytics. When you voluntarily submit a feedback form, its contents and any email address you choose to include are sent to Formspree. The form may attach the current daily_id, mode, phase, result, rounded elapsed_ms, action_count, score, and mistakes as troubleshooting context, but it never attaches analytics visitor or session IDs. Typed feedback and email contents are never copied into analytics. Formspree necessarily processes ordinary connection metadata for that explicit submission; those fields remain separate from Dream Beyond Games telemetry.

Hexcraft requests its Cinzel and Alegreya font files through Google Fonts. That request lets Google receive ordinary network request information under Google’s own privacy terms. The other games and this site do not need Google Fonts.

Questions

Use the Feedback control in any game to contact Dream Beyond Games about privacy or this notice.

Last updated August 23, 2026.