Agentic OS for your enterprise.

Bring agents, tools and team knowledge together to get work done. Coordinate workflows, provide relevant context and appropriate access, and keep people in control of consequential decisions.

Why OrmisOne

What every agent needs, provided by one operating system.

Relevant context

Fewer hallucinations, better outcomes.

Appropriate access

Agents you can trust in production.

Coordinated work

Less turnaround, fewer tokens, no repeated work.

Operational visibility

You see what runs, what it reaches and what it spends.

Accountable decisions

A named person at consequential steps, on a tamper-evident trail.

Platform

A true agentic OS.

One connected model for org, teams and agents.

OrmisOne the agentic OS Teams Context Runtime Workflows GOVERNANCE on tool and model requests guardrails approvals trail cost AGENTS Claude OpenAI Kimi Gemini LangChain CrewAI n8n on workstations in production YOUR SYSTEMS Your tools connected MCP servers Your models on your own keys GitHub GitLab Jira Slack Anthropic OpenAI Gemini Ollama

A workflow in action

One ticket, start to finish.

One fictional task, BE-1182, “login timeout”, through nine steps, each with its own context, guardrails, instruction and model, to the fix, two named approvals and the recorded cost.

  1. Ticket09:40
  2. triage10:18
  3. architect11:06
  4. ApprovalSam · 11:14
  5. build12:31
  6. qa13:26
  7. ApprovalSam · 13:58
  8. devops14:09
  9. Summary$1.34 · 14:20

Model spend · $1.34 across six agents · 09:40 → 14:20 · four of the nine nodes ran no model at all.

Step 1 of 9

What to notice

Task BE-1182
node 1 of 9 · trigger · 09:40person · Alice

Login timeout on identity-api in prod/eu-west

ContextAlice's description and repro steps · 2 log excerpts from eu-west · the Backend team's Jira project GuardrailsDENY · no production credentials on the trigger Accessthe Backend team's own project only Promptno agent has run yet Modelno model ran at this node · $0.00 recorded Recordthe run opens its own trail entry
Filed 09:40 by Alice · P2 · sign-in hangs for 30 s, then fails · eu-west only · trail entry 2041 · 7c1d…04ab opened, tamper-evident from here.

What the trigger carries

3 sources · nothing has run
SourceWhat the workflow receivesFrom
TicketAlice's description, repro steps, severity P2this ticket
Attachments2 log excerpts · eu-west, 14:10–17:40 yesterdaythis ticket
ProjectBackend · the team the workflow belongs toset on Backend
Run 7741 · triage-agent
node 2 of 9 · triage-agent · 09:41 → 10:18agent · small model

Reproduce, narrow, ask

ContextBE-1182 and its 2 log excerpts · identity-api service docs and runbook · eu-west sign-in latency, last 24 h · earlier timeout tickets BE-947 and BE-1031 GuardrailsDENY · may not restart or reconfigure anything DENY · may not reassign or re-prioritise the ticket Accessread production telemetry PromptReproduce, narrow, and ask the reporter exactly one question when the report is ambiguous.also: ask rather than guess. Modelsmall model · 11 calls · $0.04 recorded Recordthe question and the answer stay on the ticket

Comment added to BE-1182

Jira · 09:58
BE-1182 · comment by triage-agentadded to the ticket
Narrowed toeu-west only · the token endpoint · first seen after 2.14.1 · every sign-in holds one of the pool's 20 connections for the full 30 s upstream read Question for Alice“Does it fail for new sign-ins only, or also when an existing session refreshes?” Alice replied10:12 · “New sign-ins only, refresh is fine.” · attached to the ticket, question closed
The ticket is better than it was filed: a narrowed symptom and one answered question. 37 minutes, $0.04, and no code has been written.
Run 7741 · architect-agent
node 3 of 9 · architect-agent · 10:22 → 11:06agent · larger model

One plan for BE-1182

Contexttriage-agent's comment and Alice's reply · identity-api service docs and dependency map · the two earlier timeout fixes · change policy for prod/eu-west GuardrailsDENY · may not write, push or merge code Accessread source, docs and telemetry PromptWrite one plan: smallest change that removes the cause, with a named rollback.also: a rollback for each part, and name the blast radius. Modellarger model · 6 calls · $0.46 recorded · a different tier from triage, on the same task Recordthe plan is attached to the ticket

Plan · three parts, a rollback each

