Legal
Privacy Policy
Updated 2 October 2026
This policy describes the hosted beta at errclue.com: the website, the console, and the ingest API.
What this policy covers
It covers the service we host. We do not publish install steps for a copy you run yourself, and this policy does not cover one. Privacy requests go to privacy@errclue.com. The Terms of Service is the agreement for using the beta.
Account data
When you create an account we store your name, your email, and whether that email is verified. Email signup stores a hash of the password. We do not store the password itself.
GitHub sign-in stores the GitHub account id, the email GitHub has verified, the tokens GitHub issues for that login, and a profile image URL if GitHub sends one. The scopes are read:user and user:email. We do not request repository access. An existing account is linked only when that email is verified.
A signed-in browser gets an HTTP-only session cookie. We store the session token, when it expires, the IP address, and the user agent of that sign-in.
An organization stores its name and slug. Membership stores your role. An invitation stores the invited email, the role, and when it expires. An auth token is shown once. We keep a digest of the secret and a short prefix. A client key stores the public key that appears in the DSN.
The first time an account is created we send one welcome email from noreply@errclue.com with a link to the console. A later sign-in does not send it again.
If you left an email on the old early-access form, that address can still be in the database. The public site no longer adds to that list. Write to privacy@errclue.com if you want it removed.
Events and source maps
When an envelope contains an error or message event, we store that envelope in Cloudflare R2 and a shorter projection in the database. The projection keeps the exception type and message, up to 8 stack frames, the event message, the request method and URL, and tags.
The envelope is what the SDK sent. It can include a user id, an email, an IP address, breadcrumbs, request headers, or other context if your application attached them. You decide what the SDK sends.
An envelope that is only a session, a replay, or a transaction is not stored. If those items share an envelope with an error or message event, the stored object is the envelope we received, so those extra bytes stay until that event is deleted. We do not build a replay or a trace from them.
Source maps you upload are stored and used to restore minified frames and to supply nearby source lines. Languages that do not use those maps keep the frame context the SDK sent.
Members of the organization can read the issue, the projection, and the diagnosis. Owners and admins can change project settings.
Diagnosis and notifications
A diagnosis is produced by sending a prompt to the xAI API, model grok-4.7. The prompt includes the issue title, the level, the culprit when there is one, the exception or message, the stack frames, and nearby source lines. If symbolication failed, the prompt also includes that reason. The request URL is left out. We store the summary, the likely cause, the suggested fix, labels, a confidence integer from 0 to 100, and a severity of low, medium, or high.
We do not train a model of our own on your events or source. xAI's API security page says xAI does not train on API inputs or outputs unless the account allows it, and that it keeps those requests for 30 days to review abuse. We do not turn on a zero-retention option in the product.
A Slack or Discord webhook you save receives the issue label, an optional regression or frequency lead, the title, one sentence, and the issue link. Confidence and severity stay on the issue page.
Cookies, theme, and measurement
The session cookie is what keeps you signed in to the console.
errclue.com loads Google Analytics 4 from www.googletagmanager.com. A page view sends the path, the full URL, and the page title. Google may set its own cookies and receive the browser's IP address. See Google's privacy policy. The ingest API does not load this script. A build without a measurement ID does not load it either.
The light or dark theme is stored in this browser under the key errclue-theme. That value stays on the device.
Who else receives data
We do not sell personal data, and we do not share it for advertising beyond the measurement described above.
Cloudflare hosts the site, the database, object storage, queues, and the welcome email. xAI receives the diagnosis prompt and returns the diagnosis. Google receives the page view when Analytics is loaded. GitHub receives the sign-in only if you use that button.
Slack or Discord receives the webhook message only at the URL you save. We reject a webhook URL that includes a username or password, or that points at a private address, when you save it. A public hostname that resolves to a private address is dropped when we send, and we do not follow redirects.
Other members of your organization see the project data their role allows. We also share data when the law requires it.
How long we keep it
Event rows, the stored envelope, hourly counts, and daily tag rollups are deleted after the organization's retention period. That period is 30 days unless the organization record says otherwise. Organization settings shows the number. You cannot edit it there today.
Issues, the diagnosis text, and notification records are not part of that deletion. They remain until the project is deleted or the account is deleted. Source lines already copied into an event projection stay in that projection until the event itself is deleted.
A deleted project's source maps are removed when no project still uses that bundle. Session rows last until the session expires or you sign out.
Security
The site is served over HTTPS. Passwords are stored as hashes. Auth token secrets are stored as digests. The public key in a DSN is an identifier the SDK has to send. Treat it as a write key, and create a new client key before you turn the old one off. A project has to keep one active key.
Access and deletion
Some privacy laws let you ask to access, correct, or delete personal data, or to object to certain processing. Write to privacy@errclue.com. There is no delete-account button yet. We may ask you to confirm you control the email before we change or delete the account. We will tell you if we cannot complete a request.
Owners and admins can delete a project in the console. Signing out is on the account page.
Children and where data is processed
errclue is for people building software. It is not directed at children, and you must not use it to collect information from children.
Cloudflare, xAI, and Google process data in the regions those services use. Those regions can be outside your country. Using the hosted beta includes that processing.
Changes
The date at the top changes when this policy changes. Continuing to use errclue after that date means you accept the update.
Contact
Privacy requests go to privacy@errclue.com.