This is the analytics collector for regatta.page, wxnavigator.com, saildex.com and grahameger.com. It is written and run by us, on our own machine, and shares nothing with anyone.
Nothing is stored on your device — no cookies, no local storage, nothing to consent to and nothing to opt out of. That is a consequence of the design rather than a promise bolted onto it: there is no mechanism here that could carry an identifier between visits.
One exception, which is not about you: signing in to this collector's own private dashboard sets a session cookie for the operator. It is issued only after a successful sign-in, it is never set on any measured site, and no measured visitor ever receives one.
To count returning visits within a day, your IP address and browser string are combined with a random salt and hashed. The hash is stored; the address is not, and appears in no column and no log line.
The salt is generated at random each day and deleted after two. Once it is gone, that day's hashes cannot be recomputed from an address even by us — so a visitor cannot be followed from one day to the next, and last month's records cannot be re-identified at all.
utm_source and friends) when a link carries them
On page views the browser additionally reports screen and viewport size, device pixel ratio,
timezone, connection type, the three
Core Web Vitals — how fast the largest element painted,
how much the layout moved, and how quickly the page answered your interactions — and the
loading milestones around them: time to the first byte, time to the first paint, and how many
bytes the page transferred. That is what the small script at /rp.js does.
When you deliberately run WX Navigator's ensemble analysis, the same first-party collector also receives coarse browser and operating-system families, bucketed device memory, processor and worker counts, connection and Save-Data state, supported memory APIs, transfer totals, phase timings, throughput, retries, cache/resume use, and the final outcome. Missing browser APIs remain missing. The report contains no polar, route coordinates, forecast fields, filename, or account identity.
Individual request records are kept indefinitely. What makes that different from keeping a log of who visited is the salt described above: it is deleted after two days, and once it is gone the daily hash in an old record cannot be connected to an address by anyone, including us. An old record says that somebody read a page; it cannot be made to say who.
Aggregate counts — hits per hour per page, referrers per day — are kept indefinitely and contain no identifier of any kind.
Raw ensemble-run diagnostics are deleted after 90 days regardless of the request-record setting. Their non-identifying daily performance aggregates are kept so regressions can be compared over time.
Nobody. There is no third-party analytics provider, no advertising network, no data processor, and no third-party export. A bounded audit export is available only to authenticated administrators. The collector runs on a single machine we operate, and its database is replicated to our own object storage for backup. Nothing is sold, shared, or used for advertising, because none of it is any use for advertising.