MunitasFeature tourAll walkthroughs

All walkthroughs / Health organisation

Health organisation · AI agents

Approve an AI agent before it can work with patient records

Before an AI agent works with patient records, the organisation decides how carefully it is held. The AI risk owner has written risk levels. A data engineer registers an agent for the Cardiology department and proposes a level, and the AI risk owner confirms the level together with the agent's first version, after the department's own approver has agreed. Somebody is named to answer for the agent, and it is listed in the registry. A later version that lets the agent do more needs both people again, and nothing is deployed until they have said yes.

19Steps
3People
about 15Minutes to read
Who is involved
Devi
Data engineer in the Health organisation
Okafor
AI risk owner in the Health organisation
Hartley
Data custodian for the Cardiology department

How to read this page

Words used on this page

Organisation
A company or hospital group that uses Munitas. Each organisation sees only its own data.
Department
A team inside an organisation that owns some of its data, such as Cardiology.
Custodian
A person who holds the data custodian role, which allows deciding who may read data. A custodian decides for the departments they are an approver for.
Agent
A program registered on Munitas, with a named owner, that Munitas runs on somebody’s behalf instead of a person reading data directly.
Version of an agent
One uploaded and sealed copy of an agent’s code. Uploading again makes a new version, and the older ones stay.
Sealed
Finished and closed for good, so that it can never be edited.
Deploy
To make one version of an agent the one that runs when somebody starts a run. Only one version of an agent is active at a time.
Run
One execution of an agent or a pipeline, started for a stated purpose.
AI risk owner
The one person who answers for how the organisation holds its AI agents. The role writes the risk levels and the approved tools list, confirms the level of each agent, and gives the second approval on a change to an agent where its level asks for one.
Risk level
One of the levels an organisation writes for how carefully it holds its agents, from the least strict to the most strict. A level says whether a change that lets an agent do more needs a second approver, how often the agent must be confirmed as still needed, and whether an agent at that level may be deployed at all. The person who registers an agent proposes a level, and the AI risk owner confirms it.
Widening
A change that lets an agent do more than the version before it: a new tool, a new external host, more data, or a different model. A widening has to be approved before the version can be deployed.
Approved tools list
A list, written by the AI risk owner, of tools the organisation has approved in advance. Each entry names one tool, says what it does, how far it is approved, the highest risk level it is approved for, the conditions, a reason and the date it must be looked at again. A new version of an agent that adds only listed tools does not wait for the people who would otherwise decide it.
Sponsor
The person who answers for an agent. The sponsor is an approver of the department that owns it, and has to confirm from time to time that the agent is still needed and held at the right level.
Agent registry
A list of every agent in the organisation, open to everybody signed in. It shows the department that owns each agent, its risk level, its sponsor and what needs attention.
Dataset
A named collection of records, such as a table of patient admissions.
Version
One sealed state of a dataset. Changing the contents means making a new version, never editing an old one.
Filter
Keeping only the rows of a table that match values the custodian names, such as one patient’s id, so that other people’s rows do not leave with them.
PART ONE

The organisation decides how carefully each agent is held

An AI agent is a program that works on data on somebody's behalf, with a named owner, under the same rules as a person. Before an agent does any work, the organisation decides how much care it needs. The organisation writes a short list of risk levels, from the least strict to the most strict. A level says whether a change to an agent needs a second approver, and how often somebody has to confirm that the agent is still needed.

1
Okafor
Okafor, the AI risk owner, reads the risk levels that the Health organisation has already written
Munitas console · Risk levels · /risk-levels

Okafor is the AI risk owner of the Health organisation, the one person who answers for how the organisation holds its AI agents. The levels were written earlier, and every person signed in can read them. Where it says a second approver, it means that a change which makes an agent able to do more needs the AI risk owner as well as the department that owns the agent. The top of the list, High, is the level for an agent whose output can change what happens to a person.

Screenshot: Okafor, the AI risk owner, reads the risk levels that the Health organisation has already written
The heading is Risk levels. Under The levels in force the page says Version 3 by Okafor on a date and time, followed by a reason. The table has four rows: Low, Moderate, High and Not allowed. The row for High has Yes under Second approver and 90 days under Re-confirm every. Below the table the page says Agents are held to these levels: an agent needs a confirmed level to start a run, and a version that widens an agent is approved before it is deployed.
2
Devi
Devi registers a new agent for the Cardiology department and proposes a level for it
Munitas console · Register an agent · /agents/register

