# Privacy on claudexml.com — What We Collect and What We Don't

> Honest privacy notice for claudexml.com: self-hosted analytics with no cookies and no IP storage, 14-day nginx logs, Cloudflare edge. No third-party tags. No ads. No data sold.
>
> Source: https://claudexml.com/privacy/ · Last updated 2026-05-25

Home / Privacy

# Privacy on claudexml.com

    Last updated: 2026-05-25. The short version: minimal logging, no cookies, no third-party tags, no behavioral profiling, no ads, no data sold. The long version is below — written to match what the code actually does.


## What we collect

    Three sources of data exist when you visit this site. Each is described honestly below.


### 1. Self-hosted analytics (GoatCounter)

    Every page load fires a pageview ping to our own server. The ping records:



- The page URL you visited.

- The referrer (the page you came from), if your browser sends one.

- A coarse User-Agent string (e.g. "Chrome on macOS"). The full UA is parsed and discarded.

- Your screen size and approximate country (derived from IP, not stored).

- A hash of (IP + User-Agent + a daily-rotating salt) — used to roughly count unique visitors per day. The original IP is never stored. The hash itself is unsalted again after 24 hours, so it cannot be linked across days.

    What we do not collect: your IP address (it's hashed at receipt and discarded), cookies (none are set), fingerprinting signals beyond the coarse User-Agent, mouse movements, scroll depth, or anything cross-site.

    Software: GoatCounter, EUPL-licensed open source, running on the same server that hosts this site. No data leaves the server. Source code: github.com/arp242/goatcounter.

    To opt out: block `/count.js` in uBlock Origin, Privacy Badger, or your browser's tracker blocker. The site works identically without the ping.


### 2. Time-on-page (dwell) beacon

    When you leave a page (close the tab, navigate away, switch apps), a small JavaScript snippet sends one extra request: `/dwell?p=<page>&d=<seconds>`. That's the only data point — the page you were on and how many seconds you stayed. No ID, no cookie, no session token. The dwell beacon never fires for visits under 1 second or longer than an hour.

    To opt out: block requests to `/dwell` in your browser's blocker. Most tracker blockers will catch it automatically because of the path name.


### 3. Web-server access logs (nginx)

    Nginx records standard access logs: IP, timestamp, request path, HTTP status, response size, User-Agent, referrer. These are used for debugging, abuse mitigation, and the speculative session-journey reconstruction described below. They are kept for 14 days on a rolling basis and then deleted.


### 4. Speculative session-journey reconstruction

    Once an hour, an offline script reads the nginx access log and groups requests that share `hash(IP + User-Agent + a daily-rotating salt)` within a 30-minute window into a "session." It joins each session with the dwell-beacon records to produce an aggregated report (top entry pages, top exit pages, common journey paths, dwell distribution per page). The report is admin-only and never published.

    This is explicitly speculative. We're guessing which requests came from the same visitor based on heuristics. Two people sharing a NAT (e.g., a corporate office or a shared Wi-Fi) on the same browser can merge into one false session. We treat the report as informed guesses, not facts. Raw IPs are hashed at parse time and never persisted; the salt rotates daily so sessions cannot be linked across days.


### 3. Cloudflare (CDN / proxy)

    This site is fronted by Cloudflare. Cloudflare sees every request at its edge, regardless of what we do — that's how a CDN works. Cloudflare retains traffic data for its own security and dashboard analytics under its privacy policy. We have no way to opt visitors out of this short of removing the CDN.


## What we do not do



- No cookies of any kind are set by this site.

- No third-party analytics (no Google Analytics, no Mixpanel, no Hotjar, no Plausible Cloud, no Cloudflare Web Analytics).

- No advertising. No ad networks. No retargeting pixels.

- No fingerprinting beyond the coarse User-Agent string.

- No data is sold, shared, or otherwise transferred to third parties for marketing.

- No accounts, no sign-up, no email collection.



## Data access / deletion requests

    Because we don't store anything that identifies you (no IP, no cookie, no account), we have no per-visitor record to access or delete. If you have questions, contact the maintainer via the address listed in the page source (HTML comment in `<head>`).


## Legal basis

    US visitors: the site does not meet the revenue or user-count thresholds of any current US state privacy law (CCPA/CPRA, VCDPA, CPA, CTDPA, UCPA). The processing described above is normal web-server operation; no consent is required under US law.

    EU / UK visitors: processing of request logs and analytics pings is performed under the GDPR legitimate-interest basis (security, debugging, audience measurement at aggregated level). No cookies are set and no identifying data is stored, so prior consent under the ePrivacy Directive is not required for this baseline. If we ever turn on something that would require consent, this page will say so and a banner will appear.


## Changes to this notice

    If we add or remove anything that affects what's collected, this page will be updated and the "Last updated" date at the top will change. There is no notification system — check back if it matters to you.


Cite this page

`Privacy on claudexml.com. claudexml.com. https://claudexml.com/privacy/`
