Privacy
Last updated 13 September 2026. Written by the people who run the service, from the code that runs it.
ChangePeek is run by GearyWorks. It watches web pages you choose and emails you when they change. To do that it keeps a small amount of data about you and a copy of each page’s text. This page lists exactly what, who else touches it, how long it stays, and how to delete all of it.
What we store
Everything lives in one Postgres database. These are its tables and what is in them:
| Table | What it holds |
|---|---|
user | Your email address, your plan (free or pro), and, if you have ever paid, the customer and subscription IDs Polar assigned you, the subscription status, and the timestamps of the last billing event, the welcome email, and the last failed-payment notice. No name, no password: you sign in by email link. |
account | A standard table for third-party logins (Google, GitHub and so on). We offer none, so it is empty. |
session | A random token for each browser you are signed in on, which account it belongs to, and when it expires. |
verificationToken | Your email address and a one-time token while a sign-in link is live. |
monitor | Each page you watch: its URL, the label you gave it, how often it is checked, an optional keyword filter (Pro), whether it is paused, when it was last checked and last changed, a fingerprint of the page, the full readable text of the page as we last saw it(that is what the next check is compared against), a count of consecutive failed checks and the last error, and two flags about how the page has to be fetched. |
change | Each change we detected: the lines that were added and removed, how many characters each way, the plain-English summary (Pro), and whether the alert email went out. |
We do not run analytics or tracking scripts on the site. There is no advertising, and no data is sold or shared for marketing.
Who else sees it
ChangePeek calls these services, and only these, on your behalf:
- Neon hosts the database above. Everything in the table is stored there.
- Vercel runs the site and its server code, and keeps its own request logs for the period its plan allows. Requests to the site pass through Vercel.
- Resend sends every email we send: sign-in links, change alerts, the welcome email, the failed-payment notice and the account-deleted confirmation. Resend sees your email address and the content of those emails, which for an alert includes the changed lines of the page. It keeps its own delivery logs.
- Polar handles payments and is the merchant of record. Card details go to Polar and never to us; we only store the customer and subscription IDs Polar gives back, and Polar sends us events when a subscription starts, changes, fails a payment or ends. Polar sees your email address, and whatever you enter on its checkout and billing pages.
- Sentry receives error reports from the server, the browser and the edge. Reports are configured to carry no personal data by default, with session replay and performance tracing switched off. An error report can include an internal account ID or page ID so we can find the row that broke.
- Anthropic — Pro accounts only. When a page changes, the added and removed text (up to 6,000 characters each), the page’s URL and its label are sent to Anthropic’s API to write the one-to-three-sentence summary in your alert. Nothing else about you is sent. On the free plan this call never happens.
- Firecrawl — Pro accounts only, and only for pages whose text cannot be read without running their JavaScript. The page URL is sent to Firecrawl, which renders it and returns the text. No account information goes with it.
- cron-job.org calls our check endpoint on a schedule. It sends a secret and receives a count; it never sees any account or page data.
How long we keep it
There is no scheduled clean-up job. What is kept, and for how long, is this:
- Page text and change history stay as long as the page is on your list. Deleting a page from the dashboard deletes its stored text and every change we recorded for it, at once.
- Sign-in links work for one hour. Sessions last 30 days, or until you sign out. Expired links and sessions stop working immediately, but their rows are only removed when the account is deleted.
- Your account row stays until you delete it (below). A cancelled subscription does not delete anything: the account drops to the free plan and keeps its pages.
- At the vendors: Sentry keeps error reports for 90 days. Vercel, Resend and Polar keep logs and records under their own policies; we do not export or copy them.
Deleting your account
Open Settings, choose Delete my account, and confirm. In one database transaction we remove every page you watch, every change recorded for them, your sessions, any live sign-in link, and your account row. If you have an active Pro subscription we cancel it with Polar first; if that cancellation cannot be confirmed, nothing is deleted and the page tells you so, so you are never left with a charge and no account. One confirmation email is sent, and that is the last one. Signing in later with the same address creates a fresh free account with nothing in it.
If you would rather we do it, email support@changepeek.com from the address on the account.
Cookies
A session cookie, set when you sign in, keeps you signed in. Two short-lived cookies exist only while a sign-in link is being requested and used, to check the request really came from you. There are no analytics or advertising cookies.
Changes to this page
When the code changes what is stored or who it is sent to, this page is updated in the same change, and the date at the top moves.