Summary
The steps
Decide where in the workflow safety checks should run
Before placing the Safety node, decide at which point in the workflow execution the safety check should occur. The Safety node propagates to every downstream agent call from its position in the graph, so placement determines scope.
Three common placement patterns:
- Before the first agent: Place the Safety node between the Start node (or a User Interaction node that collects input) and the first Agent Interaction node. This checks the incoming content before any agent processes it, ensuring that user-supplied input is screened before it reaches your AI agents.
- Between agents: Place the Safety node between two Agent Interaction nodes. This checks the output of the first agent before it becomes the input context for the second, catching policy violations in intermediate outputs.
- Before a Human Review or output step: Place the Safety node before a Human Review node or a final output step. This ensures that content reaching a human reviewer or an external destination has already passed your compliance checks.
Because the Safety node propagates guardrails to every downstream agent call, placing it earlier in the graph gives it broader scope. A Safety node placed immediately after the Start node covers the entire workflow. A Safety node placed midway covers only the second half. Choose placement based on where the risk of policy violation is highest in your specific workflow.
Do this- Map the workflow on paper or in a notes document before opening the editor: identify where user input enters the graph, where agents run, and where output leaves the workflow.
- Identify the point at which a safety check would have the broadest useful scope without blocking content that does not need to be checked.
- Note whether you need one Safety node or multiple (for example, one to screen incoming user input and one to screen agent output before delivery).
ExampleYou are building a customer-facing content generation workflow. A User Interaction node collects a topic brief from the user. An Agent Interaction node drafts the content. A Human Review node lets an editor approve it. You place the Safety node between the User Interaction node and the Agent Interaction node, so the user's brief is screened before the agent processes it, and the guardrails propagate to the agent's processing of that content.
Best practice- If your workflow has branches (via a Routing node), consider whether each branch needs its own Safety node or whether a single Safety node placed before the branch covers all paths.
- Use an Information node next to the Safety node to annotate what policies it enforces. This makes the graph self-documenting for future editors who may not be familiar with the policy configuration.
Drag the Safety node onto the canvas
Open the Workflow Editor for your workflow. In the Node Palette on the left, locate the Safety node. It is marked with a teal shield icon. Click and drag it from the palette onto the canvas and release it at the position where you want it in the workflow sequence.
Once dropped, the node appears on the canvas with its default label "Safety". Click the node to select it and open the Properties Panel on the right. Change the label in the Properties Panel to describe what this Safety node checks, for example "Screen User Input" or "Compliance Check Before Delivery". Self-documenting labels make the graph readable at a glance.
Do this- Locate the Safety node (teal shield icon) in the Node Palette on the left sidebar.
- Click and drag it onto the canvas. Drop it at the position you identified in Step 1.
- Click the node to open the Properties Panel.
- Change the label to describe the specific safety check this node performs.
ExampleYou drag the Safety node onto the canvas and drop it between the User Interaction node and the Agent Interaction node. You rename it "Screen User Brief" in the Properties Panel. The canvas now shows: Start, User Interaction (Collect Brief), Safety (Screen User Brief), Agent Interaction (Draft Content), Human Review (Editor Approval), End.
Best practice- Name the Safety node after the content it is checking, not after the policy it enforces. "Screen User Brief" is more readable than "PII Policy Check" when scanning the graph quickly.
- If you need multiple Safety nodes in the same workflow, give each a distinct name that identifies its position and purpose.
Connect the Safety node with edges
The Safety node must be connected into the workflow sequence with two edges: one incoming (from the upstream node) and one outgoing (to the downstream node). Without both edges, the Safety node is isolated and the instance will not reach it.
To create an edge, hover over the source handle (the small circle at the bottom of the upstream node) until it highlights, then click and drag to the target handle (the small circle at the top of the Safety node) and release. Repeat to create the outgoing edge from the Safety node to the downstream node.
Connections must go from a source handle (bottom) to a target handle (top). You cannot connect source-to-source or target-to-target.
After connecting the Safety node, verify the graph still has a complete path from Start to End. Every path in the workflow must lead to an End node. Dangling paths can cause instances to hang at runtime.
Do this- Hover over the bottom handle of the upstream node. Click and drag to the top handle of the Safety node. Release to create the incoming edge.
- Hover over the bottom handle of the Safety node. Click and drag to the top handle of the downstream node. Release to create the outgoing edge.
- Confirm both edges appear as animated lines in the correct direction.
- Verify the complete path from Start to End is unbroken.
ExampleYou drag from the bottom of "Collect Brief" (User Interaction) to the top of "Screen User Brief" (Safety). Then from the bottom of "Screen User Brief" to the top of "Draft Content" (Agent Interaction). The Safety node is now in the sequence. The path reads: Start, Collect Brief, Screen User Brief, Draft Content, Editor Approval, End.
Best practice- If the Safety node may generate a task (for example, when flagged content requires human review before proceeding), plan for that task path. The Safety node can create tasks in some configurations. Ensure the task path also leads to an End node.
- Use the node and edge counter in the top-right panel badge to confirm the expected number of connections after adding the Safety node.
Configure the Safety node in the Properties Panel
With the Safety node selected, the Properties Panel on the right shows the configuration sections available for this node type. Configure the safety policies and behavior that this node should enforce.
The Safety node runs content safety and compliance checks and can flag or block content that violates your configured policies. The propagation behavior is key: once configured, the Safety node's guardrails apply to every downstream agent call in the workflow from this node's position forward. You configure the policies once on the node; downstream agents do not need individual safety configuration.
Review the available configuration sections in the Properties Panel for the Safety node:
- Fields: Defines which workflow fields the safety check evaluates. Configure this to point the check at the content that needs screening, for example the field containing the user's input or the agent's output.
- Input / Output Ports: Defines the named output ports from which edges can originate. If the Safety node branches (for example, a "pass" port and a "flagged" port), configure the port names and routing criteria here.
Configure the policy settings according to the options available in your workspace. The specific policy types and their configuration options are set in the Properties Panel sections for this node.
Do this- Select the Safety node and open the Properties Panel.
- Review the Fields section. Configure which workflow field or fields the safety check evaluates.
- Review the Input / Output Ports section. If the Safety node has multiple output ports (pass and flagged), configure the port names and the routing criteria for each.
- Save a version after configuring the Safety node so the configuration is preserved.
ExampleYou select "Screen User Brief" in the Properties Panel. In the Fields section, you configure the check to evaluate the field containing the user's topic brief. You confirm the output ports: a default pass port leading to "Draft Content", and a flagged port that leads to a Human Review node where a moderator can review the flagged content before deciding whether to proceed or end the instance.
Best practice- Test the Safety node configuration with content that should pass and content that should be flagged. Confirm both paths behave as expected before deploying the workflow to production users.
- If the Safety node can create a task (when flagged content requires human review), assign the task to a user or role with the appropriate context to make a moderation decision. Configure this in the User Assignment section of the Properties Panel if available for this node type.
Handle the flagged path: branch or block
When the Safety node flags content that violates a configured policy, the instance must follow a defined path. There are two design patterns for handling flagged content:
- Block and end: The flagged path leads directly to an End node. The instance terminates when content is flagged. Use this when flagged content should never proceed under any circumstances.
- Flag and review: The flagged path leads to a Human Review node (or a task for a moderator). A human reviews the flagged content and decides whether to allow it to proceed or end the instance. Use this when some flagged content may be legitimate and warrants human judgment before blocking.
To implement either pattern, connect the Safety node's flagged output port to the appropriate downstream node. If you are using a Routing node to make the branching logic explicit, connect the Safety node to the Routing node first, then configure the Routing node's branches for the pass and flagged outcomes.
Ensure the flagged path leads to an End node in all cases. A flagged path that has no End node will cause the instance to hang if content is flagged.
Do this- Decide whether flagged content should block immediately (End node) or route to human review (Human Review node).
- If using a Human Review node for flagged content, drag one onto the canvas and connect the Safety node's flagged port to it.
- Connect the Human Review node's outcomes to the appropriate End nodes: one for approved (content proceeds) and one for rejected (instance ends).
- If blocking immediately, connect the Safety node's flagged port directly to an End node.
- Verify all paths from the Safety node lead to an End node.
ExampleYou add a Human Review node labeled "Moderator Review" and connect the Safety node's flagged port to it. The Moderator Review node has two outcomes: approved (the content proceeds to "Draft Content") and rejected (the instance ends at a dedicated "Blocked" End node). The pass port from the Safety node connects directly to "Draft Content". All paths now lead to an End node.
Best practice- Use a dedicated End node for the blocked outcome with a label like "Blocked: Policy Violation" rather than routing to the same End node as successful completions. This makes instance outcomes distinguishable in reporting.
- If your workflow has multiple Safety nodes, ensure each one has a complete flagged path. A Safety node midway through a long workflow with no flagged path is a runtime risk.
Save a version and test both paths
When the Safety node is configured, connected, and its flagged path is handled, click Save Version in the top-right corner of the editor. This creates a new immutable version of the workflow graph. Previous versions are preserved.
Run two test instances to verify both paths through the Safety node:
- Test the pass path: Submit content that should pass the safety check. Confirm the instance advances past the Safety node to the downstream agent or review step. Confirm the downstream agent operates within the guardrails propagated by the Safety node.
- Test the flagged path: Submit content that should be flagged by the safety check. Confirm the instance follows the flagged path: either terminating at the blocked End node or routing to the Human Review node for moderation.
If the pass path does not advance as expected, check the output port configuration on the Safety node and the routing rules on any downstream Routing node. If the flagged path does not trigger, verify the policy configuration and the field being evaluated.
Do this- Click Save Version in the top-right corner. Confirm the version is saved.
- Start a test instance with content that should pass the safety check. Confirm the instance advances past the Safety node.
- Start a second test instance with content that should be flagged. Confirm the instance follows the flagged path correctly.
- If either path fails, review the Safety node configuration, port settings, and routing rules. Save a corrected version and retest.
ExampleFirst test: you submit a standard topic brief. The Safety node passes it, the instance reaches "Draft Content", the agent runs, and the instance proceeds to "Editor Approval". Pass path confirmed. Second test: you submit a brief containing content that violates your configured policy. The Safety node flags it, the instance routes to "Moderator Review", and a task appears in the moderator's Task Inbox. Flagged path confirmed.
Best practice- Test with realistic content from your actual use case, not synthetic examples. Edge cases in real user input often reveal policy configuration gaps that synthetic tests miss.
- Save a version after each successful test. This gives you a clean restore point and a version history that documents the evolution of the safety configuration.
What the Safety node does
The Safety node (teal shield icon, code safety) is one of ten node types in the DAVE Workflow Editor. It runs content safety and compliance checks at a defined point in the workflow graph, flags or blocks content that violates your configured policies, and propagates those guardrails to every downstream agent call from its position forward.
The propagation behavior is the key architectural property of the Safety node. You do not configure safety policies on each individual Agent Interaction node. You place the Safety node at the appropriate point in the graph, configure it once, and every agent that runs downstream of it operates within the guardrails it defines. This means a single Safety node can cover an entire downstream section of a workflow, regardless of how many Agent Interaction or Agent Review nodes follow it.
The Safety node differs from the other review node types in a specific way:
- Human Review creates a task for a human to make a judgment call. It does not enforce a policy automatically.
- Agent Review invokes an AI agent to evaluate content against defined criteria. It does not enforce a compliance policy.
- Safety enforces configured policies automatically, without human involvement or an AI agent. It is a compliance mechanism, not a quality judgment mechanism.
The Safety node can create tasks in some configurations, for example when flagged content is routed to a human moderator for review rather than blocked outright. Whether it creates a task depends on how the flagged path is designed in the workflow graph.
Placement and scope: where to put the Safety node
The Safety node's position in the workflow graph determines its scope. Because it propagates guardrails to every downstream agent call, earlier placement means broader coverage.
Screening incoming user input
Placing the Safety node immediately after a User Interaction node screens the content that users submit before any agent processes it. This is the broadest placement: the guardrails apply to every agent in the workflow. It is the right choice when user input is the primary source of policy risk, for example in customer-facing workflows where users can submit arbitrary text.
Screening agent output before delivery
Placing the Safety node after an Agent Interaction node and before a Human Review or output step screens the agent's output before it reaches a human or an external system. This is the right choice when the risk is in the agent's output rather than the user's input, for example when an agent generates content that will be published or sent to customers.
Multiple Safety nodes in one workflow
You can place more than one Safety node in a workflow. A workflow that collects user input, processes it through multiple agents, and delivers output to customers might use one Safety node to screen the input and a second to screen the final output. Each Safety node propagates its guardrails to the agents downstream of its position. The two Safety nodes can enforce different policies appropriate to the content at each stage.
Safety nodes and branching
If your workflow branches via a Routing node, a Safety node placed before the branch covers all downstream paths. A Safety node placed on one branch covers only that branch. Design placement based on which paths carry policy risk and which do not.
Flagged versus blocked: designing the policy response
When the Safety node detects a policy violation, the instance must follow a defined response path. The two fundamental response patterns are block and flag-for-review.
Block: immediate termination
The flagged output port connects directly to an End node. When content violates the policy, the instance ends immediately. No human reviews the content. No agent processes it further. This is the appropriate response when the policy violation is severe enough that no exception is possible, for example content that violates legal requirements or contains prohibited material with no legitimate use case in your workflow.
Flag for review: human moderation
The flagged output port connects to a Human Review node. A moderator receives a task in their Task Inbox, reviews the flagged content, and decides whether to allow it to proceed or end the instance. This is the appropriate response when some flagged content may be legitimate, for example when a safety policy is conservative and may flag edge cases that a human reviewer would approve.
Choosing between them
The choice depends on the consequence of a false positive: content that is flagged but should not have been. If false positives are acceptable (the cost of occasionally blocking legitimate content is lower than the cost of allowing policy violations through), use the block pattern. If false positives are not acceptable (blocking legitimate content would harm users or the business), use the flag-for-review pattern and accept the cost of human moderation time.
You can also combine the two: use a Routing node downstream of the Safety node to branch based on the severity of the violation, routing severe violations to an immediate End node and borderline cases to a Human Review node.
Who can configure the Safety node
The Workflow Editor is restricted to the Admin and Curate roles. Only users with one of these roles can open the editor, add or remove nodes, connect edges, configure node properties, and save new versions. Users with the Create, Use, Reporting, or Financial roles cannot access the editor.
DAVE ships with six default tenant roles: Admin, Create, Curate, Use, Reporting, and Financial. All roles are editable by your administrator.
For the flagged-for-review pattern, the moderator who reviews flagged content needs the Use role to access their Task Inbox and complete the review task. They do not need the Admin or Curate role. The moderation task appears in their Task Inbox like any other workflow task. They see the flagged content and the available decisions (approve to proceed, reject to end the instance) without access to the workflow graph or the Safety node configuration.
This separation of concerns is intentional: the workflow author (Admin or Curate role) designs the safety policy and the response path. The moderator (Use role) makes individual content decisions within the framework the workflow author has defined.
Frequently asked questions
Does the Safety node require an AI agent?
No. The Safety node does not require an agent. It runs content safety and compliance checks using its configured policies without invoking an AI agent. This distinguishes it from Agent Review, which does require an agent to perform its evaluation.
What happens if I place the Safety node after all the agents?
The Safety node propagates guardrails to every downstream agent call from its position forward. If it is placed after all agents, there are no downstream agents for it to propagate to. The node still runs its content check at that position, but the propagation effect has no downstream agents to cover. Place the Safety node before the agents you want it to govern.
Can I have more than one Safety node in a workflow?
Yes. You can place multiple Safety nodes at different points in the workflow graph. Each propagates its guardrails to the agents downstream of its own position. Different Safety nodes can enforce different policies appropriate to the content at each stage.
Does the Safety node slow down the workflow?
The Safety node runs its checks synchronously as part of the workflow execution. The instance does not advance past the Safety node until the check completes. For most policy checks this is fast. If the Safety node is configured to route flagged content to a Human Review node, the instance waits for the moderator to complete the task before proceeding, which introduces a human-paced delay on the flagged path only.
Can I use the Safety node without connecting a flagged path?
You can save a workflow with a Safety node that has no flagged path, but this is a design risk. If the node flags content at runtime and there is no outgoing edge on the flagged port, the instance may hang or fail at that node. Always connect all output ports to a downstream node, and ensure all paths lead to an End node.
Who can complete a moderation task created by the Safety node?
Any user with the Use role who is assigned to the task can complete it. Task assignment is configured in the User Assignment section of the Safety node's Properties Panel. Users with the Use role access their tasks through the Task Inbox.