needs a named approval
PartWhat it saysRollback
Causea pool of 20 connections is exhausted: each sign-in holds one for the full 30 s upstream readidentity-api · prod/eu-west
Backendupstream read 30 s → 3 s, and fail fast with 503 after 250 ms waiting for a connection, one configuration value on identity-apirestore the previous value · config reload · no deploy
Frontendthe sign-in page shows the failure instead of spinning, one pull request on webrevert the pull request · one deploy
Alertalert when sign-in p95 passes 2 s in any region, owned by devops-agent, completed at the deploy nodedelete the rule

Scope: one config value · one frontend change · one alert rule · no schema change, no data change. Blast radius: identity-api in prod/eu-west, 4 pods. Nothing starts here, a production change is routed to a named approver, so the plan goes to Sam.

Approvals · APR-3104
node 4 of 9 · approval · 11:06 → 11:14Approved · Sam · 11:14

architect-agent asks to proceed with the plan for BE-1182

Contextthe plan, in full · blast radius: identity-api in prod/eu-west, 4 pods · triage's evidence and Alice's reply · how similar plans went before GuardrailsDENY · no agent writes code until this gate clears REQUIRES APPROVAL · the plan for a production change Checksan approved plan exists before node 5 · on fail: no code is written Gateapproval gate · a person decides · no agent and no model ran at this node · $0.00 recorded · required clearance 3 · timeout 24 h, expiry voids the approval and fails the node Routesapprove → node 5, build · reject → back to node 3, the plan Recordthe decision is written to the ticket and the trail

What Sam saw

held 8 minutes
APR-3104 · plan approvalBackend › architect-agent
ApproverSam, Backend lead · clearance 3 · configured for this team WhyFixes the login timeout in BE-1182. Cause confirmed from the logs and from Alice's reply. Touchesone config value · one frontend change · one alert rule · no schema change, no data change · identity-api in prod/eu-west, 4 pods Rollbackconfig value: restore the previous value, config reload, no deploy · frontend: revert the pull request, one deploy · alert: delete the rule If rejectedback to planning (node 3). No implementation change is permitted until a revised plan is approved.
Similar plans from this agent: 12 approved · 2 declined in the last 30 days. Last decline: no rollback named.
Decision: approve · “cause is clear, each part has its own rollback” · recorded as trail entry 2048 and posted to BE-1182.
Run 7741 · build
node 5 of 9 · build · 11:15 → 12:312 agents · in parallel

Two agents implement the approved plan

Contextthe approved plan and its scope · identity-api source and its test suite · the sign-in component and design tokens · the team's coding standards GuardrailsDENY · may not delete or skip tests DENY · no agent merges a pull request Accessonly the files the plan names Checksapproved plan present · on fail: escalate PromptImplement the approved plan only; add tests; ask before widening scope. Modellarger model for backend-agent · small model for frontend-agent · $0.47 recorded for the step

Two pull requests · source control

508 unit tests pass · 412 backend, 96 frontend
AgentPull request · testsModelCost
backend-agentidentity-api #318 · pool wait 250 ms, upstream read 30 s → 3 s, fail fast with 503 · 7 tests added, 412 backend unit tests passlarger model$0.38
frontend-agentsign-in #119 · a clear error and a retry in place of the 30 s spinner · 3 tests added, 96 frontend unit tests passsmall model$0.09

11:15 → 12:31 · 508 unit tests pass in total. Neither pull request is merged by an agent, and the alert rule is not written here, it is part of the plan devops-agent completes at the deploy node.

Run 7741 · qa-agent
node 6 of 9 · qa-agent · 12:35 → 13:26agent · small model

Test the plan's acceptance criteria

Contextboth pull requests and their diffs · the plan's acceptance criteria · eu-west staging, seeded to match production · the last green baseline for identity-api GuardrailsDENY · never runs against production DENY · may not change product code to make a test pass Accesseu-west staging only Checksrequired suite 0 failures · on fail: fail PromptTest the plan's acceptance criteria; report flakes, never fix them. Modelsmall model · 9 calls · $0.22 recorded

Run against eu-west staging

437 pass · 0 fail · 1 flake quarantined
CheckResult
Integration and end-to-end suites437 pass · 0 failpass
Load · 200 concurrent sign-ins, 10 minsign-in success 99.8% · error rate 0.1% · p95 0.90 spass
BE-1182 symptom, before the changesign-in success 71% · 30 s timeoutsreproduced
BE-1182 symptom, after the changesign-in success 99.8% · error rate 0.1% · p95 0.90 sgone
Flake · token refresh test1 run in 40 · quarantined and ticketed as BE-1190quarantined

