What we collect
When you browse the site: a self-hosted analytics script (Rybbit) records aggregated usage data. The exact field list is in the “Analytics” section below. No third-party service receives this data.
When you submit the contact form: your name, your reply-to email, the topic you picked, and the message you wrote. The Cloudflare Worker that handles the form sees your IP address and User-Agent header as part of normal HTTP request handling. Cloudflare Turnstile mints a browser-generated token confirming you are human; we forward that token to Cloudflare's verification endpoint and do not store it afterward.
That is the entire list. The data behind the editorial pages — NPS visit counts, NOAA climate normals, NPS-published images, NPS road windows — is all public-domain federal data (per 17 U.S.C. § 105) that we render. None of it is user-input data.
Analytics
This site uses Rybbit, an open-source web analytics tool. The script is loaded from rybbit.nmajor.net, a self-hosted instance operated by the site owner. No third party receives this data.
Fields recorded on each page view: page hostname, URL path, query string (if present), screen width and height, browser language (navigator.language), page title, and HTTP referrer. These are aggregated signals — no field uniquely identifies you.
Additional events recorded: outbound-link clicks to known authoritative sources we cite (nps.gov, noaa.gov, recreation.gov, airnow.gov, usgs.gov, U.S. Naval Observatory, NPS-authorized concessioners), and contact-form submissions (no form content is included in the event).
IP address: your IP reaches the server as part of the HTTP request. Rybbit derives a coarse location (country, region, city) from it. Because this is a self-hosted instance, any retention policy is set by the operator, not a third party.
Cookies: Rybbit is cookieless by design (Rybbit's marketing describes it as “Cookieless. No cookies, no cross-site tracking, no personal data collection”). It does not write to document.cookie.
Opt out in one click:
The button writes disable-rybbit=1 to your browser's localStorage for this domain. Clearing site data resets the choice. We also automatically skip loading the analytics script when your browser sends a Do Not Track or Global Privacy Control signal — you don't have to take any action in that case.
Where the contact-form data goes
The form posts to a Cloudflare Worker, which submits the message to a self-hosted Chatwoot instance at chatwoot.nmajor.net. Chatwoot stores the conversation. The operator reads it to triage and respond if needed.
No third party sees your message. We do not share, sell, or distribute contact-form submissions. The Cloudflare Worker is the only intermediate processor; it does not write the submission anywhere other than Chatwoot.
Why this analytics setup
Knowing which pages people actually read and which sources they click through to helps us prioritize new park pages and editorial updates. A self-hosted, cookieless tool lets us collect that signal without routing your data through a third-party advertising platform, without setting cookies, and without needing a consent banner. The data stays on infrastructure we control.
Neither we nor our analytics script set any cookies.
The Rybbit analytics script is cookieless by design. Cloudflare may set a __cf_bm cookie at the network layer for bot management — that's set by Cloudflare's edge independently of this site's code, not by us. Removing it doesn't affect site function.
Your rights
If you have submitted a contact-form message and want it deleted, use the contact form to request deletion and we will remove it from Chatwoot.
If you are in the EU or UK, GDPR rights apply — the same path handles access, correction, erasure, and portability requests. If you are in California, CCPA rights apply — same path. We do not sell personal information; there is nothing to opt out of beyond deletion of a submitted message.
Contact
For privacy questions, use /contact/.
This site is operated by NMajor Studios — Wyoming, USA. The operator is identified on /about/.