How Runtime AI Controls Differ from Documentation (June 2026)

Most AI governance stops at two layers: the policy document that says what your system should do, and the audit log that records what it actually did. Runtime AI policy enforcement adds the third layer that matters most: active controls that run at inference time, before outputs reach users. When a response violates your toxicity threshold of 0.15, it gets blocked. When demographic parity falls more than 5 percentage points below your approved baseline, an alert fires and a human can intervene. When groundedness drops below 85%, the output never makes it past the API boundary. Documentation is necessary; logging is necessary. But neither one prevents harm. Runtime enforcement does.
TLDR:
- Runtime AI policy enforcement blocks policy-violating outputs at inference time before they reach users, while compliance documentation only records what a system was designed to do.
- The gap between documentation and active enforcement creates a liability window where systems accumulate regulatory exposure with no runtime controls intercepting harmful outputs.
- Five enforcement actions exist: allow with logging, warn, block, redact, and escalate, each carrying different practical tradeoffs between user experience and risk mitigation.
- Openlayer blocks outputs at the API boundary when thresholds are breached, automatically generating the timestamped audit records that satisfy EU AI Act conformity assessments.
What runtime AI policy enforcement actually means
Runtime AI policy enforcement refers to the active evaluation and control of AI system behavior at the moment inference occurs, before outputs reach end users, downstream systems, or decision pipelines. It is the difference between a policy that exists in a document and a policy that executes in code.
Here is how it works in practice: when a request hits an AI system, enforcement logic runs against that specific input-output pair. If a response scores below a groundedness threshold of 85%, it is blocked. If a toxicity probability exceeds 0.15, the output is suppressed or rerouted. If demographic parity across a protected group drops more than 5 percentage points below the highest-performing group's rate, an alert fires before the decision propagates. The policy does not wait for an audit cycle; it acts at inference time.
This stands in contrast to compliance documentation, which captures what a system is designed to do. Documentation satisfies the evidentiary requirements of frameworks like the EU AI Act's Annex IV, but it cannot intercept a drifting model or a prompt injection mid-session. There are two distinct functions here:
- Compliance documentation records intended behavior, training data provenance, risk classifications, and evaluation results: the artifacts an auditor reviews during conformity assessment under Article 43.
- Runtime enforcement checks actual behavior against defined thresholds at every inference, blocks outputs that violate policy, and writes the resulting pass/fail records into an audit trail in real time.
Both are necessary. But they operate at different points in the AI lifecycle and protect against different failure modes. Documentation answers the question of what a system was built to do. Runtime enforcement answers the question of what a system is doing right now.
Why documentation and logging create a liability window
When a deployed AI system produces a harmful output, the sequence of failure that follows reveals a structural gap in how most organizations think about governance. Compliance documentation records what a system was designed to do. Audit logs record what it did. But neither stops the harm from reaching a user, a customer, or a regulated context in the first place.
That gap, between documentation and prevention, is where the liability window opens. Consider what the documentation-first posture actually produces at runtime. Three artifacts are typically in place:
- A risk assessment sitting in a document repository
- A policy statement declaring that the system must not produce outputs that violate data handling rules or demographic fairness thresholds
- An audit log capturing every inference
But if the model produces a biased credit recommendation at 2:47 AM on a Tuesday, none of those artifacts intercepted it. The log records the event after the fact. The policy was aspirational. The risk assessment described a system that was designed correctly; it said nothing about what the system would do when input distributions shifted three months after deployment.
There are two failure modes worth separating here.
- Documentation lag: the time between when a system's behavior changes in production and when that change surfaces in a review cycle. If a model is reviewed quarterly, a drift event that begins in week two of a quarter may produce non-compliant outputs for ten weeks before anyone with authority to act sees evidence of it. The documentation was accurate when written; it became inaccurate silently.
- Log-based detection without enforcement: observability tooling that records output anomalies, flags demographic parity gaps exceeding approved limits, or surfaces groundedness scores falling below 85%, but routes those signals to a dashboard that a human must check, interpret, and act on. Detection and enforcement are not the same thing. A system that logs a violation and a system that blocks one produce very different compliance postures.
The regulatory stakes make this distinction consequential. Under the EU AI Act, high-risk AI systems must maintain logs sufficient to support post-market monitoring and incident investigation. But the Act's obligations do not stop at logging. Article 9 requires continuous risk management that operates across the full lifecycle, including at inference time. A provider who can produce an audit trail of violations but cannot show that runtime controls were active and configured to intercept those violations has documented their own non-compliance.
That is the liability window in concrete terms: a period during which a system is running, producing outputs, and accumulating regulatory exposure, while the only active governance layer is a log filling up on a server somewhere.
Where runtime enforcement sits in the architecture

