Docs Privacy, limits and help
Privacy and security
Geometer runs on your computer. The app has no account and no telemetry, and it sends nothing about you or your project anywhere. The website has two forms, one to ask for help and one for updates by email, and this page says exactly what they collect. It also lists what does use the network, how the local workspace protects itself, and what Geometer writes into your project.
On this page
What Geometer does not do#
- No account. You do not sign up for anything.
- No telemetry. The app, the
geocommand and the workspace collect nothing and report nothing. What the team learns comes from issues that people choose to open. - No upload of your project. Your code runs in containers on your computer. Outside services are simulated, so nothing real is charged or sent.
- No change to your files by checking. Opening a project only reads it. A check works on a copy inside containers.
The request form on geometer.dev#
The website has two forms: the request for help or for a design-partner evaluation on the contact page, and the updates sign-up in the footer of every page. They are separate from each other and from the app, and the app never sends anything to either. The website itself has no analytics, no cookies and no scripts that watch you.
- What it collects. What you send: a subject, your name, work email, company, role, what your agent does, what is driving the timing, and how you heard about us. If you followed a link from another page of the site, the subject is filled in from that link, and you can change it. If you arrive from one of our campaign pages, it also records that page's campaign code. With each submission, Netlify also records your IP address, your browser's user agent and the page you sent it from, which its spam filter uses.
- Who handles it. Netlify, which hosts the site, stores each submission, and its spam filter, Akismet, checks it for spam. We receive it by email at [email protected], which Zoho Mail hosts, and keep it with our notes in our own records.
- Why. To reply to you and to help. We use it for nothing else.
- How long. Deleted within 12 months of our last conversation, or sooner on request.
- How to have it deleted. Write to [email protected] and we delete your submission, including Netlify's copy, our emails about it and any notes we made about you.
The updates sign-up. It collects your email address, and Netlify records your IP address, browser and the page you sent it from, as with every submission. Netlify stores the submission and Akismet checks it for spam. Messages come from [email protected], sent through Zoho Mail, about once a month: new releases, studies and articles. Nothing is sent before you confirm by replying to our confirmation email. Every message has an unsubscribe line, and replying "unsubscribe" works too. Unsubscribing takes you off the list at once. To have the address deleted entirely, including Netlify's copy of the sign-up, write to [email protected]. We never use it for anything else.
What uses the network#
| What | When | What goes where |
|---|---|---|
| Container images | The first time a check needs an image, and when an image is updated | Docker pulls images from their registries. Docker makes these requests, and Under the hood labels them as Docker's. |
| Project dependencies | When Geometer builds a container for your project | The build installs your project's dependencies from their registries, as your own build would. |
| The installer | When you install or upgrade | curl downloads the release files from GitHub. |
| A free local model | Only if you choose it | The model and, if you lack it, Ollama are downloaded. Your prompts stay on your computer. |
| A hosted model | Only if you choose Your own API and agree | Excerpts of your code and your agent's requests go to the service you named, under your agreement with that provider. |
| Report a problem | Only when you press it | Your browser opens GitHub's issue chooser. You decide what to write. |
| Publish a certificate link | Not switched on yet. Only when you press Publish and confirm | The certificate's public part goes to the link service. See below. |
| Talk to us | Only when you press it | Your browser opens the request form on geometer.dev. The app sends nothing; the form sends only what you submit. |
Geometer's own calls, such as a model download or a call to a hosted model, are written to a ledger that keeps only the host and port. Under the hood shows the network activity Geometer can see, labelled by who made it, and says what it cannot see. See Choose a model for what each model choice sends.
Publishing a certificate link (not switched on yet)#
Certificate links are built into the app but are not switched on: until the service exists there is nowhere to send anything. When they are, this is how they work. It is the one exception to "nothing is sent".
- Only when you publish. Geometer sends a certificate only when you press Publish a link on that certificate or run
geo certificate publish, after showing you the exact files and asking you to confirm. Nothing else in the app uploads a certificate, and checking, exporting or previewing sends nothing. - What is uploaded. The public copy of the certificate with private evidence left out, the evidence files allowed to leave your computer, the signed status, your public key and key log, and a random id of your computer inside the signed status entries. Rule names, the code version, results and the list of what was not checked can say things about your project; read the preview.
- What is stored. Those files, the time of upload and the size. Not your name, email or IP address, and there is no account, no cookie and no analytics on the certificate page. The hosting provider handles requests, including IP addresses, as an infrastructure provider; what it keeps is set by its own terms.
- Who can see it. Anyone with the link. The link cannot be guessed, is not listed or searchable, and the page asks search engines not to index it.
- Who it is published by. You. Geometer stores it and did not check it, and does not vouch for it or for you.
- How to delete it.
geo certificate unpublish <id>or Remove the link, signed with the certificate's own key. A record of the id and the time of removal stays. Copies others saved cannot be recalled, and a cached copy can show for a few minutes. If you lost the key, write to [email protected].
The local workspace and its sign-in link#
The workspace (the Mac app's window, or geo open in a browser) is a server on your own computer.
- It listens on
127.0.0.1only, so other computers cannot reach it, and it checks theHostandOriginof every request. - You sign in with a one-time link that
geo openprints. The link works once and expires after ten minutes. The workspace exchanges it for a cookie that isHttpOnlyandSameSite=Strict. The Mac app signs in by itself. - Scripts on the same computer can use a token file in the records folder instead of the link.
- It accepts only JSON for writes and sends a strict content security policy.
- A link that you click on another web page, for example in a chat or a GitHub issue, still works: a browser opens it as a page load, and the workspace then signs you in from its own page. Everything else coming from another site, such as scripts, frames, form posts and calls to the API, is refused whether or not a cookie is present.
- When it refuses a page load, it shows a small page that says what happened, that nothing was changed, and what to do: use the link that Geometer printed in your terminal, or run
geo openagain.
The Mac app's window refuses every address outside the workspace. It hands Geometer's own pages (on GitHub and geometer.dev) to your default browser.
What Geometer writes, and where#
| Where | What | When |
|---|---|---|
Your project, .geometer/regressions/ | A reviewable file for each kept check | Only when you press Keep this check or run geo regression keep |
Your project, .geometer/ | Declarations such as tools, tasks and rules | Only if you write them. Geometer does not write declarations into your project. --save-declarations exports what it inferred to a folder you choose. |
~/.geometer-host (or GEO_HOME) | Everything else: checks, findings, backups, Guard files, exports, the practice project, generated declarations | As you use Geometer |
~/.geometer-host (or GEO_HOME), Guard's evidence | For each MCP call Guard decides: the server, the tool, the decision, and digests of the request and the reply. The arguments and the reply themselves only if you set record_values = true under [mcp] in guard.toml (off by default), locked on this computer | When Guard is in front of an MCP server |
~/.geometer-host (or GEO_HOME), the last try | The result of geo mcp try: the calls your agent made to the simulated service with their arguments, the fault, which rules held, and what changed in the simulated service. Your real servers saw none of it | After each try |
~/.geometer-host/mcp/try/ and .geometer/regressions/ (model record) | With geo mcp try --record-model only: your agent's requests to its model and the model's answers, on this computer, so the try can be repeated. Your key is not kept; it goes to your provider as your agent sends it. Your prompts go to your own provider as always. Nothing goes to Geometer. Written into your project only when you keep the check | When you run a try with --record-model |
~/.geometer-host (or GEO_HOME), mcp/recordings/ and mcp/twins/ | With geo mcp record only, after it asks and shows what it keeps: each tool list and call of one server (or each request and response of a REST service with --http) with the arguments, the result or error, and the time, for the minutes you chose. Keys, tokens, card numbers and email addresses are replaced before anything is written; headers and credentials are never kept. A twin learned from them is kept beside them. On this computer only; nothing goes to Geometer and nothing is written into your project. Delete a recording with geo mcp record --delete <id> (--list shows them) | When you run geo mcp record, and geo mcp twin |
The install folder (~/.local by default) | The program | When you install |
Exports such as certificates and the dated audit export go to the records folder, never to your project. Anything that looks like a password or key is withheld from an exported certificate, and Under the hood never shows environment variables or secrets. A key for a hosted model is stored on your computer, never in a file with your settings and never taken from a command line argument. Keep important records elsewhere too: the alpha terms say Geometer may lose or corrupt its own records between versions.
Your records#
The details of each call recorded by Guard (its arguments) are stored locked on your computer. Without the key, a copy of the files does not reveal them. You choose how long they are kept with geo prove retention. You can give someone a credential that can only export a record. See Prove and certificates.
Checking what you download#
Each release lists the SHA-256 digest of every file in SHA256SUMS. The one-line installer checks the digest before it installs anything, and you can check it yourself. The alpha is not signed by Apple. Each download includes the licences and notices of the open-source components inside it. Use is under the alpha terms.
Reporting a security problem#
Please report a security problem privately, not in a public issue. Use GitHub's private vulnerability reporting for Geometer. Say which version and platform you used and how to reproduce it. Do not include secrets, customer data or private code you cannot share. For the policy, scope and what the site has and has not confirmed about response targets, read the security page.
For ordinary bugs, install problems and questions, see Troubleshooting.
Something unclear, wrong or missing on this page? Report a problem with these docs.