Privacy

This site sets no cookies and runs no analytics scripts. It makes no requests to other sites: images are served from openrepro.org, and text is set in your device's own typeface. The MCP server for AI assistants records usage events without IP addresses or query text, and its feedback tool is optional and private.

Visiting the site

No cookies, no analytics scripts and no third-party requests. The site runs one first-party script, the paper lookup on the home page and the ledger page: it reads the published ledger.json from this site and matches what you type in your browser. It sends nothing you type anywhere, stores nothing, sets no cookie and loads nothing from another site. Every page carries a Content-Security-Policy: on those two pages it allows scripts only from this site, which ships that one file, and on every other page it blocks scripts altogether. Cloudflare, our host, may collect standard request logs (such as IP address, browser, page and time) under its own policy; we do not use them to identify visitors.

The MCP server

The MCP server at https://mcp.openrepro.org/mcp, which AI assistants use to query the ledger, records one usage event per JSON-RPC message (at most 25 per request), each with a timestamp, holding only these fields:

  • the day (UTC)
  • the MCP method
  • the tool name
  • the client's product name, if it is on a fixed list of known clients
  • that client's major version number
  • the protocol version
  • whether the request succeeded, found nothing or failed
  • the arXiv id of a listed paper that was looked up

The client's name is recorded only when a client connects, and only if, ignoring case, accents and punctuation, it exactly matches one of a fixed list of known MCP clients (such as claude-code, cursor or vscode); any other name is recorded as “other”, with no version. A paper's arXiv id is recorded only when the paper is listed in the ledger, and “unlisted” otherwise: never the text of a query or of any other argument. The usage events hold no IP address, no browser or user-agent string, no cookie and no session id. They are kept in Cloudflare Workers Analytics Engine. Cloudflare keeps these events for about 3 months, and we read them only as daily totals. Daily totals we copy out are deleted after 13 months. As for the website, Cloudflare may also keep standard request logs for the server under its own policy; we do not use them to identify anyone.

The server also has one optional tool, send_feedback, that an assistant may use to send feedback about the ledger. Its description, which the assistant reads, says:

Optional: send short feedback about the OpenRepro ledger and this server to OpenRepro's maintainers, who read it to improve the ledger. It is stored privately with the day and these fields only, kept for 12 months and never published. It must not contain personal data, the user's own words or prompts, file contents or secrets. Links, email addresses, IP addresses, phone-like numbers and long tokens are removed on a best-effort basis only. Send it only if you have feedback about the ledger, or the user is happy for it to be sent. No other tool depends on it.

Feedback is optional free text that the sender chooses: a task type, three short texts and, if given, a client name from the same fixed list. Senders must not include personal data. Before a note is stored, links, email addresses, IP addresses, phone-like numbers and long tokens are removed on a best-effort basis only; anything else the sender writes, such as a name, is stored as written. A note is stored with the day and those fields only: the server attaches no IP address, user-agent string, cookie, session id or time finer than the day to it. The text itself is whatever the sender wrote, scrubbed on a best-effort basis, and may identify them if they put identifying details in it. To limit abuse, Cloudflare's rate limiter checks a feedback request's connecting IP address in memory; it is never written to our storage. Feedback sent from a web page (a request carrying an Origin header) is refused. Notes are read by OpenRepro's maintainers and never published. A daily job deletes notes after 12 months; Cloudflare can recover deleted rows for up to 7 more days (D1 Time Travel on the Free plan). Because the server attaches nothing about who sent a note, we cannot find one by its sender, unless the sender put identifying details in its text.

At most 300 notes are stored a day. One sender within the per-IP limit can still use up the day's 300 notes; when that happens feedback returns a daily-cap error until 00:00 UTC; usage counting and every lookup tool are unaffected. We accept this because a per-sender daily limit would mean storing who sent a note.

Visiting this website is not counted this way; the site runs no analytics of its own. Cloudflare shows us total page requests from its own request logs, described above.

Email

We keep the email sent to and from hello@openrepro.org: error reports, suggestions, notices to authors and their replies. It is the record of how each report was handled, so we keep it while the report it concerns is public. We do not sell it or share it. The public release manifest (release.json) lists only the date, kind and number of recipients of each notice to authors, never names or addresses. An author's reply is published only with their permission.

To ask what we hold about you, or to have it deleted, write to the same address.

Data in the reports

Reports and evidence bundles record what the agent ran and saw. Captured output can include authors' public commit metadata, such as a name and email address in a git log. To ask for it to be redacted, write to the same address.