Skip to main content
Governance

How to Set Guardrails for AI Agents Before They Reach Production

Learn how to set practical guardrails for AI agents — input, action, output, and rate limits — before they touch anything that matters.

August 21, 20263 min readNuroen team

An agent on a road with lane barriers — input, action, output, and rate guardrails.

The scariest agent I ever saw wasn't the one that failed. It was the one that worked perfectly — right up until it did something irreversible that nobody had thought to block.

That's the thing about guardrails: you notice they're missing only after the action you can't take back.

So let's make them concrete. Not "be careful" — actual guardrails you can put in place before an agent goes live.

What a Guardrail Actually Is

A guardrail is an automatic limit that blocks a disallowed action in the moment it's attempted — no human consulted, no debate. It's for the bright-line rules you never want crossed.

That's different from oversight (a human judgment call) and from audit (a record after the fact). Guardrails are the hard "no."

The Four Types You Actually Need

Most teams think of guardrails as one thing. There are really four, and they catch different failures.

TypeBlocksExample
InputBad or unsafe instructions coming inReject a prompt trying to override system rules
ActionDangerous operations going outDeny any DELETE on production data
OutputHarmful or wrong results leavingStop a response that leaks a customer's PII
RateToo much, too fastCap outbound emails at 50/hour

Skip any one and you've left a door open. Input guardrails without action guardrails, for instance, means a perfectly clean prompt can still trigger a catastrophic operation downstream.

Start With Blast Radius, Not Rules

Before writing a single guardrail, sort every action the agent can take into three buckets:

  • Read-only — looks but can't change anything. Lowest risk.
  • Reversible — can change things, but you can undo it. Medium risk.
  • Irreversible — can't be taken back: deletions, payments, sent messages, external API calls. Highest risk.

Your guardrails should be strictest on the irreversible bucket and lightest on read-only. This one sorting exercise tells you where to spend your effort.

A Concrete Example

An outbound-sales agent is told to "follow up with everyone who hasn't replied."

Without guardrails, "everyone" turns out to be 12,000 contacts, and it starts firing emails at full speed — including to people who unsubscribed last week.

With four guardrails in place:

  • Input: the instruction is scoped to a defined segment, not "everyone."
  • Action: the agent can't email any address flagged as unsubscribed.
  • Output: each draft is checked for the required unsubscribe footer before sending.
  • Rate: sends are capped at 50/hour, so a mistake is caught after 50, not 12,000.

Same agent, same instruction. One version is a lawsuit; the other is a Tuesday.

The Setup Workflow

Here's the sequence to put guardrails in place before launch:

  1. Inventory the action surface. List every tool, API, and permission the agent can reach. You can't guard what you haven't listed.
  2. Tag each action by blast radius. Read-only, reversible, irreversible.
  3. Write one guardrail per irreversible action first. These are the ones you can't undo — start here.
  4. Add input and output guards. Catch bad instructions coming in and bad results going out.
  5. Set rate limits on anything that acts in bulk. Emails, API calls, record changes.
  6. Test in shadow mode. Let the agent propose actions without executing, and confirm the guardrails would have fired. This surfaces gaps no design review catches.

A dedicated governance layer like Nuroen is meant to be where these guardrails live — applied across every agent centrally, rather than re-coded into each one.

Why This Matters

Every agent looks safe in a demo. Demos don't include the angry-Monday edge case, the malformed input, or the instruction taken too literally.

Guardrails are what stand between "the agent worked" and "the agent worked, and nothing irreversible happened while we weren't looking." Put them in before production — because the alternative is learning where they were missing, the expensive way.