Devi is a data engineer in the Health organisation. The new agent plans follow-up appointments from a consultation note, for scheduling staff to confirm. The Cardiology department owns it. The person who registers an agent proposes its level, and says who is affected by what the agent produces and why the level fits. Devi cannot confirm the level, because that belongs to the AI risk owner.

Screenshot: Devi registers a new agent for the Cardiology department and proposes a level for it
Name holds followup-appointment-planner and Owned by holds Cardiology. Under Risk level you propose the chosen level is Moderate. Who is affected by what the agent produces reads Patients whose consultations ask for a follow-up appointment. Why this level reads Scheduling staff confirm every appointment, and the agent cannot book or send anything itself.
3
Devi
The agent exists, and its level waits for the AI risk owner
Munitas console · An agent · /agents/<id>, the Risk level section

Munitas has registered the agent, with no version yet. The page says what it means that no level is confirmed: every approval for this agent treats it as High, the strictest level that still allows it to be put to work, and because the organisation holds its agents to its levels, the agent cannot start a run yet. Devi's proposal is kept with who made it and when.

Screenshot: The agent exists, and its level waits for the AI risk owner
Under Risk level the page says “No level has been confirmed.” and then Proposed: Moderate, by Devi on a date and time, followed by It waits for the AI risk owner. At the foot of the section: Only the AI risk owner may confirm the risk level of an agent.
4
Devi
Devi uploads the agent's first version and lists the one tool it may call
Munitas console · An agent · /agents/<id>, the upload form

A version of an agent is one uploaded copy of its code. Munitas seals it, which means finished and closed for good, so it can never be edited. A tool is something the agent may do. This version may only read the details of a dataset version, so Devi lists that one tool. The model is none, because this code calls no model.

Screenshot: Devi uploads the agent's first version and lists the one tool it may call
Project (.zip) holds triage-agent.zip and Model holds none. Tools it may call holds read_dataset_version. The sentence under the box says Comma-separated.
5
Devi
The version is sealed, and Deploy is switched off until it is approved
Munitas console · An agent · /agents/<id>, the list of versions

To deploy a version is to make it the one that runs when somebody starts a run. This version is the first one, so it is compared with nothing and counts as a widening: it gives the agent a tool it did not have. Even though the tool is on the organisation's list of tools approved in advance, a first version is never covered by that list, because the agent's level is decided together with it. The page says in words what the version waits for, so that nobody has to guess why the button is grey. It needs an approver of the Cardiology department and the AI risk owner.

Screenshot: The version is sealed, and Deploy is switched off until it is approved
The row for v1 shows Tools: read_dataset_version. The Deploy button is greyed out, and under it the page says This version widens what the agent can do. It waits for an approver of the department that owns the agent and the AI risk owner.
PART TWO

Two different people decide the first version and its level

The department that owns an agent answers for what the agent does, so an approver of that department decides first. The AI risk owner decides second. The person who uploaded a version is never one of the people who decide it.

6
Hartley
Hartley, an approver for Cardiology, sees what the version adds and gives the department's part
Munitas console · Agent changes · /agent-changes

Hartley is a data custodian for the Cardiology department, a person who may decide who reads its data and approve changes to agents it owns. The page lists every version waiting for a decision, and says what each one changes compared with the version before it. Hartley writes a reason, because every decision is kept with its reason, who made it and when. Hartley can give the department's part only: the page says that the officer's part belongs to the AI risk owner.

Screenshot: Hartley, an approver for Cardiology, sees what the version adds and gives the department's part
The card is headed followup-appointment-planner, followed by version 1, and carries the label Waiting for approval. The yellow tag Widens is followed by “Reads more.” and Adds the tool read_dataset_version, which reads the details of a dataset version. The box is headed Your reason, for the approval of the department that owns the agent and holds Cardiology owns this agent. It reads one dataset and cannot book or send anything, which is what the department asked for. Below the card the page says Only the AI risk owner may give the officer's approval.
7
Hartley
Hartley's approval is recorded, and the version still waits for the AI risk owner
Munitas console · Agent changes · /agent-changes

One approval is not enough. The card now records who approved for the department and when, with the reason Hartley wrote, and it names who the version waits for next. Hartley has no box for the officer's part, because Hartley does not hold that role.

