GVNR trust
Last updated 13 October 2026.
GVNR is made by Instruxi and built on Enforcer, Instruxi's identity and authorization service. This notice covers the GVNR plugins on your computer, the Enforcer servers behind them, the GVNR connector you add to an AI chat, optional AI judgment by TypeSafe, and this website: what each collects, where it goes, how long it is kept, and what you can do about it.
Instruxi Limited (UK company number 13781404) runs GVNR and Enforcer. In this notice "we" means Instruxi.
GVNR for Claude Code is the enforcer-governor plugin, with enforcer for sign-in. What they keep stays in ~/.enforcer-governor/ and ~/.enforcer/ on your computer.
| What | Kept on your computer | Leaves your computer |
|---|---|---|
| A receipt for every decision: time, session, verdict, reason, rule, tool, model, tokens, spend, the project name (from the folder you work in) and your email as the operator | receipts.jsonl, one line per decision, until you delete it | Once you sign in, sent to your workspace about every 30 seconds while you work and at the end of each session. shipOn turns this off, unless your organisation has turned it on for everyone. |
| Recent actions, for loop detection: the last 8 tool inputs per session, which can include whole commands and the text of files being written, and the first 140 characters of your last prompt | state.json, with no automatic clean-up today | Never |
| The full text of your last prompt, read from Claude Code's transcript to work out cost | cursor-*.json, deleted after 7 days untouched | Never |
| Your settings, a random install id, and the email and account id you signed in with | config.json, install.json, identity.json | The install id goes with each batch of receipts |
| Your sign-in token | ~/.enforcer/credentials.json, readable only by you | Sent to Enforcer to authenticate each call. Signing out removes it. |
Signed in, at the start of each session the plugin also tells your workspace which project the session is in, checks who you are, and fetches any settings your organisation publishes. When one of its rules matches, for example deleting a directory tree, reading a credentials file or deploying, it asks your organisation's policy about that kind of action. It names the rule, never the command.
OpenTelemetry, only if you turn it on with /enforcer-governor:telemetry on. Claude Code then sends its own usage data to your workspace: your Claude account email, account and organisation ids, cost, tokens, lines of code, commits, pull requests, active time, tool names and results, and API errors. Claude Code leaves out prompt text unless OTEL_LOG_USER_PROMPTS is set, and tool inputs unless OTEL_LOG_TOOL_DETAILS is set. GVNR sets neither, but if your environment sets them, that text is sent and stored too.
Shared plans in Claude Code (the enforcer-graph plugin). While your session holds a task, it keeps each command you run (up to 4,000 characters) with its exit code and output (up to 4,000 characters), and the path and first 600 characters of each file you write. When you report the task, up to 20 of these go to the plan as evidence. They are not scrubbed for secrets, so do not print secrets while you hold a task. If your project sets a files address, the whole output of a long command (up to 5 MB) is uploaded to your workspace's file storage. The plugin also tells the plan you are still working on every 10th tool call, and before Claude Code compacts the conversation it posts the last assistant message (up to 1,500 characters) as a progress note on the task.
The Enforcer MCP server (the enforcer plugin adds it to Claude Code, at api.instruxi.dev/mcp). Every call Claude makes to it goes to Enforcer with all its arguments and runs as you, and the answer comes back into your session. It reaches what your role in the workspace allows, which can include spend and decisions, and plans' runs with their reports and evidence.
Files (the enforcer-files plugin, if you install it). A file you upload with /enforcer-files:upload goes to your workspace's file storage, and a download comes back to your computer. The file itself goes between your computer and storage, not through the model.
What the plugins add to the conversation, such as a spend warning or the reason for a refusal, reaches your AI provider with the rest of your session, under your agreement with them.
AI Multiplayer puts one shared plan in every teammate's AI chat. You add the GVNR connector to the AI app you use, such as Claude, ChatGPT, Gemini CLI, Cursor, VS Code or Codex, sign in to your Enforcer account, and approve what it may do. It works on your shared plans, plus one account field: it can fill in your first name when your account has none. It cannot reach spend records or any other account records.
Titles are shown in every teammate's AI app; summaries and notes can be read in the Enforcer web app. Everyone on a plan can read what is written on it, and each AI app's provider handles what that person's AI reads under their own agreement with it. Keep secrets, costs and prompts out of what you write there.
Read-only plan links. A plan editor can make a link to one plan, at https://gvnr.io/p/, to paste into any AI or send to someone. Whoever has the link sees the plan's name, each task's title and state, the first names of the people on the plan and of who holds, is assigned or needs to approve each task, and when the plan last changed; never email addresses, last names, costs, spend, prompts, idle time, run details or evidence. gvnr.io fetches the plan from Enforcer on each visit and stores nothing: the page is never cached, tells search engines not to index it, and is not logged by our Worker. To stop abuse it counts visits for one minute per IP address and per link. Enforcer keeps only a hash of the link, with who made it, when it expires, and when and by whom it was turned off. A link works until it expires (30 days, or up to a year if the editor chose) or an editor turns it off, and nobody can join or change a plan from it. An AI you paste it into reads the page under your agreement with that AI's provider.
The connector's limits are the connector's. In the Enforcer web app and in Claude Code's Enforcer tools, people on a plan can also see how long each attempt ran, when a hold runs out, progress notes (including the last assistant message the enforcer-graph plugin posts, section 1), and the evidence attached to finished work.
Enforcer runs on servers Instruxi rents from DigitalOcean. Enforcer's databases and file storage are in DigitalOcean's New York region, in the United States. Cloudflare sits in front of api.instruxi.dev and app.instruxi.dev, so every request to them, sign-in and workspace data included, passes through Cloudflare's network on the way.
| Part | What it keeps | How long |
|---|---|---|
| The receipt record | Each receipt with your account id, install id, session, project, tool, rule, verdict, reason, model, tokens and cost; totals per session and per hour; approval requests and who decided them; notes that workspace admins add about a receipt, session, install or person. The email inside a receipt is not stored separately. | Receipts are append-only: the database refuses edits and deletes, which is what makes the record tamper-evident. Receipts, totals and approvals have no set end date today. |
| OpenTelemetry, if turned on | What Claude Code sent, as received, including the details listed in section 1 | Deleted after 90 days. Hourly totals are kept. |
| Plans | Plans, tasks, who is on each plan and their role, who holds or is assigned each task, runs with their reports and evidence, notes on tasks, approvals and votes, and skills | Until someone deletes them; no time limit today. The log of changes is deleted after 90 days, but milestones from it are also copied to the account audit trail, which has no automatic deletion today. |
| Your account | Email, name and username; sign-in sessions with IP address and browser; a log of each sign-in with IP address and browser; failed sign-in attempts; apps you approved to act as you; which terms you accepted, with IP address and browser; a security audit trail | Sessions: deleted 24 hours after they end. Failed attempts: 14 days. The sign-in log, audit trail and terms record: no automatic deletion today. Deleting an account clears the account record's email, names and username. |
| The Enforcer web app | Where Open plan and the governance console take you (app.instruxi.dev), hosted by Lovable. It records which features you use, with your account and workspace, and the errors you hit, in the same log as sign-ins. Maps in it load tiles from OpenStreetMap. Cloudflare, in front of it, sets __cf_bm, a strictly necessary bot-protection cookie that lasts 30 minutes. | No automatic deletion today |
| Files | Files uploaded by you or your tools, such as full command output and plan exports | Until deleted |
| Billing, for a paid workspace | Stripe customer id, billing email and name, whether a card is on file (never the card number), invoices, and which people were active each month, to count active users | No automatic deletion today |
Off unless an admin of your workspace turns it on. The GVNR plugin's guard never sends anything to TypeSafe.
When a workspace turns it on, Enforcer sends TypeSafe (api.typesafe.ai, hosted in the US) what it needs to judge work on a plan: the run's report (or the run's data when there is no report), its evidence (commands, output, file paths and excerpts, links and notes), the acceptance criteria, task titles and descriptions, and, to spot duplicate or contradicting notes, the text of notes on the task. We add no account ids or email addresses, but evidence and notes are sent as written, so anything inside them, an email address included, goes too. TypeSafe's privacy policy says it does not train on this data or sell it, hosts it in the US, and keeps it as long as reasonably necessary.
If a workspace uses its own TypeSafe key, TypeSafe handles this data under that workspace's agreement with it, not as our subprocessor.
hubspotutk and __hstc (6 months), __hssc (30 minutes) and __hssrc (until you close the browser), and receives the page address and title, the page that sent you, your screen size, colour depth and language, a browser fingerprint and your IP address. HubSpot keeps this in its EU data centre. If you say no, or your browser sends Global Privacy Control and you have not said yes, HubSpot does not load. It never loads on the sign-up page. Cookie settings, at the foot of every page, changes your choice; saying no deletes HubSpot's cookies.gvnr.consent), whether you closed the sign-up note, and your session after sign-up. Of these, only the session is sent anywhere: it signs you in to Enforcer.| Purpose | Legal basis under UK GDPR |
|---|---|
| Running GVNR: decisions, the receipt record, shared plans, sign-in and support | Our contract with you. For an organisation's workspace, we act on its instructions as its processor. |
| Features you or your admin turn on, such as OpenTelemetry or AI judgment | The same, once turned on. They are off by default. |
| Security, preventing abuse, and keeping the record tamper-evident | Our legitimate interests |
| Counting visits to this site | Our legitimate interests |
| HubSpot cookies | Your consent |
| Billing and tax records | Our contract with you, and our legal obligations |
The providers that process data for us are listed on the trust page. Within a workspace, people on a plan see its tasks, progress notes and the evidence attached to finished work, and the workspace's admins see spend and decisions by person. Through the GVNR connector, teammates never see each other's prompts, cost or idle time. In the Public workspace, Instruxi is the admin (see who is responsible).
We do not sell, rent or trade personal information. If Instruxi is sold or merges with another company, this data may pass to the new owner, and we will tell you before that happens.
Enforcer's databases and file storage are in DigitalOcean's New York region, in the United States, so your account, receipts, plans, runs and files are stored there. Other providers also process data outside the UK; the trust page gives each one's location. You can ask us how each transfer is protected.
Under UK GDPR you can ask for a copy of your data, ask us to correct or delete it, limit or object to how we use it, or have it in a portable form, and you can withdraw consent at any time. Write to privacy@gvnr.io. For data in an organisation's workspace, we pass your request to that organisation and help it answer.
Receipts are built so that no line can be changed or removed. If you ask us to erase data held in them, we will explain what we can do and why.
You can also act yourself. shipOn and policyOn stop the plugin sending receipts and policy questions, /enforcer-governor:telemetry off stops OpenTelemetry, and to stop all three run /enforcer-governor:telemetry off first, then /enforcer:login logout: logout alone removes your sign-in but leaves Claude Code's OpenTelemetry settings in place. Deleting ~/.enforcer-governor removes what the plugin kept on your computer.
If you are unhappy with how we handle your data, you can complain to the Information Commissioner's Office at ico.org.uk.
Privacy questions and requests: privacy@gvnr.io. Instruxi Limited, UK company number 13781404.
When this notice changes we update the date at the top. If a change affects how we use data you have already given us, we will tell account holders by email before it takes effect.