---
title: Enforcement status
description: How Veefore decides whether an agent's actions are actually enforced, from evidence rather than connection state.
label: Enforcement status
---
Every runtime and every agent has an enforcement status. It is computed from
evidence, it is always a statement about a declared scope, and it never comes
from a connection, a clean scan or an installed node on its own.

| Status | Meaning |
| --- | --- |
| **Enforced within scope** | Every required control for the declared scope is verified with evidence. |
| **Partial** | Some paths are mediated; others (direct credentials, native connectors, customer administrators) remain outside Veefore. |
| **Unverified** | Veefore does not have enough evidence. |
| **At risk** | A bypass was detected, a control failed, or configuration changed after verification. |

Connection health is shown separately. A runtime can be **Connected** and **At
risk** at once.

## Controls

The status is the weakest outcome among the runtime's required controls. Each
control is **Verified**, **Failed** or **Unverified**, with references to the
evidence: verification runs, findings, attestations. The runtime page shows all
of them, with exclusions, assumptions, limitations and the remediation.

| Control fails | Status |
| --- | --- |
| A bypass in an active workflow, drift, a failed managed control | At risk |
| No completed or no fresh verification, no reachable runtime, nothing routed through Veefore | Unverified |
| Latent paths, stored credentials on a customer instance, controls Veefore cannot verify there | Partial |

## Ceilings

A runtime is never reported above what Veefore can prove for its kind:

| Runtime | Best possible | Why |
| --- | --- | --- |
| n8n — Veefore-managed | Enforced within scope | Veefore controls nodes, credentials and egress, and verifies each. |
| n8n — customer-owned | Partial | The customer can add direct paths at any time. |
| Claude and MCP clients | Partial | Connectors added in the client never reach Veefore. |
| ChatGPT and API platforms | Partial | Native connectors act outside Veefore. |
| SDK programs | Partial | Other code paths in the program are invisible. |

An agent's status is the weakest of its runtimes. An agent with no registered
runtime is **Unverified**.

## Re-evaluation

The status is recomputed on every verification, connection test, attestation,
accepted risk and settings change, and every assessment is kept with a hash of
its inputs. Workflow changes are detected every two minutes and re-verified.

## Fail closed

On a fail-closed runtime the gateway refuses the agent's protected actions
while the status is At risk or Unverified. Managed deployments always fail
closed; customer runtimes can opt in.