Screenshot: Hartley's approval is recorded, and the version still waits for the AI risk owner
The card says “Waiting for the AI risk owner.” and then Approved for the department that owns the agent by Hartley on a date and time, followed by the reason. The line “Only the AI risk owner may give the officer's approval.” remains, and there is no box under it. The notice “Approved.” appears at the foot of the screen.
8
Okafor
Okafor decides the agent's level and its first version in one step
Munitas console · Agent changes · /agent-changes

Because this is the agent's first version, its level is decided with it, so that no version ever exists without a level. Okafor sees what Devi proposed, and chooses a different level, High, because the agent works with named appointment requests and a later version is expected to message people, even though scheduling staff confirm every booking. One reason covers both the level and the version. Okafor did not upload the version and so is allowed to decide it. The box shows the last lines of what was typed, and the whole reason is recorded and shown in later pictures.

Screenshot: Okafor decides the agent's level and its first version in one step
This is the agent's first version. Its risk level is decided with it, in one decision. The page then shows Level proposed: Moderate, by Devi, and what Devi wrote under Affected: and Reason:. Level to confirm holds High. The button reads Confirm the level and approve this version.
PART THREE

The agent is listed at its level, and somebody answers for it

The registry lists every agent of the organisation in one place, for anybody signed in. A sponsor is the person who answers for an agent. The sponsor has to be an approver of the department that owns it.

9
Okafor
Okafor finds the agent in the Agent registry, at its confirmed level
Munitas console · Agent registry · /agent-registry

Okafor has no need of the Agents menu item, which is for the people who build and run agents. The Agent registry is for everybody who oversees them, and each agent in it is a link to its own page. The registry shows the department that owns the agent, who registered it, its risk level, and what needs attention. It flags that this agent has no sponsor yet.

Screenshot: Okafor finds the agent in the Agent registry, at its confirmed level
Showing 1 of 8 is the count after Okafor typed the agent's name in Search. The row shows Cardiology, Registered by Devi and Sponsor: none. Under Risk level it reads High, then Example label: EU AI Act high-risk use. The orange tag under Needs attention reads No sponsor, and Active version reads None deployed.
10
Okafor
The agent's own page shows the confirmed level, who confirmed it and why
Munitas console · An agent · /agents/<id>, the Risk level section

Okafor follows the link from the registry. The level that was proposed as Moderate is now confirmed as High, with Okafor's name, the date and time, and the reason. The earlier proposal is kept: the page offers the full history of proposals and decisions. Under it, the same page offers the sponsor to be chosen from the approvers of Cardiology, and says how often the agent must be re-confirmed: re-confirming means somebody checks that the agent is still needed and still held at the right level.

Screenshot: The agent's own page shows the confirmed level, who confirmed it and why
High, Example label: EU AI Act high-risk use, then confirmed by Okafor on a date and time. Below it are Purpose:, Affected: and Reason:, and the link Show all 2 proposals and decisions. Under Sponsor and re-confirmation the page says “This agent has no sponsor yet.” and Its level asks for re-confirmation every 90 days.
11
Okafor
Okafor names Hartley as the sponsor, and the page records who and when
Munitas console · An agent · /agents/<id>, the Sponsor and re-confirmation section

Okafor chooses Hartley, an approver of Cardiology, and writes why. The sponsor is a person who can be asked about the agent, and who has to re-confirm it every 90 days. The assignment is a new record and the earlier state stays in the history.

Screenshot: Okafor names Hartley as the sponsor, and the page records who and when
The page now says Sponsor: Hartley, assigned by Okafor on a date and time, and the notice “Sponsor assigned.” appears at the foot of the screen. Show the history is now offered under the form.
12
Devi
Devi deploys the first version, and the agent can start a run
Munitas console · An agent · /agents/<id>, the list of versions

With the level confirmed and the first version approved, the Deploy button works. Devi presses it, and version 1 becomes the version that runs when somebody starts a run. Only one version of an agent is active at a time. The Runs section now offers a box for a purpose and a dataset, because a run has to say what it is for.

Screenshot: Devi deploys the first version, and the agent can start a run
The row for v1 now carries the green label active, and the notice “v1 deployed.” appears at the foot of the screen. Under Runs the page says “No runs.” and Nobody has started one yet.
PART FOUR

A later version adds a tool that is not on the approved list

