FERZ is not Guardrails
This comparison applies the FERZ Governance Doctrine to the specific category of guardrails. The doctrine establishes that observability is not authorization, a halt is not a verdict, and authorization is not monitoring. Guardrails are supervisory: they observe declared conditions, object when one is met, and record what they observed. Each of the three doctrinal statements applies. The architectural-class test is established in The Authorization Artifact Test (Meyman, 2026; DOI 10.5281/zenodo.20013582); the supervision-vs-authorization distinction is developed in Observability Is Not Enforcement (Meyman, 2026; DOI 10.5281/zenodo.18663864) and From Monitoring to Authorization (Meyman, 2026; DOI 10.5281/zenodo.18743974). The composition claim, that authorization emerges from a stack of guardrails as a whole, is answered in Layering Is Not Authorization (Meyman, 2026; DOI 10.5281/zenodo.22267761).
Where the categories diverge
The two architectures diverge along five axes. None of them turns on whether a check is deterministic or probabilistic, or on whether it inspects content or actions. Each turns on what a result means and how release is conditioned on it. The second column describes a guardrail-only stack whose release rule is aggregated non-objection, the target class of the analysis.
The canonical proposed action under the applicable policy and version state, governed state, and authority chain.
A declared condition concerning content, structure, behavior, tool use, or another configured target. The check may be deterministic or probabilistic.
An action-bound verdict: ALLOW, DENY, or ABSTAIN. ALLOW is necessary for release and is not a command to execute.
An observation, score, validation result, PASS, trigger, or veto. PASS records that no configured objection matched; it is not a grant of permission.
Every covered release transition depends on an action-bound ALLOW. DENY and unresolved ABSTAIN block execution.
Aggregated non-objection, or completion of the declared checks. Execute if no layer objects; in the stricter variant, execute if every declared layer returns PASS.
Fail-closed across the declared execution-path scope, including retries, fallbacks, timeouts, resolution paths, and direct paths.
Determined by product configuration and the declared checks. Not established by layer count: a stack with five vetoes and one ungated retry is not fail-closed.
An authorization artifact sufficient for independent reconstruction of the verdict from the bound action, policy and version state, governed state and other verdict-determinative inputs, and authority chain.
Component observations, logs, scores, and trigger records. They show what the layers observed, not why a specific action received a specific verdict.
Why the distinction is structural
A guardrail may be deterministic or probabilistic, and it may inspect content, structured outputs, tool calls, or proposed actions. None of that classifies it. What classifies a control is what its result means and how release is conditioned on it. A guardrail's result is an observation about a declared condition: this input matches a pattern, this output fails a schema, this tool call is not on the allowlist, this behavior scores as anomalous. Its positive form is the absence of an objection. A PASS, a validation success, or silence from a check that did not apply does not become an action-bound ALLOW merely because the underlying check is deterministic.
The release condition follows from the result semantics. A supervisory stack standing alone releases an action when no layer objects, or, in the stricter variant, when every declared layer returns PASS. Unanimous PASS establishes that every declared objection check returned a result; it does not establish that policy was evaluated over the action. A runtime authorization boundary releases only if a policy-grounded, action-bound verdict of ALLOW exists before execution, evaluated over the canonical action, the applicable policy and version state, the governed state, and the authority chain. The release condition, not the accuracy of any check and not its determinism, decides the class.
Coverage is a property of the release topology, not of the layer count. The transitions that matter are the ones a demonstration rarely shows: timeouts, unavailable services, fallbacks, retries, resolution paths, alternate tools, and direct execution paths. A boundary is fail-closed only across a declared execution-path scope in which every in-scope release transition depends on ALLOW. Multiple enforced veto points reduce the likelihood that a detected condition reaches execution; they do not establish complete mediation of every transition. A stack with five vetoes and one ungated retry is not fail-closed.
Governed state is what a per-action check cannot see. Cumulative limits, pending authorizations, prior consumption, and current authority are terms of the policy, not properties of the isolated action. A layer that evaluates each proposal on its own can pass five transfers that together exceed a daily limit while every check performs correctly, as the concurrency example below shows. An authorization boundary binds governed state, including pending authorizations, into the determination.
The evidence artifacts answer different questions. Layer outputs record what the controls observed: a trigger, a score, a validation result, a PASS. An authorization artifact records why this specific action received this verdict under the bound policy, governed state, inputs, and authority, and is sufficient for an independent party to reconstruct the verdict without access to the governed system. Halt records and authorization verdicts are not points on a spectrum, as the doctrine establishes: a halt is not a verdict. A more accurate check remains a check, and a deterministic check remains a check. What changes the class is a release condition that depends on an action-bound ALLOW.
The structural claim follows. Supervisory layers and a runtime authorization boundary compose in a complete AI safety stack: the layers evaluate the conditions they are configured for, and a boundary may consume their validated outputs as verdict-determinative inputs, with release depending on its ALLOW. Composed that way, the layers are supporting controls within an authorization architecture. Aggregated on their own, they release on non-objection, and calling that aggregation AI governance in the authorization sense is a category error the doctrine has already addressed at the level of foundational distinctions.
Stacking guardrails does not change the class
The strongest defense of guardrails is not that any one filter is the authorization control. It is that authorization emerges from the stack as a whole: content filters, schema validators, allowlists, anomaly detectors, and review queues, each catching what the others miss, together constitute the permission to act. That is a composition claim, and Layering Is Not Authorization (Meyman, 2026) answers it at its own level, by release semantics rather than by product label. A system is within the target class when action release is conditioned on aggregated non-objection, whatever its components or outputs are called.
The two release conditions are not equivalent. A layered stack releases an action when no layer objects:
A stricter stack requires every declared layer to return PASS, which establishes that every declared objection check returned a result, and nothing more:
An authorization boundary releases only if a policy-grounded, action-bound verdict of ALLOW exists before execution:
where P is the applicable policy and version state, C(a) is the canonicalized action, S is the governed state, and H is the authority chain. PASS means that no participating layer detected a reason to object. ALLOW means that the governing authority affirmatively permitted the proposed action under the bound conditions. Increasing the number of PASS signals does not change PASS into ALLOW.
The note concedes everything layering accomplishes and tests six arguments that it is sufficient: coverage accumulation, defense-in-depth reliability, residual-risk sufficiency, heterogeneous controls, fail-safe accumulation, and evidence accumulation. Each is granted its strongest form. A larger detection set does not establish that every released action was permitted. Lower failure rates are empirical evidence of reliability, not analytical proof of authorization. Heterogeneous outputs do not compose into one policy-grounded verdict, by inventory or by aggregation. Five vetoes and one ungated retry are not fail-closed. Aggregated logs show what the layers observed, not why a specific action received a specific verdict. Only the reliability and residual-risk arguments depend on probability; the other four hold against a stack of perfectly deterministic validators.
The residual-risk argument deserves its own answer, because it accepts the classification and disputes its consequence: if a dense stack makes harmful release unlikely enough, and the remainder is insured, why add an authorization boundary? An institution may decide that a runtime authorization boundary is unnecessary for a declared low-consequence scope in which the governing authority requires no action-specific permission. That is a scope and risk-acceptance decision. It does not make the stack an authorization boundary. Risk acceptance asks whether the expected harm across a class of operations is tolerable; authorization asks whether this proposed action is permitted under the applicable policy, governed state, and authority. Insurance is a risk-transfer response: it reallocates financial consequences after a covered loss and cannot establish that the underlying action was authorized. Scheduled air-carrier operations under 14 C.F.R. Part 121 illustrate the distinction: extensive safety controls do not displace the operation-specific, jointly signed dispatch release.
One failure can be shown exactly. A policy permits transfers totaling no more than $10,000 per day. Five $3,000 transfers are evaluated concurrently, and each passes every content, schema, anomaly, and destination check. If prior consumption and pending authorizations are outside the release determination, all five may release: $15,000 against a $10,000 limit. Nothing malfunctioned. A release condition that examines each action in isolation cannot enforce a rule whose terms are cumulative, however many layers examine the isolated action.
Layering and authorization are not mutually exclusive. When a boundary materially consumes the validated outputs of the layers, every release path depends on its action-bound ALLOW, governed state is bound into the determination, unresolved permission becomes a blocking verdict, and the verdict can be independently reconstructed, the layers function as inputs within an authorization architecture. Their stacking is not what established authorization. The full argument, with its five-question diagnostic and failure witnesses, is in the technical note (DOI 10.5281/zenodo.22267761) and summarized in Layering Is Not Authorization.
What buyers often confuse
The most common conflations involve supervisory mechanisms positioned as governance under safety framing. The architectural argument applies regardless of presentation, and regardless of whether the underlying checks are deterministic or probabilistic.
Architectural diagnostic
Any architecture claiming AI-action authorization can be located against five questions, published in Layering Is Not Authorization (Meyman, 2026; DOI 10.5281/zenodo.22267761) and drawn from the conditions stated across the corpus: The Authorization Artifact Test, The Authorization Boundary Integrity Model, Execution-Time Authorization, and The Override Asymmetry.
Does release depend on non-objection or on an action-bound ALLOW?
Does every declared release path depend on ALLOW, including retries, fallbacks, timeouts, and direct paths?
Is governed state, including pending authorizations, bound into the determination?
Does unresolved permission become a blocking, action-bound verdict? See ABSTAIN.
Can an independent party reconstruct why the specific action received its verdict? See the authorization artifact.
Each question has a failure witness. Within a declared scope: an in-scope effect executed without a matching action-bound ALLOW; a release path on which an in-scope effect executes around the boundary; a cumulative determination that does not account for pending authorizations on which policy depends; unresolved permission that proceeds without a separate resulting verdict; or a reconstruction under the declared replay mode that does not reproduce the verdict. Each defeats the corresponding claim.
References
Related doctrine and concepts
Frequently asked questions
Guardrails may be deterministic or probabilistic and may inspect content, structured outputs, tool calls, or proposed actions. Their classification depends on what their result means and how release is conditioned. A PASS, validation success, or absence of an objection does not become an action-bound ALLOW merely because the underlying check is deterministic. Filtering alone does not establish a runtime authorization boundary. It establishes supervision over the conditions the filters evaluate. Supervision and authorization are categorically distinct, as developed in the FERZ Governance Doctrine.
As supervisory layers whose validated outputs a boundary can consume as inputs. The layers evaluate the conditions they are configured for. FERZ operates at the action proposal boundary: when the AI proposes a tool call or external action, the proposed action is evaluated against policy, governed state, and authority, and a verdict is emitted before execution. Both can sit in the same pipeline; the layers supervise, and release depends on the boundary's action-bound verdict.
Regulated deployments require evidence: which action was permitted, against which policy, in which state, with which resolution path. Guardrail layers produce observations, scores, validation results, and trigger records; these describe what the controls observed and are not policy-versioned, action-bound verdicts reconstructable by third parties. A halt log does not, by itself, establish the action-bound authorization verdict or independently reconstructable authorization artifact required by the analysis applied here.
For classification, no. For reconstruction, the declared replay mode controls. A probabilistic check may supply a bound verdict-determinative input if its recorded output satisfies the applicable Input Integrity and replay requirements; it does not itself supply the authorization verdict. Conversely, a deterministic guardrail that returns PASS because no configured objection matched remains a non-objection control. Determinism can support reconstruction, but it does not change PASS into ALLOW.
Adding more checks does not change the coverage model, and it does not change the release condition. Guardrails detect the conditions declared in advance; conditions not declared pass through. A guardrail-only stack standing alone releases an action when no layer objects; an authorization boundary releases only on an action-bound ALLOW. Increasing the number of PASS signals does not change PASS into ALLOW. FERZ is deny-by-default: actions not affirmatively permitted by policy yield DENY or ABSTAIN, including actions outside the enumerated permission set. The architectural class of the decision changes; this is not a difference in check count.
No. Independent layers can lower the probability that a harmful action gets through; that is empirical evidence of reliability, not analytical proof of authorization. A guardrail-only stack standing alone still releases an action when no layer objects, and unanimous PASS means only that no configured objection matched. The classification turns on the release condition, not on layer count, independence, or diversity.
That is a legitimate scope and risk-acceptance decision, and an institution may make it for a declared low-consequence scope in which no action-specific permission is required. It does not make the guardrail stack an authorization boundary. Risk acceptance asks whether the expected harm across a class of operations is tolerable; authorization asks whether this action is permitted under the applicable policy, governed state, and authority. Insurance transfers financial consequences after a covered loss; it does not determine before execution whether the action was permitted. Where action-specific permission matters, the risk evidence becomes an input to the authorization verdict, not a substitute for it.
Agentic systems propose actions, often as tool calls or external API invocations. Some guardrail layers inspect only the model's text; others validate tool calls or structured outputs. Either way the question is the same: does release depend on the absence of an objection, or on an action-bound ALLOW evaluated over the canonical action, governed state, and authority? A tool-call validator that returns PASS when no configured objection matched has supervised the call; it has not authorized it. FERZ operates at the action proposal boundary: when the agent proposes a tool call, the proposed action is evaluated against policy and governed state and a verdict is emitted before the call executes. The two compose; the layers' validated outputs can be inputs to the boundary, and release depends on the boundary's verdict.
ABSTAIN is an action-bound verdict that blocks execution. Authorized resolution produces a separate resulting action-bound verdict through the boundary; the original verdict does not convert. A guardrail halt records that a layer objected. What happens after that halt is product- and configuration-dependent.
The term "fail-safe" is used inconsistently. A guardrail may map uncertainty or dependency failure to an objection, but that does not establish fail-closed coverage across the declared release topology. Fail-closed requires every in-scope release transition to remain dependent on ALLOW, including retries, fallbacks, timeouts, resolution paths, alternate tools, and direct paths.
FERZ, Inc. (2026). FERZ is not Guardrails. https://ferz.ai/governance/comparisons/ferz-is-not-guardrails
BibTeX
@misc{ferz2026notgr,
author = {{FERZ, Inc.}},
title = {FERZ is not Guardrails},
year = {2026},
url = {https://ferz.ai/governance/comparisons/ferz-is-not-guardrails},
note = {FERZ Architectural Comparison}
}