A decision chain you can control.
Models classify and draft; budgets and the actions you want to approve stay under your control.
From data to measurement.
A closed loop, measured end to end. A reversible, sorted queue, and guardrails that stop an agentic loop from running forever and burning tokens and budget.
01 · Data
Observe
Search Console, GA4, Google Ads and AI answers.
02 · Opportunity
Detect
A costed gap between what is happening and what should be happening.
03 · Impact
Value
The estimated business value, computed by code, never by a model.
04 · Policy
Sort
Deterministic rules: apply, wait for your approval, or reject the proposed action.
05 · Action
Execute
Once approved, the action is written to the log, then applied to your platform by a single service. You can undo it at any time.
06 · Measurement
Measure
Before acting, we set how the result will be judged; afterwards, what is observed is never mixed up with what is estimated.
Every action is sorted before it runs.
Every action is classified by its level of risk and its assessed business impact.
Actions proposed by the agents
- Exclude 3 off-target queries
- Raise a max CPC by 18 %
- Double the Brand campaign budget
- SEO brief for /pricing
- Move €200/day to Meta
Classifier
Applied automatically
Under your thresholds, reversible
- Exclude 3 off-target queries
- SEO brief for /pricing
Waits for your approval
Commits budget
- Raise a max CPC by 18 %
- Move €200/day to Meta
Rejected, with a reason
Over a cap or out of scope
- Double the Brand campaign budget
Specialised agents, orchestrated by Temporal.
Every task is a durable workflow: it survives outages, resumes where it stopped and never runs a write twice.
01 · Trigger
- By default: every day at 00:00
- On demand (depending on plan)
02 · Orchestrate
Temporalone queue per agent- Account syncconnector-syncdone
- SEA agentseadone
- SEO agentseodone
- GEO agentgeomodel unavailabledone
resumes where it stopped after an outage
03 · Check
Policy engine
Daily cap
Agent's scope
Commits budget: approval required
04 · Wait
Decision to make
As the latest analyses come in, the task list is updated accordingly.
05 · Apply
- Logged first, value before and after
- Run once, never replayed
- Reversible
Guardrails written into the code
Handing an advertising budget to an autonomous system calls for concrete guarantees. Here they are, checked on every write.
Daily cap
You set a maximum amount per account and per day. It is checked before writing, never discovered afterwards.
Complete audit log
Every mutation is logged before it is applied, with its value before and after, and the agent that proposed it.
Rollback
Every applied change can be replayed in reverse. Rollback is a button, not a procedure.
GDPR and AI Act
Processing register, documented legal basis, agent decisions traceable and explainable one by one.
European hosting
Data and processing in the European Union. Sub-processors are listed publicly, with their location.
Writes reserved for a controlled service
Agents never obtain an access token to your platforms. They formulate proposals; a controlled service applies them.
Control is a property of the system.
Rules written in the code, checked by tests and by continuous integration.
RLS ENABLE · FORCEPer-customer isolation
Every business table carries the customer identifier and a row-level security policy enforced by PostgreSQL.
Secret ManagerWell-kept secrets
Platform credentials live in a separate vault; the database keeps a simple reference.
Model GatewayA single entry point to models
Token budget, concurrency and traces per customer, checked before every call.
untrusted inputExternal content kept apart
Ads, web pages and messages stay data: they become neither instructions nor permissions.
kill_switchKill switch
A global or per-agent stop, including for a run already in progress.
PostgreSQL · ClickHouse · OTel · LangfuseSeparate data planes
Transactions, analytics, observability and model evaluation each have their own store.