Enforcement status
How Veefore decides whether an agent's actions are actually enforced, from evidence rather than connection state.
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.