BackActive development
Active development2026Author

FlowPilot

AI control plane for Node-RED

An AI that drafts Node-RED flows in plain English and is not permitted to deploy one until it has survived five independent layers of validation.

Problem

Node-RED flows on a factory floor move physical things. An AI that writes one is useful; an AI that deploys one unchecked is a hazard, and the failure is not a bad diff — it is a robot doing something unexpected.

The interesting problem is not generation. It is what has to be true before a generated flow is allowed to run.

What I built

Generation behind a validation pipeline, and a deploy path that can undo itself.

  • Five-layer validation — JSON schema, node catalog, function-code static analysis, security scanning, sandboxed runtime simulation
  • Safe deployment with snapshots, approval gates, health checks and automatic rollback on failure
  • Live monitoring over SSE/WebSocket
  • Role-based permission engine gating tool use by risk level
  • Outbound-only connector tunnel, so the Node-RED instance is never exposed to the internet
  • Audit trail, local model support and a security preflight

Outbound-only by design

The connector tunnels outward from the Node-RED instance rather than accepting inbound connections. An industrial controller should not have an open port facing the internet regardless of how good the authentication is, and this removes the question entirely.

From a sentence to a deployed flow

Generation is the easy half. Everything after it exists because these flows move physical things, and a bad one is not a bad diff — it is a robot doing something unexpected.

  1. Describe the flow in plain English

  2. Five validation passes

    JSON schema — is it a well-formed flow at all
    Node catalog — do these nodes exist on this instance
    Static analysis of function code
    Security scan
    Sandboxed runtime simulation
  3. Any pass fails

    The flow does not reach the instance.

  4. Approval gate

    A role-based permission engine gates tool use by risk level; approval is not optional.

  5. Snapshot, then deploy

    Over an outbound-only connector tunnel — the Node-RED instance is never exposed to the internet.

  6. Health check after deploy

    Healthy — keep it, and record the audit trail
    Unhealthy — automatic rollback to the snapshot

The five passes

In order. A flow has to survive all of them before an approval gate is even offered.

PassCatches
JSON schemaMalformed flows, wrong shapes, missing wiring
Node catalogNodes that do not exist on the target instance
Function static analysisUnsafe or broken code inside function nodes
Security scanCredential exposure and dangerous operations
Sandboxed simulationWhat the flow actually does at runtime, before it touches hardware

Limitations and failure modes

  • Validation reduces the risk of a bad flow reaching hardware; it does not eliminate it. Approval gates are deliberately not optional.

Gallery

FlowPilot alongside a Node-RED UGV drive flow — drive controller, fault guard and an E-STOP latch selected for explanation
FlowPilot alongside a Node-RED UGV drive flow — drive controller, fault guard and an E-STOP latch selected for explanation

Attribution

Built by me
FlowPilot is mine. It came directly out of the Node-RED operator tooling built for the SMR300 deployment.

Related

  • SMR300

    Autonomy stack for a 300 kg industrial AMR

  • Continuum

    Open-source memory for AI coding agents