This is the evidence that BE-1182 is actually resolved: on the same workload and the same artifact, sign-in success goes from 71% with 30 s timeouts to 99.8% at 0.1% errors and p95 0.90 s. The required suite is 437 integration and end-to-end tests at 0 failures, the one flake is quarantined and ticketed (BE-1190), not counted as a pass.

Approvals · APR-3118
node 7 of 9 · approval · 13:32 → 13:58Approved · Sam · 13:58

devops-agent asks to deploy 2.14.3 to prod/eu-west

Contextqa-agent's result: 437 pass, 0 fail, 1 flake quarantined · the rollout: canary 1 pod, hold 2 minutes, then the remaining 3 · blast radius: 4 pods · the change window, 10:00–15:00 GuardrailsDENY · nothing reaches production until this gate clears DENY · deploys outside the change window (GR-07) REQUIRES APPROVAL · production writes (GR-04) · clearance 3 Checksthe candidate digest matches QA's artifact · on fail: deployment blocked Gateapproval gate · a person decides · no agent and no model ran at this node · $0.00 recorded · required clearance 3 · timeout 24 h, expiry voids the approval and fails the node Routesapprove → node 8, deploy · reject → back to node 6, qa Recordthe decision is written to the ticket and the trail

What Sam saw

held 26 minutes
APR-3118 · production deployBackend › devops-agent
ApproverSam, Backend lead · clearance 3 · configured for this team Candidaterelease candidate 2.14.3 (commit 9f3c…a71e) · prod/eu-west · 4 pods · inside the 10:00–15:00 window Evidenceqa-agent green at 13:26 · the symptom reproduces before the change (71% success, 30 s timeouts) and not after it (99.8% success, 0.1% errors, p95 0.90 s) · 1 flake quarantined and ticketed (BE-1190), not fixed Rolloutcanary 1 pod and hold 2 minutes, then the remaining 3, 4 pods in all · one config value · one frontend change · one alert rule · no schema change, no data change Rollbackrestore the previous value · under 5 minutes · automatic if success rate, errors or p95 regress If rejected or expirednothing reaches production. Rejection goes back to node 6, qa; expiry voids the approval and fails the node.
Production deploys for this team: 31 approved · 3 declined in the last 30 days. Last decline: asked for outside the change window.
Decision: approve · Sam approves release candidate 2.14.3 (commit 9f3c…a71e) with QA's evidence, for prod/eu-west, 4 pods, inside the 10:00–15:00 window · recorded as trail entry 2059 and posted to BE-1182.
The approval is bound to that candidate and that window. If the window has closed when the decision lands, the deploy is denied by GR-07 regardless of the approval, a matching deny outranks an approval escalation.
Run 7741 · devops-agent
node 8 of 9 · devops-agent · 13:58 → 14:09agent · small model

Ship 2.14.3 to prod/eu-west

Contextthe approval and both pull requests · the eu-west deploy target and its runbook · the canary's own metrics, pod by pod · the change window, 10:00–15:00 GuardrailsDENY · reaches production only after the gate clears DENY · deploys outside the 10:00–15:00 change window (GR-07) Accessthe eu-west deploy target, 4 pods Checksthe canary holds 2 minutes healthy before the remaining 3 · on fail: fail PromptCanary one pod first, roll the rest, roll back on any regression. Modelsmall model · 7 calls · $0.15 recorded

Deploy · run #7741

approved 13:58 · healthy 14:09
doneBuild 2.14.313:59 · 1m 40ssmall model
doneCanary 1 pod14:01 · held 2 minsmall model
doneRoll remaining 314:04 · 4 pods healthysmall model
doneAlert rule14:07 · p95 > 2 ssmall model
doneVerify14:09 · success 99.8%small model

Verified on the same workload and the same artifact as QA: sign-in success 99.8% · error rate 0.1% · p95 0.90 s, against 71% success with 30 s timeouts before the change. The third part of the plan lands here too: the p95 alert rule, whose rollback is to delete the rule.

The run resumed at the deploy node, not from the start: everything before it stays recorded and nothing was re-run. Recorded as trail entries 2060–2063.

Run 7741 · summary
node 9 of 9 · summary · 14:11 → 14:20BE-1182 resolved

What the task cost, node by node

