Privacy
Horizon is a personal project, not a company, and it has no interest in your data beyond storing what you ask it to store. Without an account, none of it leaves your device.
Last updated 22 September 2026The short version
Without an account, nothing leaves your device at all: Horizon keeps everything in your browser's own storage. If you sign in with Google, your tracks, daily progress and notes are also kept on a server in Frankfurt so they can follow you between devices. You can delete all of it from inside the app, in one click, and the copy on your device keeps working afterwards. There is no analytics, no advertising and no tracking of any kind.
Who is responsible
Alessandro Perez, the author of Horizon, acting as an individual. For anything about this page or your data: alessandroperez.developer@gmail.com.
If you don't sign in
Nothing is collected. Your tracks, progress and notes live in IndexedDB in your browser, on your device. No account exists, no request carries your data anywhere, and there is nothing on any server to ask about or delete.
The app also keeps a few small preferences in your browser's local storage — your light or dark theme, cached repository statistics if you link a Git repository, and any tokens you have chosen to paste in yourself. These never leave the device either.
If you sign in with Google
Signing in is optional, and it is the only thing that creates a copy of your data on the server.
From Google, Horizon receives your Google account identifier, your email address, your display name and whether Google has verified that email. Nothing else: Horizon does not ask for access to your Gmail, contacts, calendar or files, and could not read them if it wanted to.
Horizon then stores that account record; your tracks, daily progress and notes as you sync them; a session record for each browser you are signed in on, kept as a hash so the cookie in your browser cannot be reconstructed from the database; and a short log line per sync recording only how many tracks, days and notes changed — never their contents.
Two counters exist for security, and neither identifies you. Rate limiting counts requests per client per minute, using a SHA-256 hash of the IP address rather than the address itself, and those counters are deleted within minutes. Separately, the server counts refused requests by kind and hour — a rejected sign-in, a request past its limit — with no address, account or content attached, so the counts show that something is happening without recording who it happened to.
Where it is, and who can reach it
The database is MongoDB Atlas in Frankfurt, Germany, and the server code runs in the same region, so your data stays in the EU. The connection is encrypted, and the credentials the server uses can read and write that one database and nothing else.
Three companies are involved as processors, and none of them is sent your data for their own purposes: Google (sign-in only), Vercel (hosting) and MongoDB Atlas (the database). Nothing is sold, shared or handed to anyone else.
A weekly backup is taken and encrypted so that only the author can open it, using a key whose private half never leaves his machine. Encrypted backups are kept for 90 days.
How long it is kept
Your account and its data stay until you delete them. Sessions expire after 30 days, after which you sign in again. The per-sync log lines are deleted after 90 days, the security counters after 30, and the rate-limit counters within minutes. Each of those is enforced by the database itself, not by someone remembering to run a cleanup.
Deleting it
In the app: Settings → Account → Delete account. Everything the account holds on the server — the account record, your tracks, progress, notes, sessions and log lines — is removed in a single operation that either completes fully or changes nothing. Your device keeps its own copy, and the app carries on working offline.
Signing out is not deletion: it ends that browser's session and leaves the data on the server for next time.
Getting a copy
Settings → Export gives you the whole workspace as one JSON file, or a zip with every roadmap, plan and note as readable markdown. No request to make, no waiting.
Your rights
Under the GDPR you may ask for a copy of your data, have it corrected or deleted, object to its processing, or complain to a data protection authority. Access and deletion are built into the app so you never have to ask; for anything else, write to the address above.
Changes
If what Horizon stores changes, this page changes with it, and the date at the top moves. The history of every change to this project is public in its changelog.