Last updated: 19 April 2026
%LOCALAPPDATA%\D4BuildOverlay\)The desktop app POSTs small JSON records to a Cloudflare Worker we run at our Cloudflare Worker (subdomain varies per deploy — see our GitHub for the live URL). Each record contains:
event — a fixed string from an allowlist. The full list
as of this version:
app_launched, first_run_completed,
build_loaded, calibration_completed,
overlay_activated,
overlay_deactivated. The Worker rejects any other
event name at the edge — we cannot even accidentally log anything
outside this list.install_id — a random UUID we generated on your first
launch and stored in your local settings file. It is never
correlated with any other identifier. If you reinstall, you get a
new one.ts — the UTC timestamp of the event.app_version — e.g. 0.1.0.props — small metadata per event. Examples: the parser
source (Mobalytics / Maxroll), the D4
class name (Paladin), your resolution
(2560x1600), and paragon/skill-point counts for the
build you loaded. These props are sanitized against the allowlist
before storage.We run ad-hoc SQL queries against this data to answer questions like "how many people complete calibration after loading a build" or "what resolutions are alpha testers running." That's it.
cf-connecting-ip header.The Cloudflare D1 database is accessible only to the project maintainers via the Cloudflare dashboard / wrangler CLI. We do not sell, share, or license it to third parties. If D4 Build Overlay ever gets acquired, this policy travels with the dataset — any future owner inherits the commitment or must ask you to opt in again.
Events are kept for 90 days, then automatically deleted from D1. We do not currently aggregate them into longer-lived summaries, but may in future (e.g. a per-month install count). If we do, aggregates will contain no per-install identifiers.
install_id (visible in Settings → About)
and we'll purge all rows with that ID within 7 days.D4 Build Overlay is not directed at children under 13. Don't use the app if you are under 13. If you tell us that data associated with a minor ended up in our telemetry, we'll delete it immediately.
If we change what events are collected or how data is used, we'll bump the "Last updated" date at the top of this page and require a fresh opt-in in the app (the consent checkbox will reappear). Alpha users will also get an in-app notice before any such change takes effect.
Privacy questions: privacy@db4builds.com
General support: support@db4builds.com