Contextthe recorded trail for run #7741 · model cost per node · both pull requests and QA's result · the deploy and verify result GuardrailsDENY · the summary may not edit the record Accessthe recorded trail for this run Promptthe summary quotes the record; it cannot edit it · also: quote a figure only where it is recorded. Modelno model ran at this node · $0.00 recorded Recordmodel spend recorded per node the reporter is notified on their own ticket

Model spend · BE-1182

Model spend · $1.34
BE-1182 · total$1.34
architect-agent$0.46
backend-agent$0.38
qa-agent$0.22
devops-agent$0.15
frontend-agent$0.09
triage-agent$0.04

Four of the nine nodes ran no model at all, the ticket, Sam's two approvals and this summary, so they are listed as no model ran rather than as a zero. Every figure above is model spend recorded for this task, not a share of a monthly invoice.

BE-1182 · Jiraclosed by Alice · 14:20

Summary posted back to the ticket

What changedidentity-api 2.14.3 in eu-west: wait 250 ms for a pooled connection, 3 s upstream read, fail fast with 503 · sign-in now shows the failure and offers a retry · an alert fires when sign-in p95 passes 2 s in any region What it proveson the same workload and the same artifact, sign-in success goes from 71% with 30 s timeouts to 99.8% at 0.1% errors and p95 0.90 s Cost$1.34 model spend across six agents · 4 h 40 min from filed to closed · 2 named approvals NotifiedAlice (reporter) and Sam (approver), on the ticket itself · credentials issued for this run have expired (trail entry 2064, 14:20)
Trail entries 2041–2064 · run events linked to verified audit chains (session + organisation scope) · verified · b7c2…91ad · tamper-evident: edit a row and the chain breaks there, visibly.

Guardrails are rules enforced at the tool and model boundary: DENY, or REQUIRES APPROVAL by a named person. Access is what the agent may reach. Checks are the step's acceptance checks and what happens on failure. Instructions live in the prompt. Record is what the run writes.

Where you are

How AI adoption evolves.

OrmisOne joins your organisation at whatever stage it is at and takes it to Stage 4, autonomous operation. It governs, manages and observes the agentic workforce at every stage, including Stage 4.

Stage 1

Individual

Engineers run agents on their own workstations, each set up differently.

Stage 2

Team

One team shares prompts, tools and connectors.

Stage 3

Organisation

Several teams, or organisation-wide systems, roll out agents, with only parts of the problem solved.

Stage 4

Autonomous

Repeated work runs end to end as agent workflows, with a person at key steps.

Getting there on your own costs time, engineering bandwidth and tokens. Organisations start at different points; the path is the same.

Pricing

Priced by how you run it, not by what you switch on.

Everything is included wherever you run it. The price follows how you run it, and your model spend stays on your own keys, at your provider's price, with no markup. Platform, infrastructure and model spend are always separate lines.

SaaS

We run it for you. Your agents, keys and data stay yours.

What you pay forAgent runtime hours, plus the model consumption your agents actually use, on your keys, through your provider or router.
  • Bring your own model, or any approved provider
  • Everything: teams, gateway, guardrails, approvals, knowledge, workflows, trail
  • Start with one team; add teams as you go
Your environment

OrmisOne in your cloud or on your own hardware.

What you pay forCustom pricing, sized with you after a walkthrough.
  • Egress limited to endpoints you name
  • Inference on your own hardware supported, including on-premise
  • Same as SaaS, nothing is held back by where you run it

Questions we get

The short answers.

Do you mark up model spend?

No. Inference runs on your keys through your router; it appears on your provider's bill, and we attribute it per team, agent and workflow.

Can we start with one team?

That's how every engagement starts: one team, in observation mode first; we walk you through it on the call.

What does a first engagement cost to run?

SaaS: hosting is included in the platform fee; model usage is billed separately by your provider. In your environment: the footprint runs on your own infrastructure bill, and we size it with you once we've seen the team.

SaaS or your environment: which first?

SaaS is the fastest to start. Your environment, your cloud or your own hardware, when data or network policy requires OrmisOne to stay with you. Where models run is a separate choice in every case.

Is anything priced per module?

No. Everything is included wherever you run it. The price follows how you run it, not what you switch on.

How do we get a figure?

After a walkthrough. The right setup depends on where your teams are, and we'd rather quote the setup you'll actually run.

Talk to us

See it on your own setup.

A 30-minute walkthrough on the agents your teams run today. Nothing to install.