A version that lets an agent do more than before is a widening. Munitas compares every new version with the one before it and puts the widest change first. A tool whose name the platform does not know is treated as one that may act outside the platform, and a tool that is not on the organisation's list of tools approved in advance is decided by people, one version at a time.

13
Devi
Devi uploads a second version that adds a tool called send_confirmation
Munitas console · An agent · /agents/<id>, the upload form

The clinic wants the agent to be able to send a confirmation to the person who asked for the appointment, so Devi lists a second tool next to the first. Nothing in the platform says what a tool called send_confirmation does, and it is not on the approved list. Because the agent is held at High, this version cannot simply be deployed.

Screenshot: Devi uploads a second version that adds a tool called send_confirmation
Tools it may call holds read_dataset_version, send_confirmation, and Model holds none.
14
Devi
Version 2 is sealed, and it waits for two people while version 1 stays active
Munitas console · An agent · /agents/<id>, the list of versions

Sealed means finished and closed for good, so the version can never be edited. The new version is listed above the old one. Version 1 is still the one that runs, so nothing changes for anybody until the new version is approved and deployed. The reason it waits is on the page, in the same words as for the first version.

Screenshot: Version 2 is sealed, and it waits for two people while version 1 stays active
v2 lists Tools: read_dataset_version, send_confirmation, and its Deploy button is greyed out with “This version widens what the agent can do. It waits for an approver of the department that owns the agent and the AI risk owner.” under it. v1 keeps the green label active.
15
Hartley
Hartley reads what the version adds, in plain words, before deciding
Munitas console · Agent changes · /agent-changes

The card says exactly which change makes the version a widening, and why the platform cannot judge it for itself. Hartley writes the department's reason, which says that the clinic's own system, not the agent, is to send confirmations, and approves.

Screenshot: Hartley reads what the version adds, in plain words, before deciding
The card for version 2 says “Acts outside the platform, or may.” and Adds the tool send_confirmation. The platform does not know what it does, so it is treated as one that may act outside the platform. The box holds Cardiology wants confirmations sent by the clinic's own system, never by the agent. This version has to be checked before it goes live.
16
Okafor
Okafor reads the department's approval and gives the officer's part
Munitas console · Agent changes · /agent-changes

Okafor sees the department's approval first, with its reason, and then writes the officer's reason. Okafor approves it for a trial on made-up requests only, and says so. Approval does not deploy the version: it only allows Devi to.

Screenshot: Okafor reads the department's approval and gives the officer's part
“Waiting for the AI risk owner.” is followed by Approved for the department that owns the agent by Hartley. The box is headed Your reason, for the approval of the AI risk owner and holds the reason Okafor wrote: The platform cannot see what send_confirmation does, so it is treated as an action outside the platform. Approved for a trial on made-up requests only.
17
Okafor
Both approvals are recorded, each with who made it, when and why
Munitas console · Agent changes · /agent-changes

The Approved filter lists the version with both decisions under it. Each decision names the person, the date and time, and the reason in that person's own words. Version 1 of the same agent, below it, shows the same two decisions from the first half of this page.

Screenshot: Both approvals are recorded, each with who made it, when and why
The card for version 2 carries the green label Approved, and below it two lines: Approved for the department that owns the agent by Hartley and Approved for the AI risk owner by Okafor.
18
Devi
Devi's Deploy button for version 2 now works, and version 1 is still the active one
Munitas console · An agent · /agents/<id>, the list of versions

The explanation that was under the button has gone, and the button is blue. Nothing has been deployed yet, which means that version 2 has not been made the running version: the decision to put it to work is Devi's, made when the clinic is ready, and until then the agent keeps running as version 1.

Screenshot: Devi's Deploy button for version 2 now works, and version 1 is still the active one
v2 has a blue Deploy button and no explanation under it. v1 still carries the green label active.
19
Okafor
The registry now shows the sponsor, and what still needs attention
Munitas console · Agent registry · /agent-registry

The earlier flag, No sponsor, is gone. The registry now shows the active version and the tool it may call, and raises a different flag: a newer version, version 2, has been approved and not deployed. A flag is a prompt for a person to look, not a fault.

Screenshot: The registry now shows the sponsor, and what still needs attention
The row for followup-appointment-planner shows Sponsor: Hartley and Version 1 under Active version. The tag under Needs attention reads A newer version has not been deployed.