The Authorization Trap: When Your KG+RAG Pipeline Is Already Doing Authorization
A KG+RAG pipeline that decides what evidence counts and what to withhold is already doing authorization. Implicit authorization is bypassable and cannot satisfy what authorization requires.
Retrieval-augmented generation over a knowledge graph has become the default architecture for grounding AI outputs in the enterprise. It is a sound pattern for a specific job: narrow the context, bind generation to evidence, reduce the space in which a model can invent. The trouble begins when the same pipeline is asked to do a second job it was never designed for, and does it without anyone noticing.
That second job is authorization. And once a pipeline is performing authorization implicitly, it carries a risk that no amount of additional grounding will remove.
The architecture everyone is building
The shape is familiar. Source data is modeled into a knowledge graph. At query time, the system retrieves over the graph and a vector store, assembles evidence, and passes it to a model. Downstream, validators check the output, a confidence threshold decides whether the answer is good enough to return, and low-confidence results are suppressed. Each piece is reasonable. Together they form a stack most teams would describe as grounded, validated, and safe.
It is none of those things in the sense that matters, because of what the stack is quietly doing in the middle.
A concrete case
Consider a clinical assistant built on the pattern above. A clinician asks whether a medication is contraindicated for a patient with a given condition. The system retrieves the relevant policy from the knowledge graph, pulls supporting passages from the document store, ranks the graph evidence above the passages, and runs a confidence check that suppresses answers below a threshold. The answer clears the threshold and is returned. It states a contraindication that the retrieved policy does not actually support. The model bridged a gap between two passages, and the ranking made the bridge look grounded.
Nothing in this pipeline malfunctioned. Retrieval ran. Ranking ran. The confidence check ran and passed. The output was released because no step was responsible for deciding whether it was authorized to be released. The pipeline made that decision by default, the moment its checks did not fire. That default is the failure, and it is invisible precisely because every component did its job.
The decision hiding in the pipeline
When the pipeline weights graph evidence as strong and retrieved passages as weak, it is deciding what is allowed to support an answer. When it sets a confidence threshold below which it withholds a response, it is deciding what may be released. When a validator blocks an output, it is deciding that this particular result does not pass. Those are authorization decisions. The function does not change because the team calls it ranking, grounding, or guardrails.
This is implicit authorization: a system makes release decisions, deciding what evidence is sufficient, what to surface, and what to withhold, without an explicit authorization boundary that owns those decisions. The decisions are real. The boundary is not.
Why implicit authorization cannot hold
Authorization has three properties that implicit authorization lacks. Each absence is independently disqualifying.
It is not non-bypassable
A heuristic is an influence, not a boundary. A confidence threshold biases the outcome; it does not control it. A sufficiently confident generation, an adversarial prompt, a retrieval miss, or a quiet configuration change may produce a release outside the intended control path, or under conditions the checks were not designed to evaluate. A control that can be routed around is not a control. FERZ research on observability-based authorization formalizes this point: systems that observe can describe what occurred, but they cannot prevent an action they do not gate.
It does not fail closed
The default behavior of a generation pipeline is to produce an answer. Implicit authorization withholds only when some check happens to fire. Authorization inverts that posture. The default is denial, and release is the exception that has to be proven. A pipeline whose resting state is to answer has no fail-closed posture, no matter how many validators sit downstream, because the burden is backwards: the system is deciding what to stop rather than what to permit.
It cannot establish provenance
Validation in these pipelines happens after the output exists. By then the authorization question, may this be released, has already been answered yes by default, and the check is reduced to looking for reasons to retract. Worse, the evidence the pipeline relied on is rarely pinned. Ontologies drift, passages change, and sources are not bound to the decision, so the same query can validate differently a week later with no record of why. Authorization that cannot establish the provenance of its inputs is authorization in form, not in substance. Evidence must be attributable, reproducible, and traceable to an approved source as it stood at decision time.
These are not three separate defects. They are the single signature of authorization performed by observation rather than by enforcement, which is precisely the arrangement that cannot authorize an action before the action occurs.
Why more validators do not fix it
The reflex, on seeing these gaps, is to add more checks. Better validators, a second model to grade the first, a stricter threshold, a rule that flags unsupported claims. Each can improve detection. None changes the architecture.
Adding validators improves detection. It does not change the architecture. Unless release is impossible without an affirmative authorization verdict, the system is still default-release with retrospective checks.
The distinction is the direction of the burden. A validator answers the question "is there something wrong with this output," and it answers after the output exists. An authorization boundary answers a different question, "may this be released," and it answers before release, with denial as the resting state. You can stack validators indefinitely and never cross from one question to the other, because more detection does not convert a permit-by-default system into a deny-by-default one. The output still exists by the time any validator runs, and any validator that misses, or that an adversarial input slips past, yields a release.
This is why detection coverage is the wrong metric. A system can catch ninety-nine of a hundred unsupported claims and still be default-release, because the hundredth was released by the same mechanism as the other ninety-nine: the absence of a fired check. An explicit boundary inverts this. The output is not released because no check objected; it is released because an authorization verdict affirmatively allowed it, and that verdict is recorded. Validators become inputs to that verdict rather than a substitute for it. The validators are not the boundary. They never were.
Is your stack doing it? A self-test
Five questions. A no to any of them locates implicit authorization in your architecture.
- Default. If every validator and threshold were disabled, would the system still return an answer? If yes, your default is release, not denial.
- Bypass. Can a high-confidence generation, a prompt change, or a retrieval path produce a release outside your intended control path, or under conditions your checks were not designed to evaluate? If yes, your checks are influences, not a boundary.
- Provenance. For a released claim, can you name the exact evidence and the approved source it rested on, as they existed at decision time? If not, your inputs are unpinned.
- Replay. Can you reproduce a past release decision and obtain the same verdict? If not, you have logs, not authorization.
- Abstention. Is "no answer" a result the system can deliberately return and record, or only an absence? If only an absence, you cannot tell a governed refusal from a failure.
A stack that fails these is not ungoverned by intent. It is governed implicitly, and that is the trap: the appearance of control without its substance. The FERZ governance taxonomy provides the longer diligence and anti-laundering tests these questions are drawn from.
What an explicit boundary looks like
An explicit authorization boundary sits at the release boundary of the pipeline and decides release before any output is emitted. It has the properties implicit authorization lacks. It is non-bypassable, with no release path that skips it. It is fail-closed, so denial is the default and release must be proven. It is ex-ante, so the decision precedes the action rather than inspecting it afterward. And it is proof-carrying: every decision emits an artifact that records what was allowed, who authorized it, and how to reproduce the verdict.
Its verdict space is three-valued: allow, deny, or abstain. Abstain is a first-class outcome, not a silent fallthrough. When the boundary cannot authorize release, execution is blocked pending an authorized human override, and that override is itself a recorded authorization event.
These are the properties the Four Tests Standard evaluates: whether a system can stop execution, establish ownership, replay decisions, and route escalation. A pipeline relying only on implicit authorization will generally fail these as authorization tests, because the properties they check were never built as an explicit boundary: there is no gate to stop, no authorizing party on record for a default, no decision procedure to replay, and no recorded denial to escalate.
The trap, restated
The danger is not that architects reject authorization. It is that they believe they have already built it. A confidence threshold feels like a gate. A validator feels like enforcement. A grounded answer feels authorized. None of these is the thing it resembles.
The remedy does not require tearing down the graph or the retrieval layer. Keep your KG. Keep your retrieval. Put an explicit authorization boundary at the release boundary, so that what reaches the user has been authorized before release rather than approved by default and inspected afterward.
Knowledge organizes truth. Retrieval grounds it. Authorization decides what may be released. The first two do not perform the third, and a pipeline that pretends otherwise has only made the gap harder to see.
References
- On the Impossibility of Observability-Based Authorization. Zenodo DOI 10.5281/zenodo.19647542.
- From Monitoring to Authorization. Zenodo DOI 10.5281/zenodo.18743974.
- Observability Is Not Enforcement. Zenodo DOI 10.5281/zenodo.18663864.
- A Taxonomy of AI Governance Approaches v1.5 (Five-Point Diligence Test and Anti-Laundering Tests). Zenodo DOI 10.5281/zenodo.18275969.
- Versioned Meaning: How to Make Ontologies Audit-Stable. SSRN DOI 10.2139/ssrn.5918182.
- Four Tests Standard (4TS). SSRN DOI 10.2139/ssrn.5688982. Spec: github.com/edmeyman/4ts-standard.