Runtime AI policy enforcement sits between two layers most teams already have: the model itself and the application layer that surfaces its outputs to users. Enforcement logic lives at this boundary, intercepting outputs before they reach downstream systems or end users.
There are three positions where enforcement controls attach:
- Pre-inference: rules applied before a request reaches the model, filtering inputs that would trigger policy-violating outputs or that fall outside the system's defined scope
- Post-inference: checks run against raw model output before it is returned, blocking responses that fail toxicity thresholds, groundedness requirements, or topic restrictions
- Session-level: controls that check sequences of exchanges instead of single turns, catching policy violations that only become visible across a conversation arc
Compliance documentation has no presence at any of these positions. A policy PDF does not sit in the inference path. An audit log records what happened after the fact. Enforcement controls are the only mechanism that acts before an output leaves the API boundary.
The distinction matters for how failures propagate. Without enforcement at the boundary, a policy-violating output completes its full path to the user, gets logged, and becomes an incident requiring retrospective review. With enforcement in place, the output is intercepted and either blocked or rerouted before the incident occurs. The audit trail records a blocked event instead of a harm event.
The five enforcement actions: allow, warn, block, redact, escalate

Runtime AI Policy Enforcement systems expose five discrete enforcement actions that teams configure at the policy level. Each action carries different practical tradeoffs, and choosing the wrong one for a given risk scenario creates either over-blocking that degrades user experience or under-blocking that lets harmful outputs through.
Here is how each action works in practice:
- Allow with logging: the output passes through without modification, but every inference is recorded with its policy evaluation scores. This is the starting configuration for most teams baselining normal behavior before tightening thresholds. The limitation is that it produces no protection during the baselining window.
- Warn: the output is delivered to the user, but a flag is written to the audit trail and, depending on configuration, surfaced to a human reviewer queue. Useful when a policy violation is ambiguous or when the cost of a false positive block is high. The tradeoff is that harmful outputs still reach end users while review is pending.
- Block: the output never leaves the API boundary. The system returns a refusal or a safe fallback response instead. This is the appropriate action when a toxicity score exceeds a defined threshold, such as a probability above 0.15, or when a groundedness score falls below 85% in a context where hallucination carries legal or safety risk. The cost is latency and the risk of over-triggering on edge cases.
- Redact: sensitive content is stripped or masked before the response is returned. This action targets outputs that contain PII, credential strings, or regulated data categories. Unlike blocking, the response still reaches the user; only the violating fragment is removed. The limitation is that redaction logic must be precise enough to avoid corrupting the surrounding response.
- Escalate: the output is held and routed to a human reviewer before delivery. This action is appropriate where automated confidence alone is insufficient and a wrong output carries direct harm or legal exposure; for example, clinical decision support tools recommending treatments, legal contract review assistants flagging liability clauses, financial planning systems generating personalized investment guidance, or benefits eligibility systems determining access to public services. The cost is response latency and the staffing requirement for a live reviewer queue.
The choice between these actions is not a one-time configuration. As models drift and use cases expand, the appropriate action for a given policy condition changes. Teams that treat enforcement action assignment as a deployment artifact instead of a live runtime parameter end up with policies that no longer match the risk profile of the system they govern.
How runtime enforcement maps to EU AI Act obligations
The EU AI Act creates specific, auditable obligations for high-risk AI systems, and runtime enforcement is where those obligations either get met or fall apart. Three obligation categories map directly to what runtime controls do in production.
- Continuous human oversight (Article 14): The Act requires that high-risk systems be designed so humans can intervene, override, or halt the system. Runtime enforcement makes this concrete: when a guardrail flags an output as non-compliant, the system pauses for review before that output reaches a user. The pause is the oversight mechanism.
- Accuracy and robustness monitoring (Article 15): High-risk systems must maintain performance across their deployed lifetime. Runtime monitoring generates the timestamped metric records that satisfy this requirement, including drift detection logs and threshold breach events that auditors can inspect during conformity assessment under Article 43.
- Post-market monitoring (Article 72): Providers must collect and analyze real-world performance data after deployment. Runtime enforcement infrastructure produces exactly this data: incident logs, flagged outputs, threshold exceedance records, and remediation events. Compliance documentation without this underlying data is a declaration without evidence.
The gap between policy and enforcement becomes an audit gap. A governance document that states "the system will not produce discriminatory outputs" satisfies none of these three obligations on its own. The Article 43 conformity assessment requires evidence that controls were active and functioning during operation, not attestations that controls were planned.
Non-compliance with high-risk system requirements carries fines up to €15 million or 3% of global annual turnover under Article 99(3), with the August 2026 deadline for financial services applications now in effect.
Policy as code: expressing runtime rules
Runtime AI policy enforcement stops being theoretical the moment you express it as executable code instead of a PDF sitting in a compliance folder. Policy-as-code means the rules governing model behavior (what topics to block, what output formats to require, what confidence thresholds to enforce) live in version-controlled logic that runs at inference time.
A practical example: a financial services team might write a rule that blocks any response where a toxicity classifier returns a probability above 0.15, or flags any output where the groundedness score drops below 85%. Those thresholds are not aspirational. They are gates. When a request hits the API, the policy checks the output before it leaves the system boundary.
There are a few structural properties that distinguish this approach from documentation-based compliance:
- Version control ties every policy change to a commit, a timestamp, and an author. When an auditor asks why a threshold changed in March, the answer is in the diff, not in someone's memory.
- Testability means policy rules can be validated against held-out prompt sets before deployment, catching regressions the way unit tests catch code bugs.
- Composability lets teams layer rules: a base policy for brand safety, a stricter overlay for regulated use cases, and an emergency override path that requires explicit approval to invoke.
The limitation worth naming: policy-as-code only governs what the code covers. A rule that blocks profanity does not catch a confidently wrong factual claim. Coverage gaps are a design problem, not a deployment problem, and they require deliberate test coverage to surface before they become incidents.
Enforcement approaches: Credo AI, IBM watsonx, and Langfuse compared
Three tools come up repeatedly in enterprise AI governance conversations: Credo AI, IBM watsonx.governance, and Langfuse. Each covers a distinct slice of the problem, and understanding where each stops helps clarify what runtime AI policy enforcement actually requires.
Credo AI
Credo AI covers AI governance: policy documentation, risk assessments, and compliance tracking. Teams use it to record what policies exist and generate evidence that governance processes were followed.
The architectural boundary is the policy layer itself. Credo AI does not monitor live model outputs, enforce behavioral thresholds at inference time, or block responses that violate a defined policy. A toxicity threshold documented in Credo AI does not become an active gate; it remains a record of intent.
IBM watsonx.governance
IBM watsonx.governance spans both AI governance and data governance within the broader IBM ecosystem. It offers model risk documentation, bias detection tooling, and lifecycle tracking for models deployed inside IBM infrastructure.
The constraint is architectural scope. watsonx.governance is built around the IBM stack, so organizations running models outside that ecosystem get partial coverage at best. On the runtime side, the tool surfaces bias metrics and drift signals, but enforcement decisions, whether to block, reroute, or flag a live inference, require additional configuration and do not trigger automatically from policy definitions.
Langfuse
Langfuse is an open-source LLM observability tool focused on tracing, logging, and evaluation. The gap is the enforcement layer. Langfuse delegates any runtime enforcement to third-party libraries such as LLM Guard or NeMo Guardrails, which teams integrate and maintain separately. The observability record and the enforcement action live in different systems, which means a policy violation can be logged without anything stopping the output from reaching the user.
Where the gap appears
| Tool | Governance Documentation | Production Monitoring | Runtime Enforcement |
|---|---|---|---|
| Credo AI | Yes | No | No |
| IBM watsonx.governance | Yes | Partial (IBM stack) | No |
| Langfuse | No | Yes | Delegated to third-party libraries |
| Openlayer | Yes | Yes | Yes |
The table makes the structural gap legible. Governance tools document what should happen. Observability tools record what did happen. Runtime AI policy enforcement acts on what is happening, blocking a non-compliant output before it exits the API boundary. Openlayer covers all three layers: policy definition and compliance mapping, production monitoring with configurable alert thresholds, and active enforcement gates that block or reroute outputs at inference time without requiring a separate integration.
Is compliance documentation enough for EU AI Act high-risk systems?
The EU AI Act imposes concrete, artifact-level obligations on high-risk system providers, and compliance documentation is a prerequisite for deployment. But documentation alone does not satisfy the Act's requirements once a system is running in production.
A common misreading documented in early EU AI Act conformity assessments treats Annex IV documentation as a proxy for Article 9 compliance: filing a risk assessment before launch and treating it as complete. Article 9 requires a risk management system that operates on a continuous basis across the AI system's lifecycle, not a one-time assessment filed before launch. Article 72 requires post-market monitoring that collects performance data after deployment and feeds incident reports back to national authorities within 15 days of serious incidents. These are ongoing behavioral obligations, not archival ones.
The gap that creates real exposure sits between what documentation records and what the system does at inference time. Consider a high-risk hiring tool: the conformity assessment record documents the fairness thresholds the team approved, the demographic parity gap the ethics committee signed off on, and the evaluation results from pre-deployment testing. But if the model drifts in production and the demographic parity gap widens from an approved 3 percentage points to 7 percentage points, no document updates itself. The documentation still shows a compliant system. The running system is not one.
There are two distinct compliance obligations that documentation cannot cover on its own:
- Continuous behavioral monitoring: Article 72 requires post-market monitoring logs that capture ongoing performance data, not snapshots. A system that passed pre-deployment evaluation but degrades over six months of production use has generated a compliance gap that only live monitoring can detect and record.
- Incident detection and reporting: The Act requires providers to report serious incidents to national authorities within 15 days. Meeting that deadline requires knowing an incident occurred, which requires active output monitoring, not periodic document review.
Compliance documentation creates the evidentiary record auditors inspect. Runtime AI policy enforcement creates the conditions under which that record stays accurate after deployment begins.
What counts as a runtime control under the EU AI Act?
The EU AI Act does not use the phrase "runtime control" anywhere in its text, but the obligation it creates points directly at one: Article 9 requires that high-risk AI systems operate under a risk management system that is continuous and iterative, covering the entire lifecycle. That word "continuous" is load-bearing. A policy document reviewed annually is not continuous. A compliance checklist signed before deployment is not continuous. What satisfies the obligation is a system that is actively checking behavior while inference is happening.
Article 14 adds the human oversight requirement, and here the Act gets specific about what oversight actually means in practice. Oversight is not a review meeting. It is the technical capacity to interpret outputs, detect anomalies, and intervene. If the system cannot surface a flag when an output drifts outside acceptable parameters, and if a human cannot act on that flag before the output reaches a downstream decision, the oversight requirement is not met in any meaningful sense.
There are three categories of capability the Act's language points toward when read against its enforcement intent:
- Output filtering at the inference boundary: any mechanism that checks a generated output against defined behavioral thresholds before that output is returned to the calling system or end user. A toxicity classifier running as a post-generation step with a block action when the score exceeds 0.15 is a runtime control. A toxicity policy in a governance document is not.
- Drift detection with threshold-triggered alerts: continuous comparison of live input distributions or output quality metrics against a baseline set at deployment. When demographic parity gap exceeds 5 percentage points, or when groundedness scores fall below 85%, an alert fires and a human can act. The alert is the control; the threshold is what makes it enforceable.
- Audit trail generation at inference time: a per-request record of the input features, the output produced, the model version hash, and the policy check result. This is the artifact that satisfies Article 9's documentation of "measures taken" and provides the evidentiary record auditors inspect during conformity assessment under Article 43.
What the Act does not accept as a substitute is documentation of intent. A risk assessment completed pre-deployment, a bias evaluation run on a test set, or a policy stating that outputs must remain within acceptable bounds, none of these constitute the continuous risk management Article 9 describes. They are prerequisites, not controls. The distinction matters for audit exposure: when a regulator asks for evidence that a high-risk system operated within its defined parameters between deployment and review, the only answer that satisfies the question is a log with timestamps, thresholds, and outcomes.
Openlayer: runtime enforcement and automated compliance mapping

