Privacy Policy
Last updated 18 October 2026
ZwiftGopher provides free tools for Zwift racers: the TTT Calculator, the TT Planner, the Route Time Predictor, the Ladder analysis tools and a small REST API for team apps. This page explains what data those tools handle, where it comes from, how long it is kept and how to have it removed. It applies to every tool on zwiftgopher.com.
1. Rider data looked up by Zwift ID
Every tool works from Zwift IDs that you (or a team-mate) type in. For each ID we fetch the rider's public racing profile from ZwiftRacing and, where needed, ZwiftPower. That profile can include the rider's display name, weight, height, FTP, critical-power curve, race category, vELO rating and summary race statistics. We do not collect anything beyond what those sites already publish, and we never ask for or store Zwift log-in details.
Because both sources limit how often we may call them, fetched profiles are kept in a shared server-side cache so that the next lookup of the same rider, by anyone, is served without another request. Cached profiles are refreshed when they are older than a few hours and are deleted automatically 90 days after the last time anyone looked that rider up.
2. Lookup log
To keep the shared cache within the limits of the upstream services we record, for each lookup, which tool made it, how many riders were asked for and how many were served from cache. The record carries a short, one-way hash of your IP address combined with the date and a secret value; it cannot be turned back into an IP address and changes every day. Lookup-log rows are deleted after 30 days.
3. What each tool stores
- TTT Calculator. Your team's names, weights, heights and power figures live in your browser session and local storage so the pull sheet survives a page reload. Nothing from the team is written to a database. Pull-sheet images you export (team name, rider names and power figures) are stored for download and deleted after 30 days. Image generation is counted with your IP address truncated (last octet removed); those counts are kept for 90 days.
- TT Planner. If you share a plan, the plan (route, your rider name, distance and the pacing data) is stored under a random code and expires after 7 days.
- Route Time Predictor. Uses the shared rider cache only; no other data is stored.
- Ladder tools. To analyse ladder match-ups we keep a table of riders who have appeared in ladder races or ladder lookups (Zwift ID, name, category, club, weight, height, FTP, 90-day power profile) together with the public results of ladder races, all taken from ZwiftPower and ZwiftRacing. Weight and height can be corrected by a team admin when the public figure is missing. This data is kept while the ladder tools operate; ask us (below) to remove yours.
- Ladder Availability Planner. Where a team has the planner enabled, its admin adds each rider's display name, Zwift ID and, optionally, Discord name and e-mail so that availability reminders can be sent. The planner records who changed what (audit log) and the IP address used for admin log-ins. Data is held for as long as the team uses the planner; your team admin can deactivate you at any time.
- REST API. Team apps are issued an API key by us. Each API request is logged with the key, the caller's IP address, the endpoint and timing so that we can enforce rate limits and investigate faults.
4. Cookies and local storage
We set a session cookie so the server can keep your current team or plan together while you use a tool, and the Ladder Planner sets an admin-session cookie after an admin logs in. Browser local storage is used by the TTT Calculator to remember your team between visits. There are no advertising or cross-site tracking cookies.
5. Server logs and third parties
Like every website, our hosting provider keeps standard web-server logs (IP address, browser type, page requested, date and time) for a limited period for security and troubleshooting. Page styling and scripts are loaded from public content-delivery networks (jQuery, Bootstrap, Google Fonts), which see your IP address when your browser fetches those files. Rider data is requested from ZwiftRacing and ZwiftPower on our behalf: your IP address is not passed to them. Optional planner notifications are sent through Discord using the details your team admin entered.
6. Legal basis and your rights
We process racing data on the basis of legitimate interest: the tools cannot work without it, the data is already public, and the cache exists to reduce load on the services that publish it. You can ask us at any time what we hold about a Zwift ID, to correct it, or to delete it from the cache and the ladder tables. Write to privacy@zwiftgopher.com with the Zwift ID concerned. Shared plans and exported images expire on their own as described above.
7. Changes
We update this page whenever the way the tools store data changes; the date at the top tells you when that last happened.