# Privacy


**Site index:** [https://2plot.dev/llms.txt](https://2plot.dev/llms.txt) — every page on this site, as Markdown.  
**Network index:** [https://2plot.ai/llms.txt](https://2plot.ai/llms.txt) — The 2plot network; start here to discover sibling sites.  
**Sibling sites:** 13 more in The 2plot network — listed in the site index above.  
**Sitemap:** https://2plot.dev/sitemap.xml  

**2plot.dev** is the documentation site and package catalogue for the Dash
component libraries published by Pip Install Python LLC.

This page describes what the software actually does, taken from the code that
does it. It is written to be accurate rather than comprehensive, and it is not
a substitute for legal advice.

## What is recorded when you read a page

Every request that reaches a page is written to a local ledger with:

- the **path** you asked for,
- your **User-Agent** string,
- a **session identifier** — a keyed one-way hash of your IP address and
  User-Agent, used to recognise repeat requests within a visit without storing
  an account or a cookie,
- **where you are**, as far as Cloudflare tells this site: your country
  (`CF-IPCountry`), and — where the site receives them — your city, region and
  approximate coordinates. Whatever of those arrives is recorded; nothing is
  inferred or looked up to fill a gap.

**Your IP address is not stored.** It is used, in memory, for two things
during the request and then discarded: to derive the session identifier above,
and to let the site tell an automated client from a person. The session
identifier is a **keyed one-way hash** — the key is not derivable from the
result, so the identifier cannot be turned back into your address.

**Nothing about you is sent to a third party to work out where you are.** Your
location comes from headers Cloudflare already attaches to the request as it
reaches this site — country, and where available city, region and approximate
coordinates. Where those headers are absent, the site records less rather than
asking anyone.

**Retention.** The traffic ledger is pruned to the last **3 days**, and the
host it runs on has an ephemeral filesystem, so a redeploy clears it earlier
than that.

## What is recorded when a crawler or AI agent reads a document

When an automated client fetches one of the machine-readable documents
(`/llms.txt` and its tiered variants, `robots.txt`, `sitemap.xml`, a page's
own `llms.txt`), the site records one row per document served: the path, which
tier was served, the vendor the User-Agent identifies, whether that vendor's
published IP ranges could verify it, the response size and status.

**The requesting IP address is not stored on these rows.**

## What is never counted

Requests whose User-Agent carries the token `2plot-internal` are the 2plot
network's own machinery — health checks, deploy verification, the smoke
battery. They are discarded before anything else happens and appear in no
count on this site.

Requests to `/healthz`, static assets and Dash's internal endpoints are not
recorded as visits.

## What leaves this host

Once an hour, an **aggregate** summary of the day's traffic is sent to
`2plot.ai`, the network hub: totals for human and automated requests, distinct
visitor counts, the busiest paths, a country breakdown, and per-vendor crawler
figures. **No IP addresses and no session identifiers are included.**

## Accounts, email and payment

- **Accounts** are handled by [Clerk](https://clerk.com). If you sign in, Clerk
  holds your account details under its own privacy policy; this site receives
  an identifier and the email address associated with it.
- **Email** is sent through [Resend](https://resend.com).
- **Advertising** shown on this site is served by the network's own ad
  component from this host. It does not embed a third-party ad network and
  sets no advertising cookies.
- **Agent access keys** (`k2p_…`) issued for machine access to the corpus are
  tied to a signed-in account and can be revoked by you at any time from the
  control board.

## Local storage

The site stores your **colour-scheme preference** in your browser's local
storage so the theme survives a reload. It never leaves your browser.

## Contact

Questions, corrections, or a request to remove something:
**pipinstallpython@gmail.com**