Where most governance tools stop at documentation and observation, Openlayer adds a third layer: active enforcement at inference time. When a request reaches your AI system, Openlayer's guardrails check it against your configured policies before any output crosses the API boundary. If a response fails a groundedness check below 85%, contains toxicity probability above 0.15, or violates a defined content policy, it gets blocked, not logged after the fact.
The architecture spans the full AI lifecycle instead of a single phase. During development, evaluation runs against 100+ pre-built tests covering safety, fairness, and performance. In production, the same policy definitions that governed pre-deployment testing continue running as live enforcement gates, so the thresholds your team approved during evaluation are the thresholds enforced in production, with no manual translation between environments.
Automated compliance mapping connects enforcement activity directly to regulatory evidence. When Openlayer blocks an output or flags a drift event, that action generates a structured record: the metric score, the threshold breached, the policy rule triggered, and the timestamp. Those records become the audit trail auditors review during conformity assessments, not a separate documentation exercise.
Three capabilities are worth noting:
- LLM-as-a-judge evaluation gives teams a scalable signal on output quality that holds up under audit scrutiny without requiring manual review at every inference.
- SDKs in Python, TypeScript, Java, and Go let enforcement logic integrate at the application layer regardless of your stack, so runtime policy controls sit inside the serving path instead of operating as an external proxy.
- Demographic parity monitoring flags when outcome gaps across protected groups exceed configured thresholds, for example a 5 percentage point difference in selection rates, producing the adverse impact documentation that EEOC compliance requires.
The practical result is that compliance evidence accumulates as a byproduct of normal operation, not as a separate reporting task that runs after an audit request arrives.
Final thoughts on runtime AI policy enforcement
You can document every policy threshold your team approved and still produce non-compliant outputs if nothing checks those thresholds at inference time. The distinction between observability and enforcement is the distinction between knowing a violation happened and stopping it before it ships. Runtime controls don't replace governance documentation but they prevent the lag between when behavior drifts and when a human sees evidence of it.
That lag has a concrete cost. Under the EU AI Act, a high-risk system that drifts out of compliance in week two of a quarter and goes undetected until the next review cycle has produced non-compliant outputs for weeks, outputs that are logged but not stopped. Article 9's continuous risk management obligation isn't satisfied by a log that records what went wrong; it requires controls that were active while inference was running. The audit trail that satisfies Article 43 conformity assessment isn't a report written after an incident. It's a per-request record showing that each output was checked, the threshold it was checked against, and whether it passed or was blocked.
The practical question for engineering and compliance teams isn't whether to add enforcement gates. It's where they attach and what they cover. A block action at the API boundary on a toxicity threshold of 0.15 is a different control than a warn action that routes a flagged output to a reviewer queue. Each carries different latency costs, different false-positive rates, and different audit postures. Getting those tradeoffs right before a model goes into a regulated context is far less costly than reconstructing a compliance record after a regulator asks for evidence of continuous oversight.
If you're operating high-risk systems where that gap creates regulatory or safety exposure, let's talk about how enforcement gates integrate into your serving path.
FAQ
Runtime AI policy enforcement vs compliance documentation: what's the actual difference?
Compliance documentation records what a system was designed to do (training data provenance, risk classifications, evaluation results) while runtime AI policy enforcement checks actual behavior against defined thresholds at every inference and blocks outputs that violate policy before they reach users. Documentation satisfies audit requirements for frameworks like the EU AI Act's Annex IV, but it cannot intercept a drifting model or a prompt injection mid-session. Both are necessary, but they operate at different points in the AI lifecycle and protect against different failure modes: documentation shows what you built, enforcement controls what it does right now.
Can I meet EU AI Act high-risk system obligations with just compliance documentation?
No. The EU AI Act Article 9 requires a risk management system that operates continuously across the AI system's lifecycle, not a one-time pre-deployment assessment. Article 72 requires post-market monitoring that collects live performance data and feeds incident reports to national authorities within 15 days of serious events. When a model drifts in production (for example, when demographic parity gap widens from an approved 3 percentage points to 7 percentage points) your documentation still shows a compliant system while the running system is not. Meeting these obligations requires active behavioral monitoring and runtime enforcement, not archival records alone.
What's the difference between how Credo AI and Openlayer handle AI governance?
Credo AI covers policy documentation, risk assessments, and compliance tracking (recording what policies exist and generating evidence that governance processes were followed) but does not monitor live model outputs, enforce behavioral thresholds at inference time, or block responses that violate defined policies. Openlayer covers all three layers: policy definition and compliance mapping, production monitoring with configurable alert thresholds, and active enforcement gates that block or reroute outputs at inference time. A toxicity threshold documented in Credo AI remains a record of intent; the same threshold configured in Openlayer becomes an active gate that stops non-compliant outputs before they leave the API boundary.
Where does runtime enforcement actually sit in my AI architecture?
Runtime enforcement sits between the model itself and the application layer that surfaces outputs to users, intercepting responses before they reach downstream systems or end users. There are three positions where enforcement controls attach: pre-inference (filtering inputs before they reach the model), post-inference (blocking responses that fail toxicity, groundedness, or topic checks after generation but before return), and session-level (checking conversation arcs instead of single turns). Compliance documentation has no presence at any of these positions. Enforcement controls are the only mechanism that acts before an output leaves the API boundary.
How do runtime enforcement actions map to EU AI Act Article 14 human oversight requirements?
Article 14 requires that high-risk systems be designed so humans can intervene, override, or halt the system and runtime enforcement makes this concrete. When a guardrail flags an output as non-compliant, the system pauses for review before that output reaches a user. The five enforcement actions (allow with logging, warn, block, redact, escalate) give teams control over how outputs are handled based on risk: blocking stops policy-violating responses at the API boundary, escalation routes held outputs to a human reviewer queue before delivery, and warn surfaces violations to reviewers while still delivering the output. The pause or block is the oversight mechanism the Act requires, and the timestamped enforcement records become the audit trail auditors inspect during Article 43 conformity assessment.





