What are fail-closed AI systems?
Fail-closed systems optimize safety: they do not execute unless explicitly permitted. When evidence or policy outcome is ambiguous, the default is to withhold execution rather than proceed and rely on monitoring to catch harm later.
How it works
At the execution boundary, missing or unverified authorization maps to blocked work. That posture extends familiar fail-closed engineering from safety and security systems into AI and automation that touch money, regulated data, or physical actuators.
// Contrast
Fail-open vs fail-closed
Fail-open systems optimize availability: they execute unless a guard explicitly blocks. Fail-closed systems optimize safety: they do not execute unless explicitly permitted. AI systems that touch money, safety, or regulated data usually require fail-closed semantics at the execution boundary.
// SILENCE
A third outcome
TrigGuard's three-valued decision model includes SILENCE for cases where proceeding or explicitly denying would be misleading. This is part of conservative automation, see decision model.
// Problem
Why fail-open is the unsafe default for execution
Most SaaS and internal platforms optimize for throughput: if nothing obvious blocks a request, it runs. That posture is rational for read-heavy traffic and reversible UI actions. It breaks down when automation can commit faster than humans can review: agents, pipelines, and controllers issue writes, transfers, and control-plane mutations at machine cadence. Fail-open at the execution boundary means uncertainty becomes a successful commit; the incident is discovered in logs or in a customer dispute, not prevented at the choke point.
Fail-closed is not "turn everything off." It means the executor treats missing authorization, ambiguous policy, or unverifiable evidence the same way a safety interlock treats an open circuit: do not proceed until a valid permit exists for this exact request context. That shifts engineering effort from post-hoc triage to making authorization fast and reliable enough that withheld work is rare and explainable.
// Model
Technical model at the boundary
Fail-closed behavior requires three concrete properties: a defined execution surface where side effects attach; an authorization evaluation that runs before that surface accepts work; and a default mapping from "no usable outcome" to withhold rather than permit. In TG-01 terms, evaluation returns PERMIT, DENY, or SILENCE; only PERMIT is consumable as evidence that execution may proceed for the bound frame.
Enforcement is separate: runtimes record whether work was executed or blocked. Decisions deny; systems block. That separation keeps dashboards from silently rewriting policy truth when an action slips through without a permit. For the full path from intent to enforcement, read the execution trace walkthrough.
// Scenarios
Where fail-closed failures show up
Partial outages. Policy service slow or unreachable: a fail-open executor may race ahead; a fail-closed executor withholds until evaluation completes or returns an explicit deny.
Agent tool chains. Each hop can be externally visible; the last hop before a wire or export needs the same permit contract as the first, or the chain is only as safe as its weakest gate.
Drift between environments. If staging "mostly matches" production policy, teams learn the wrong muscle memory. Deterministic evaluation against a pinned policy version is what makes cross-environment behavior legible; see deterministic authorization.
// Implementation
How TrigGuard implements fail-closed semantics
TrigGuard places evaluation in front of execution surfaces and issues signed receipts on PERMIT so downstream systems and auditors can verify what was authorized without trusting a single log stream. Integrators wire Gate or the SDK so the runtime refuses commits that lack a valid permit for the declared frame. Policy lifecycle and separation of duties sit with Arbiter; offline checks use Verify. Commercial boundaries and deployment options are on Pricing.
How this appears in TrigGuard architecture
Fail-closed defaults match the protocol contract: when authorization cannot be confirmed, execution does not proceed. That behavior is expressed in the decision model and execution properties, not as a post-hoc policy narrative.
Protocol · TrigGuard architecture · Protocol architecture · Reference specification · Decision model · Verify · Pricing · Industries
Related TrigGuard concepts
Where this matters
Frequently asked questions
What problem does this solve?
Silent fail-open paths where automation proceeds under uncertainty and incidents are discovered only in logs.
How is it different from AI governance tools?
Dashboards and classifiers inform operators; fail-closed execution semantics bind the runtime so uncertain authorization cannot become a successful commit.
Why does authorization happen before execution?
Because once an irreversible action is accepted, only incident response remains; governance must default to block when permit cannot be verified.
// Hub
Category pillar
Return to the cluster hub: AI execution governance.