---
title: "How Polargate uses AI"
description: "A knowledge base per client, an MCP server with 100+ tools, an agent that proposes fixes as diffs, parallel audits, and a human who reviews every change."
url: https://polargate.ai/ai
locale: en
publisher: POLARGATE S.L.
---
AI at Polargate

# How Polargate uses AI, and where it is not allowed to act

AI is not only what we build for clients. It runs inside our own delivery: a knowledge base per client, an internal MCP server, a maintenance agent that proposes fixes, and audit agents that argue with each other. Here is the machinery, and the limits around it.

In short
Polargate uses AI inside its own delivery, not only in what it builds for clients: a knowledge base per client, an internal MCP server with more than 100 tools, a triage agent that proposes maintenance fixes as reviewable diffs, and parallel audit agents checked by a refuter. A senior engineer reviews and merges every change. No agent deploys, replies to a client or touches secrets.

## AI in the delivery, not only in the deliverable

Most studios sell AI as something they build for you. Polargate does that too, and it also uses AI to run the studio. This page describes the machinery, with the numbers we have, so you can judge it instead of taking a claim on trust.

## A knowledge base per client

Everything starts with context. Polargate keeps a knowledge base per entity in Postgres: text chunks with embeddings and an HNSW index, scoped by client and project, with a wall between client, internal and personal knowledge. Our own tools reach it through an MCP server that exposes more than 100 internal tools: knowledge, tickets, hour balances, invoices, contacts, releases, the fix queue.
The practical effect is that when your ticket arrives, the agent reading it already knows your stack, the decisions taken last quarter and what broke last time. The usual failure is a missing fact, not a weak model. Your data stays in your project: you never see our internal knowledge base, and no other client sees yours. That rule lives in the database, not in a policy document.

## What happens when a ticket arrives

Care runs on a multi-tenant ServiceDesk, in production since 17 July 2026.

- Your email lands on our support domain, with DKIM and DMARC checks and signed reply tokens, so a reply attaches to the right ticket and to nothing else.
- A triage agent classifies it: type of change, repository, risk, hours it should consume. That step costs about 0.05 USD per ticket.
- If it is a candidate for automation, the fix runs as a GitHub Actions job inside your repository, through the Claude Code CLI with a hard cap of 80 turns.
- The job posts a diff back and stops. It waits.
- A senior engineer reviews that diff: approve, ask for a replan, adjust the estimate, draft your reply, or cancel it.
- A person merges and deploys, behind typecheck, tests, build and a look at the real page on desktop and on a 375 pixel phone. The first fix that shipped end to end through this pipeline, in July 2026, cost 0.31 USD in model spend. Model spend per fix is cents. The cost that matters is senior review time, and it does not go to zero.

## Parallel audits, and a sceptic for every finding

On build work we fan out audit agents by dimension: correctness, architecture and reuse, interface, accessibility, responsive behaviour, performance, and security including row-level policies. Every raw finding then goes to a separate agent whose only job is to refute it. That second pass is what makes the output usable.

- Golf club site, two rounds before merge: 37 raw findings and 4 confirmed, then 26 and 3.
- Hotel site, August 2026: 55 agents across 6 areas, 48 findings, 48 confirmed, 0 refuted, 16 of them live bugs.
- Our own operations platform: a 74-agent audit produced 59 confirmed findings.
- An offline-first mobile app took 11 rounds, with findings going 42, 28, 9, 15, 11, 4. We stop after two consecutive clean passes with zero blockers. Verified means build, typecheck and tests green plus the interface opened in a browser, because green gates lie: one project passed its typecheck for months on a tsconfig whose root matched no files.

## Releases

Store builds go out from tag-triggered GitHub Actions runs, and over-the-air updates for mobile apps are published from our own release hub with channels, a rollout percentage and a kill switch. Automation prepares the release. A person decides it goes.

## The guardrails

These limits are database constraints, not instructions in a prompt.

- No agent replies to a client. Every message that leaves is reviewed and sent by a person.
- No agent deploys. None holds production credentials.
- No agent runs destructive migrations or touches authentication, roles or secrets.
- A daily spend cap stops the automated lane when it is reached. Client data is not used to train models. Secrets live in an encrypted, audited vault, never in a repository or a chat window. And we tell you in writing where AI sits in your project, including the parts where it is not allowed to act.

## What it costs

Engagements start with a fixed-price Discovery Sprint from 4,900 euros. Care retainers start at 850 euros per month. What this machinery buys you is senior review on a contained budget, not a junior team with a chatbot.

FAQ

## Questions, answered

Does a human review the code your AI agents write? Yes, every change. The agent posts a diff and stops; a senior engineer approves it, asks for a replan, or cancels it, and a person merges and deploys behind typecheck, tests, build and a look at the real page on desktop and mobile. No agent holds production credentials, so it cannot deploy even if it wanted to. That limit is a database constraint, not a line in a prompt.
Do you use our data or our code to train AI models? No. Client data is not used to train models. Your knowledge base is scoped to your entity and projects, walled off from other clients and from our internal knowledge, and that separation is enforced in the database rather than in a policy document. Secrets and credentials live in an encrypted, audited vault, never in a repository, a spreadsheet or a chat window.
How do I know where AI is used on my project? We tell you in writing, at the start and whenever it changes. That includes which steps an agent touches (triage, a proposed fix, an audit pass), which steps only a person performs (client replies, merges, deploys), and where AI is deliberately kept out. If your project has an AI feature facing your own customers, the same disclosure applies to them.
Does using AI make the work cheaper? It changes what you pay for. Model spend per maintenance fix is cents: triage costs about 0.05 USD per ticket, and the first fix that shipped end to end through our pipeline cost 0.31 USD. Senior review time is the real cost and it does not go to zero. What AI removes is the drafting, which is why a Care retainer from 850 euros a month can still be senior-led rather than staffed with juniors.
What are parallel audit agents, and do they actually find anything? They are agents that review a change at the same time from different angles: correctness, architecture, interface, accessibility, responsive behaviour, performance, security. Raw output has a high false positive rate, so a second agent tries to refute every finding. Real runs: a golf club site gave 37 raw findings and 4 confirmed; a hotel site in August 2026 gave 48 findings, all 48 confirmed, 16 of them live bugs.
What happens if the agent proposes a wrong fix? Nothing reaches you. The diff sits in our console until a person approves it, so a wrong proposal is rejected or sent back for a replan, and it costs review time rather than an incident. When a fix comes back wrong it is almost always a missing fact in the knowledge base, so we add the fact and the next ticket on that codebase starts better informed.

INITIATE

## Start the engine

Tell us what you are building in a few short questions. A senior engineer answers in writing within 48 business hours, with a first take on scope, timeline and price.
[Start your project](https://polargate.ai/start) · [Talk to us](https://polargate.ai/start#static-brief-heading)
