Your AI Agent's Data Boundaries Are Probably Undocumented: How to Define Them Before Go-Live
Most teams discover their AI agent's real permissions the hard way: after go-live, during an audit, or after an incident. This post breaks down excessive agency from the OWASP LLM Top 10, shows what a real data-boundary map looks like, and uses PolicyFlow as proof that scoping upfront is fast, cheap, and exactly what pre-budget season calls for.
The Failure Mode: A Read-Only Connection That Wasn't
Here's how it usually goes. Someone on the team wires an agent into the CRM "just for context," so it can pull account history before drafting a response or flagging a lead. Nobody writes anything down. Three weeks into production, that same agent is quietly influencing which leads get escalated, which accounts get flagged as churn risks, and which support tickets get auto-closed. No one gave it write access. No one had to. It got there through recommendation, through sequencing, through being the thing three other systems now silently trust.
That's excessive agency, and it's number six on the OWASP LLM Top 10 for a reason: it's not a hypothetical, it's the default outcome of skipping one document. The agent didn't do anything malicious. It did exactly what a helpful, context-aware system does when nobody told it where the fence was.
And here's the part that stings during budget season: this almost never gets caught before go-live. It gets caught during an audit, a security review, or the postmortem after a decision went sideways and everyone asks the same question. Who approved this agent touching that system? The answer is usually: nobody approved it, because nobody wrote down that it needed approval.
Why This Is a Documentation Problem, Not a Model Problem
Teams spend real effort tuning prompts, picking a vector store, benchmarking retrieval quality. Then they connect the agent to Salesforce, or a claims database, or an internal ticketing system, and treat that connection as plumbing instead of policy.
It isn't plumbing. Every system connection is a decision about what the agent is allowed to see and do, and that decision needs to exist somewhere other than the config file for a Python script. If your AI security posture lives entirely in code and nowhere in a document a CISO could read in ten minutes, you don't have a security posture. You have a hope.
This is the same accountability gap we've written about before: most AI pilots die from an accountability gap, not a technology gap. Boundary-mapping is the specific, concrete version of that problem applied to data and system access. It's fixable in an afternoon of whiteboarding. It's expensive to fix after the fact, because by then the agent has a track record of actions taken under undocumented assumptions, and untangling which of those actions were fine versus which were scope creep is its own audit project.
What a Real Data-Boundary Map Looks Like
A boundary map a CISO would actually sign off on isn't a paragraph in a Slack thread. It's a document with rows and columns. Specifically:
System-by-system access tiers
Every system the agent touches, listed by name, with an access tier next to it: read-only, read-with-summarize, write-with-review, or full write. "The agent can read claims data" is not a tier. "The agent has read-only access to the claims intake table, no access to the payout table" is.
RAG source allowlists
If you're using retrieval-augmented generation, name the exact indexes and document sets the agent can pull from. Not "our knowledge base," but the specific collections, with anything containing PII, contracts, or unreleased pricing explicitly excluded unless there's a written reason it's in scope.
MCP tool permissions, tool by tool
If your agent has access to tools via MCP, each tool gets its own line: what it does, what triggers it, and whether it executes automatically or requires a human to fire it. "The agent can call the refund tool" is a liability. "The agent can call the refund tool for amounts under $50 and must escalate anything above that" is a boundary.
Explicit recommend-versus-execute lines
For anything that qualifies as a high-stakes decision (pricing, underwriting, account termination, anything with legal or financial consequence) the map states plainly: agent may recommend, human must execute. Not implied. Written.
This is also where the human handoff question comes back around: even a well-scoped agent still needs a clean point where a person takes over, which is exactly the gap covered in the handoff to your human gatekeeper. Boundaries and handoffs are two sides of the same document.
Why Now Is the Cheap Time to Do This
Budget season is when next year's AI roadmap gets pitched, and roadmaps built on top of undocumented boundaries are roadmaps built on sand. Every workflow you propose for next year inherits whatever scoping discipline (or lack of it) your current pilot already has. If nobody's mapped the boundaries on what's live now, that gap doesn't disappear when the roadmap gets funded. It compounds.
Mapping this now, before you're asking for more budget to expand access to more systems, is the highest-leverage two weeks you can spend. This is exactly the kind of gap our AI Opportunity & Readiness Sprint is built to surface: a fixed two-week engagement that produces the boundary map, the access tiers, and the executable plan, before a single production system gets touched with undocumented assumptions attached.
Proof: Scoping Upfront, Not Patched In Later
PolicyFlow is the clearest example we have of what happens when boundaries get defined before the build instead of after an incident. It's an AI-powered insurance data intake workflow, which means the stakes on data boundaries are not theoretical: wrong access scoping in insurance intake touches PII, underwriting inputs, and regulatory exposure all at once.
One senior engineer plus an AI co-pilot shipped PolicyFlow in three months. A traditional four-person team would have taken twelve. The speed didn't come from skipping the governance work. It came from doing the boundary-mapping and scoping discipline upfront, as part of the build, instead of as a retrofit after the pilot had already touched live policyholder data with no documented limits. Scoping the right access tiers on day one is what let the team move fast on everything else.
Write the Document Before You Expand the Pilot
If your current AI workflow has an agent connected to more than one system and you can't point to a document that names, system by system, what it's allowed to read, write, or execute, you have exactly the gap this post describes. It won't show up in a demo. It shows up in an audit, or worse, in a decision nobody meant to hand to a machine.
Download the AI security and governance playbook to see the actual data-boundary mapping exercise we run before any production build, then bring it into your budget conversation as the scoping document your next AI pilot needs before it touches a single real system.
Frequently asked
What is excessive agency in AI agents?
Excessive agency is one of the OWASP LLM Top 10 risks. It happens when an AI agent has more access, permissions, or decision-making influence than its actual task requires, usually because nobody scoped it. A read-only CRM connection meant to add context can quietly become the input that drives write decisions no one approved.
How do you define data access boundaries for an AI agent?
Write a boundary map before you build: list every system the agent touches, tag each connection as read, write, or execute, name the exact RAG sources it can query, define MCP tool permissions per tool, and mark which decisions require human sign-off. This takes days, not months, if you do it before deployment.
When should you map AI data boundaries: before or after a pilot?
Before. Mapping boundaries during a two-week readiness sprint costs a fraction of retrofitting access controls after a pilot has already touched production data undocumented. Once an agent has live access without a written boundary map, unwinding it means auditing every action it's already taken.
Building AI into real operations is what we do.
Start a conversation