PR Lens

Legal

Privacy policy

What PR Lens receives, where it keeps it, who can read it, and how to have it deleted.

Who we are

PR Lens is made by Coldtea AI UG (haftungsbeschränkt), the company behind Coldtea. This page covers the parts of PR Lens we run for you: the GitHub App, the website at prlens.dev, and the canvases the CLI publishes there. The Coldtea privacy policy covers everything else Coldtea makes. Where the two say different things about PR Lens, this page is the one that applies.

The CLI, the Action and the agent skill

The open source packages run on your machine or in your CI, and nothing they do reaches us. analyze sends the diff to the model provider you named, with your own key, and that request goes to the provider directly. There is no PR Lens server in the path, so we never see the diff, the key, or the answer. render, validate, export and comment talk to no network at all. The CLI has no telemetry.

The one command that talks to prlens.dev is canvas push, and it does so only when you run it. The rest of this page is about what happens then, and about the GitHub App.

Canvases

What a canvas holds

A canvas is the JSON graph document exactly as you pushed it: the title, the names of the components it draws, file paths with line ranges, the edges and flows between them, the text of a walkthrough if it carries one, and the provenance fields the document names (a repository owner and name, a branch, a commit). The CLI sends the document and nothing else. It never sends source code, a diff, or a rendered image; the app draws the image itself. Along with the document we see what any web server sees: your IP address and the CLI's version.

Where it is kept

The document, each revision of it, and the SVG drawn from it are stored in Cloudflare R2 in the European Union. A pointer to the current revision and a hash of the write token are stored in Upstash Redis in the United States. The write token itself is never stored, only its hash, so a copy of our database is not a copy of your edit link.

Who can read it

Anyone you share it with, without signing in. Nobody else. A canvas is not listed anywhere: there is no index of canvases, none appears in the sitemap or the Hall of Fame, and the page and its images are marked so search engines do not index them. The id in the link is 128 random bits, which cannot be guessed or counted through, and we never publish or enumerate ids.

How long it is kept

Until you delete it. Run pr-lens canvas delete from the checkout that pushed it, or from any checkout that has pulled the edit link. If you have lost the write token, write to hello@coldtea.ai with the view link and we will delete it for you. Deletion removes the document, every revision and every image at once. We keep no backups, so what is deleted is gone.

What it is used for

Serving the page and the image to whoever opens the link. That is all. We do not train models on canvases, sell them, show ads against them, or share them with anyone beyond the providers listed below, who store and serve them on our behalf.

The GitHub App

What we receive

Installing the App grants it access to the repositories you pick, and GitHub sends us an event when a pull request on one of them opens or changes. From that event we take the repository's name and id, whether it is private, the pull request number and title, the head commit, and the installation id.

How a change is analyzed

The change is read by Gemini, through Google's paid API, inside a sandbox that exists for the run and is deleted when it ends. Google does not train on requests made through the paid API.

What is kept afterwards

The graph document for each analyzed commit, a baseline document for merged commits, and the images drawn from them are stored in Cloudflare R2 in the European Union. Working state lives in Upstash Redis in the United States and expires on its own: the run's state after 7 days, the pointer to the latest graph after 30 days, the pointer to the comment after 60 days, and the cached title and visibility of a repository after 5 minutes.

Removing the App stops new runs. It does not remove the documents and images already drawn, and canvas delete does not reach them: it deletes canvases, and these are not canvases. Write to hello@coldtea.ai naming the repository and we will delete them.

Share pages

The comment on a pull request links to a page on prlens.dev that shows the same diagrams at full size. For a public repository, anyone with the link can open it. For a private repository, only the signed link in the comment opens it, and the page asks GitHub whether the repository is still private before it shows anything. Share pages are marked so search engines do not index them.

The Hall of Fame shows diagrams from public repositories we picked by hand. If one is yours and you would rather it were not there, write to us and we will take it down.

Usage data

We collect aggregate usage data through PostHog, hosted in the United States: page views on prlens.dev, how many analyses ran and how they ended, and how many canvases were created, pushed and viewed. Session recording is off. The fragment of a URL, where an edit link keeps its write token, is never captured. Usage data never includes a diff, a document, or a diagram. In the browser, PostHog sets a first-party cookie to tell one visit from the next.

Rate limits and logs

To stop abuse, the IP address that creates a canvas is counted in Upstash Redis for a sliding window of one hour, then dropped. Pushes are counted by canvas id, and analyses by repository and installation. Our host keeps request logs for a few days, and those logs carry IP addresses and the paths requested.

Sub-processors and hosting regions

These are the companies that handle data on our behalf, what each does, and where.

ProviderWhat forWhere
VercelHosts prlens.dev and runs its codeUnited States, East (Washington, D.C.)
Cloudflare R2Stores graph documents and the images drawn from themEuropean Union
Upstash RedisPointers, run state and rate limitsUnited States, East (us-east-1)
Upstash QStash and BoxQueues analysis runs and provides the sandbox each one runs inUnited States
GoogleGemini API, paid tier, for the GitHub App's analysisGoogle's own regions
PostHogUsage dataUnited States
GitHubThe platform the App runs on: webhooks, repository clones, commentsGitHub's own regions

OpenAI is not on this list, and neither is any provider you choose for the CLI or the Action. Those requests are made with your key from your machine or your CI, and we are not a party to them. If your organisation needs a data processing agreement, write to hello@coldtea.ai.

Your rights

You can ask what we hold about you or your repositories, ask for it to be corrected or deleted, and object to how it is used. Write to hello@coldtea.ai. We answer within 30 days. If you are in the European Union, you can also complain to your data protection authority.

Changes

When this page changes, the date at the top changes with it. A change that narrows what we promise here will be announced on prlens.dev before it takes effect.

Contact

Coldtea AI UG (haftungsbeschränkt), at hello@coldtea.ai.