Skip to content
Sigma

Human-in-the-loop is not a checkbox

A lot of platforms ship an "approval required" toggle and call it governance. Real human-in-the-loop design is harder and more specific than that.

27 August 2026 · 6 min read

"Human-in-the-loop" shows up in almost every enterprise AI vendor’s pitch deck now, usually as a single toggle: on or off. That framing undersells what actually makes an approval step useful, and it’s worth being specific about why a checkbox isn’t the same thing as governance.

The three questions a real approval step has to answer

A meaningful human-in-the-loop design answers three separate questions, not one:

Which actions need approval? Not "all of them" — that just trains reviewers to click approve without reading, which is worse than no review at all. The actions that need a human are the ones with real downside: anything that changes a customer record, releases a document externally, moves money, or is simply hard to undo. Read-only actions — searching a document, drafting a summary that a human will read before acting on — generally don’t need the same gate, or reviewers burn out on volume and stop actually reviewing.

What does the reviewer actually see? An approval prompt that just says "Agent wants to call update_customer_record — Approve / Deny" is nearly useless. A reviewer needs the actual before-and-after: what’s changing, based on what evidence, with a link back to the source the agent used to decide. If the reviewer can’t evaluate the decision faster than they could have made it themselves, the approval step is theater.

What happens when someone says no? A rejected approval has to actually stop the action — not just log a warning while a retry loop tries again five seconds later. And a session where an approval is denied should be haltable outright, so nothing downstream of that one bad step keeps running on stale assumptions.

Why this matters more than model accuracy

It is tempting to treat human-in-the-loop as a stopgap for a model that isn’t accurate enough yet — something you’ll relax once the model gets better. That framing misses the point. Even a highly accurate model will occasionally be wrong in ways that are expensive, and more importantly, an accurate model gives you no evidence, after the fact, that a specific decision was reasonable at the time it was made unless a human looked at it and the record of that review still exists.

This is the gap Deloitte’s 2026 research on agentic AI points to: agent use is scaling faster than the guardrails meant to manage it, and only 21% of organizations say they have a mature governance model for agentic AI (Deloitte, "Business and IT leaders report AI agents are scaling faster than their guardrails," 2026). The organizations pulling ahead aren’t the ones with the most accurate models. They’re the ones who can extend an agent’s scope confidently because the approval and audit mechanism around it is trustworthy.

A concrete example

Take an agent that drafts vendor payment approvals for accounts payable. The naive version: the agent reads an invoice, decides it matches a purchase order, and pays it. The human-in-the-loop version done properly: the agent reads the invoice and PO, drafts a recommendation with the specific line items it matched and any discrepancy it found, and a named approver sees that comparison — not just an "approve payment?" prompt — before the payment executes. If the approver rejects it, the payment does not happen, the reason for rejection is recorded, and nothing retries silently.

The difference in engineering effort between these two versions is real, but it is not large. The difference in what you can tell an auditor is enormous.

What we built this to require

In Sigma, which tool calls require approval is set for each agent, not as a platform-wide toggle — so an agent in a low-stakes internal tool can move faster than one touching customer records. A pending approval carries the actual data the agent is about to act on, not just the name of the function it wants to call. And a denied call is skipped: the agent carries on without it, the decision is recorded in the session’s timeline, and the same action can only run again if a person approves it, because a rejection is information the system should respect, not route around.

None of this is exotic. It’s also not automatic — it has to be designed into the platform as a first-class concept, not added as an afterthought toggle once a customer asks for it. That’s the difference between human-in-the-loop as a real control and human-in-the-loop as a line item on a feature comparison sheet.