Notes

The agents ran all week. What does the manager open on Monday?

For managers and IT operations leads who will answer for agents in production, and for auditors who will ask them what they were looking at.

GembaOS is a zero-trust governance runtime for enterprise AI agents: policy-decided access, single-use clearance tokens bound to exact parameters, and accountable human approvals, running on-premises or in a private VPC.

Most of what has been written about governing agents is about the moment of the act: may this agent make this change, and who signs. That is the right place to start, and it is what the four gates are for. It is not where a manager lives. A manager arrives after the agents have run for a week and asks a different set of questions: what do we have, who answers for it, what is waiting on me, what changed, what is wired to what, and how old is that password. This note walks the six pages GembaOS gives for those questions, with the pictures from one run of the local demo.

Two rules hold on every one of them. Each page is derived: from the playbooks, the tenant’s rules, the capability packs and the records the runtime keeps anyway. There is no second list to maintain and nothing to type in. And no number is rounded up: a count the page cannot support is shown as what it is, and each one opens the records behind it.

An employee hands work over and gets a receipt

The employee page starts with one box: write what you need done. An assistant proposes which of the businesses this employee may start it is, and GembaOS checks the proposal against what they may start and what they actually wrote; if it cannot tell, it shows the candidates and asks, it does not guess. Nothing starts until the employee hands it over. What comes back is a receipt: which business took it, the ticket, who is handling it, what happens next. The same request handed over twice returns the same receipt.

The receipt on the employee page: business Knowledge operations, ticket TKT-2026-00001, handler Ian Scott, next step Done, and the request as received - a customer asks whether the return window for refunds changed this quarter
The receipt on the employee page: business Knowledge operations, ticket TKT-2026-00001, handler Ian Scott, next step Done, and the request as received - a customer asks whether the return window for refunds changed this quarter

Here the support specialist asked for a policy lookup, and by the time the picture was taken the lookup had already run and reported: the receipt says Done. A request that needs a person would say who is waiting.

The overview

The overview is what a manager reads first: coverage and responsibility from the agent registry, exceptions waiting (open gaps and flagged runs), approvals waiting on a person, what ran without a signature and whether anyone sampled it, and which rule changes wait for a review. The window is seven, thirty or ninety days.

The governance overview for thirty days: eighteen assets, twelve enforced, six registered, three without an owner, five flagged, with the five rows that are only registered listed under the tiles; one open gap on a knowledge document; no flagged run open; approvals waiting on a person below
The governance overview for thirty days: eighteen assets, twelve enforced, six registered, three without an owner, five flagged, with the five rows that are only registered listed under the tiles; one open gap on a knowledge document; no flagged run open; approvals waiting on a person below

The three without an owner and the five flagged are real: two partner agents with no token set and three workers with no link material. The tile says so and lists them; it does not fold them into a green number.

The agent registry

One row per agent the company answers for: the playbook pipelines GembaOS runs, partner agents that call through the gateway, workers the company runs on its own hosts, and anything the company registered by hand. Each row names an owner and where that name comes from, and a coverage level that is derived and never rounded up: registered (written down, nothing more), observed (calls are seen, nothing is blocked), partly governed (calls are answered, the loop cannot close) or enforced (the declared operations run only through the gateway, under clearance). An operator can name an owner on a row; that is the one thing a person adds here, and it goes on the record.

The agent registry: eighteen assets, three without an owner, five flagged; the first rows are the in-house pipelines Claims intake, Company secretary changes, External API change review and Customer refund, each with its owner and the source of that name, its version hash and the note that GembaOS runs it
The agent registry: eighteen assets, three without an owner, five flagged; the first rows are the in-house pipelines Claims intake, Company secretary changes, External API change review and Customer refund, each with its owner and the source of that name, its version hash and the note that GembaOS runs it

A rule release, checked before it is published

A change to a playbook or to a role’s instructions travels as one release. The picture is a draft that raises the limit of the band the rule signs on its own. The check has run: the version must move; the difference is read off the declarations and written in plain words (looser: the band that signs itself now covers more); and the decisions this playbook recorded are judged again under the new rule, from the recorded facts, with nothing re-sent, refunded or mailed. Here four earlier decisions would all land where they did. The next step is a second person’s approval; the author cannot approve their own release.

