Skip to content

Flows in VB-OS

Flows define what happens after a boundary evaluation. They are directed acyclic graphs (DAGs) that route evaluation outcomes to governed actions: sending webhooks, creating notifications, or writing log entries.

A flow definition contains:

  • Nodes: typed processing units (trigger, evidence, boundary, condition, assert_action, defer_action)
  • Edges: directed connections between nodes, with optional labels for branching
Type Purpose
trigger Entry point. Exactly one per flow, zero incoming edges
evidence Declares expected evidence fields
boundary The evaluation point. Exactly one per flow
condition Branches on an evidence field value (true/false)
assert_action Terminal node on the ASSERT branch. Fires an action
defer_action Terminal node on the DEFER branch. Fires an action

When a boundary evaluation completes:

  1. The platform finds active flow deployments matching the evaluation’s environment and boundary version
  2. For each match, it creates a flow execution record
  3. Starting from the boundary node, it follows the edge matching the decision (ASSERT or DEFER)
  4. At condition nodes, it evaluates evidence field comparisons and follows the matching branch
  5. For each reachable action node, it creates and processes an action dispatch (webhook, notification, or log)
Evaluation completes (ASSERT or DEFER)
|
v
Flow matches on environment + boundary version
|
v
Boundary node
|
|--- "assert" edge ---> condition? ---> assert_action (webhook / notification / log)
|
|--- "defer" edge ----> defer_action (webhook / notification / log)

Flows are versioned. Each version contains the full DAG definition (nodes and edges). Version immutability ensures that a flow execution is reproducible.

DRAFT --> APPROVED

Only draft versions can be edited. Once approved, a version is immutable and can be deployed.

Send evaluation results to external systems. Use evidence_disclosure_projection to control which evidence fields appear in the webhook payload.

Create platform notifications when a boundary produces DEFER, alerting operators to review.

Use condition nodes to check evidence field values and route to different actions. For example, transactions over a threshold route to a different webhook endpoint.

  • Evaluations: what produces the ASSERT or DEFER verdict
  • Boundaries: the evaluation rules that flows react to
  • Connectors: evidence acquisition before evaluation