A gate, not a copy
Gunnie.ai does not collect your data. When someone asks a question, it checks whether they may ask it, fetches the answer live from the system that owns the data, and passes it to their assistant. Products, tickets, designs and code are not stored on our side.
Access and permissions
People log in with their work account; single sign-on with Microsoft Entra ID comes with the beta. Their role (reader, ticket creator, designer, business analyst, product owner, developer or admin) decides which tools their assistant sees. Each connection has an allow-list of projects, repositories, files and designs; anything outside it is refused before it reaches your system.
Deny is the default. A refused call is logged with the rule that stopped it, so you can see what people tried as well as what they did. Tools that change something, such as creating a ticket, never run on the AI’s word: Gunnie.ai shows the person who asked exactly what will be written, and only writes it after they approve it in Gunnie.ai, logged in with their own account. That works the same for every AI assistant and for replies in Slack, and both the request and the approval are on record. Routines follow the same rule: a note, an estimate or a comment a routine wants to add waits as a proposal, word for word, until someone approves it. The scraper watch blocks addresses in Cloudflare, or makes a scraper’s company users inactive in the shop, only after an admin approves the block, and an admin can lift it again. An admin can decide every member’s proposals; the change then runs as the member who asked, within their role, and the record names who approved it.
Switch someone off in the control panel and their next call is refused. There always remains at least one active admin.
Files that hold secrets are never read
Configuration files with passwords and keys are off limits for every role: .env files, env.php and auth.json, private keys and certificates (.pem, .key, .p12 and similar), SSH keys, and credential files such as .netrc, .pgpass and .git-credentials. Gunnie.ai refuses to open them before your repository is even asked, leaves them out of code search and out of the changes it reviews, and logs every attempt as denied. Example copies such as .env.example stay readable.
When Gunnie.ai checks out code for a review or a build, such a file can be in that temporary checkout, but nothing that runs there is able to read it.
What we store, and what we never store
The call log, routine results and decided approvals are deleted after 30 days. Runs and their costs are kept with the invoices. Our privacy statement has a section on Gunnie.ai that says the same.
| Data | What happens to it |
|---|---|
| Who made a call, which tool, when, the outcome, how long it took and which assistant was used | Stored for your call log, deleted after 30 days |
| Connection settings and allow-lists | Stored, visible to your admins |
| Connection tokens | Stored encrypted, never shown again |
| Who ran a code review or routine, when, the model used and the cost | Stored for your budget, and kept with the invoices |
| The result of each routine run | Stored for your admins, deleted after 30 days |
| A change waiting for approval: what will be written, and to which ticket | Stored with its outcome as your approval history, deleted 30 days after it is decided or expires |
| The details of that change behind the summary | Deleted as soon as it is approved, rejected or expires |
| Questions, tool arguments and answers of calls | Never stored |
| Products, tickets, designs and code | Never stored |
| Findings of a review someone starts from their assistant | Kept in memory for two hours, for the person who asked, then gone |
| Findings of a review a routine runs | Stored as that run’s result for your admins, deleted after 30 days |
Encryption and secrets
Every connection uses TLS. Tokens for your systems are encrypted with AES-256-GCM before they reach the database, with a key that is kept outside it. Once saved, a token is never shown again, not to your admins and not in our tools; you can only replace it.
We ask for read-only tokens wherever a system offers them, and only for the projects and repositories you allow.
Organisations kept apart
Every organisation’s members, connections and call log live under row-level security in the database. Each query runs in the context of one organisation, so one customer’s data cannot show up for another, even through a bug in a single query.
Code review and builds
For a central code review, Gunnie.ai fetches only the branches it needs into a temporary checkout on its own server, reviews them read-only and deletes the checkout when it is done. A review never pushes to your repository, and posts on a pull request only where an admin has switched that on for a routine, each time after a person approves it.
Autonomous development can push one thing: a branch of its own, named gunnie/…, and only after you approve it and an admin has allowed pushes on the connection. It never touches master, main or another protected branch, never force-pushes, never merges and never opens a pull request.
Reviews and routines run on Claude through Gunnie’s own account, in the EU, never on a key of yours. Usage is counted per organisation and stays within a monthly budget you set; every routine also has a budget of its own, and a build has a limit per run.
AI models and training
Gunnie.ai does not train AI models, and nothing that passes through it is used to train one. The Claude API, which runs our code reviews, does not train on your data under Anthropic’s commercial terms.
Your AI assistant is your own choice and contract. Gunnie.ai only decides which tools it may use and what those tools can reach.
Hosting and providers
Gunnie.ai runs on a dedicated server in a European data centre, operated by Gunnie in the Netherlands. Its AI runs through EU regions. These providers handle a limited part of the service:
- Hetzner (EU): the server Gunnie.ai runs on.
- Stytch: login, and single sign-on from the beta.
- Anthropic, directly or through Gunnie’s own Microsoft Azure, AWS or Google Cloud account: code reviews and routines.
What we do not have yet
Gunnie.ai is young. It has no SOC 2 or ISO 27001 certification yet. If your security or procurement team needs more than this page, ask us; we answer every question in writing.
Reporting a vulnerability
Found something? Email [email protected] with the details and how to reproduce it. We reply within a few hours and do not take action against research done in good faith. Our contact details are also in security.txt.