The rule release REL-0001, Raise the automatic refund limit, checked and waiting for a second approval: Customer refund v1 to v2; what changes: looser, the auto band's threshold raised; recorded decisions judged again: four decisions since June, none would change; the file and its hash
The rule release REL-0001, Raise the automatic refund limit, checked and waiting for a second approval: Customer refund v1 to v2; what changes: looser, the auto band's threshold raised; recorded decisions judged again: four decisions since June, none would change; the file and its hash

When a release is published, running work continues on the rule it started under, requests still waiting on a changed route go back to be decided again, signed requests stand, and a rollback is a new release with a mandatory reason that undoes no effect already produced.

The risk register

Every playbook, read off its own configuration: the data it touches, what it may do (read, write, execute, or an execute that cannot be undone), who can start it and whether its data leaves to a SaaS model or an outside system, and how much a person reviews. The tier follows by a fixed table and names the controls it expects, and the row says which are met. Nobody types a score in and no model proposes one; a release that moves a dimension marks the row as changed since somebody last looked.

The risk register: Claims intake, Company secretary changes and Customer refund at tier 4 by impact and public entrance; each row shows its data level and domains, its actions and whether they can be undone, its entrances and the models its roles leave to, its human review (some bands sign themselves with a 5% sample; every band has a person), and the controls met
The risk register: Claims intake, Company secretary changes and Customer refund at tier 4 by impact and public entrance; each row shows its data level and domains, its actions and whether they can be undone, its entrances and the models its roles leave to, its human review (some bands sign themselves with a 5% sample; every band has a person), and the controls met

Below the register, the red team is a register too. Each case names the route it attacks (injection, overreach, skipping the approval, facts that moved after the stamp, a tool contract change, acting after a handover, a standby model leaving the tenant), the playbook and the person who answers for it, how to reproduce it and, once run, the events on which the host refused it. A breach takes a fix under a name; the next defended run retests it. A pass rate is not a result.

The red team card: last run RT-20260926 in stub mode; the seven routes with their counts; the case rows R1 to R9 with route, the person who answers for it, status, last run and a Run button, and a reproduction line each
The red team card: last run RT-20260926 in stub mode; the seven routes with their counts; the case rows R1 to R9 with route, the person who answers for it, status, last run and a Run button, and a reproduction line each

The connections

Every outside system the tenant is wired to, read off the packs, workers, model providers and services the runtime booted with. Each row shows what the link is made of, as variable names with set or not set, never a value; whether a stand-in fixture answers instead of the real system; what GembaOS may do through it and under whose stamp; how it has been doing, from the calls on the record; and how old each secret is. Below it, the identity revocations: every leaver and what was revoked the moment they were offboarded.

The connection register: thirty-seven connections, seven configured, thirteen on a stand-in fixture, eight off, one working, eight unconfigured; rotation policy 180 days with none overdue; the first rows are the amzn, applog, change and claims packs, each with its health and source, its variables set, the playbook that uses it and its owner, and a stand-in flag where the fixture answers
The connection register: thirty-seven connections, seven configured, thirteen on a stand-in fixture, eight off, one working, eight unconfigured; rotation policy 180 days with none overdue; the first rows are the amzn, applog, change and claims packs, each with its health and source, its variables set, the playbook that uses it and its owner, and a stand-in flag where the fixture answers

What this does not do


For architects

Questions this note answers

Who fills these pages in?

Nobody. Each page reads the playbooks, the tenant's rules, the packs and the records the runtime already keeps. A person adds two kinds of thing: a name (an owner claimed on the registry, a reviewer on the risk register) and a decision (approving a release). Both go on the record under that person's name.

Can a manager change a rule from here?

Through a release, yes: a draft of the playbook files, a check that lists what gets looser or stricter and judges the recorded decisions again under the new rule, a second person's approval, then publish. Running work continues; pending requests on a changed route go back to be re-decided; a rollback is a new release with a reason and undoes no effect that already happened.

Where do the secrets show?

They do not. The connection register shows each variable by name and whether it is set. For a secret it keeps a fingerprint per data directory and the day the fingerprint changed, so a rotation is a fact on the record without the value ever being stored or shown.

Is a mock marked as a mock?

Yes. A pack whose endpoint is unset and whose built-in fixture answers is shown as a stand-in, with the fixture named. Production traffic cannot be on a stand-in, and the register does not let the row look like a working link.

As of September 2026 GembaOS holds no certification; the control mappings on this site are self-assessed, not audited. GembaOS is in its design partner stage. Read about the design partner program.

Last updated: · GembaOS v0.2