Microsoft Project Online retires September 30, 2026, migrate to a modern platform before it's too late.Start migration
Back to BlogExample AI Agent Governance Policy, Published in Full
AI & Innovation

Example AI Agent Governance Policy, Published in Full

An example AI agent governance policy, published in full: permission tiers, a deny-by-default destructive list, what needs a person, and audit retention.

Onplana TeamSeptember 1, 20265 min read

Ask ten companies running AI agents against real project work for their actual governance policy, and nine will hand over a slide of principles that has never been tested against an incident. Here is ours, unabridged, because a policy nobody has tried to break is not a policy yet. It's a draft with good intentions.

The direct answer: this is an example AI agent governance policy in full, not a template: four permission tiers scoped by what an agent actually does today, a destructive-action list enforced as a technical block rather than a written expectation, a quarterly review cadence that moves tiers up or down based on real incident data, and a named owner for every agent connection currently running. The clauses that matter are the ones a template always leaves generic: exactly what's on the destructive-action list, and exactly who signs off when a tier changes.

TL;DR

This is a real, currently-enforced AI agent governance policy, published so other teams can cite or adapt it rather than start from a values statement. It assigns four permission tiers by task scope, blocks a named list of destructive actions at the credential layer, requires a human ratification step before anything on that list could otherwise commit, and reviews every tier quarterly plus immediately after any near-miss. The parts worth stealing are the destructive-action list itself and the rule that a tier change needs a named approver and a written reason, not a meeting where everyone nods.

The Four Permission Tiers in This Example AI Agent Governance Policy

Every agent connection in this policy is assigned one of four tiers before it runs its first task, and the tier determines what gets reviewed and when, not just what the agent is nominally allowed to attempt.

  1. Tier 1, draft-and-wait. The agent proposes a change and stops. Nothing it produces becomes real until a person applies it. This is the default for any agent class on its first thirty days of real work.
  2. Tier 2, apply-with-pre-review. The agent's output goes live only after a person reviews the specific action, not a sample of past actions. Used for anything touching a live schedule, budget field, or external-facing document.
  3. Tier 3, apply-with-post-review. The agent's actions commit immediately and get sampled for review afterward. Reserved for agent classes with a clean acceptance record over at least two full quarters at Tier 2.
  4. Tier 4, apply-unattended. Reserved for narrow, mechanical, fully checkable actions, closing a task once a linked deliverable is verified complete, for example, where the check itself is deterministic rather than a judgment call.

The five levels of AI agent autonomy is the framework these four tiers map onto; this policy is what that framework looks like once it's written down as an enforceable document instead of a conceptual scale. No agent class starts above Tier 1, and moving up requires the evidence in the section below, not a manager's confidence that it's probably fine now.

The Destructive-Action List, in Full

This is the clause most policies leave vague, so here it is exactly as written. No agent connection covered by this policy, at any tier, may do the following without an explicit human ratification step immediately before the action commits:

Action Why it's on the list
Permanent delete of a project, task, or document (past the recycle-bin recovery window) Irreversible once the retention window closes
Any external send: email, webhook to a third party, published app content Cannot be recalled once it leaves the system
Budget or contract commitment above a per-tier dollar threshold Financial exposure that outlives the task that created it
Changing another user's permission scope or role A privilege change is how a small mistake becomes a large one
Bulk action above 50 records in a single call Caps blast radius regardless of how correctly the identity was scoped

The list is enforced at the permission layer the agent's credentials pass through, not inside the agent's instructions. Guardrails versus permissions covers why that distinction is the whole policy: a rule that lives only in a prompt holds only as long as nothing in the agent's context argues persuasively against it, and a task comment worded like a routine, authorized request looks the same to a model as one that actually is.

The diagram below shows how a request moves through this policy before anything on the destructive-action list can commit.

How a request clears this policy before a destructive action commits AGENT REQUEST e.g. "delete stale tasks" TIER CHECK Is this action inside what this tier allows? Passes: tier is correct LISTED? On the destructive list? HUMAN RATIFIES no exceptions, any tier A Tier 4 agent still stops here if the action is on the list. The tier never overrides the list.

Audit Retention and Credential Handling

Every agent action is logged with the trigger that started it, the data it read or changed, and the connection that authorized it, retained for twelve months and exportable on request. Credentials follow the job, not the person who requested them: a connection is scoped to the specific task class it runs today, re-scoped the moment that job changes, and revoked immediately when the agent class it belongs to is retired. Who is accountable when an agent is wrong covers what happens when this clause is skipped: accountability doesn't disappear, it just lands on whoever approved skipping it, later, with less evidence to work from.

What Changed After the One Time This Policy Was Tested

The policy's review clause isn't theoretical. A connection scoped to a broader role than the task in front of it needed was caught in a routine audit pass, not by a real-time alert, the same incident what broke when agents joined our team describes in full. The response the policy required: revoke that connection immediately, without touching any other agent's access, then narrow every other connection's scope to the job it does today rather than the role it was issued under. That change is now clause language, not a lesson kept in someone's head.

Publishing the real document, near-misses included, is worth more to another PMO writing its own policy than a clean template would be. The rest of the Onplana blog's AI and Innovation coverage covers the adjacent decisions this policy assumes are already made, including where PMO policy for autonomous agents should draw its lines before the first incident, and the full security posture this policy's audit and credential clauses sit inside.

example ai agent governance policyreal ai policy exampleagent governance in practicepublished ai usage policyAI Agent PolicyAgent GovernanceOnplana

Frequently asked questions

What does this AI agent governance policy actually cover?

Four permission tiers by agent scope, a destructive-action list that's a hard technical block rather than a guideline, an audit retention window, and a named owner for every agent connection currently running. It's the operating document, not a values statement.

Why publish the real policy instead of a template?

A template describes what a policy could say. This is what one company's policy actually says, including the parts that are inconvenient, like which agent classes lost autonomy after a near-miss and why. Other teams cite and adapt real policies far more than they adapt templates.

Can an agent covered by this policy destroy something irreversible?

Not through the policy's intended path: irreversible deletes, external sends without a hold state, and any budget or contract commitment sit on a destructive-action list enforced at the credential layer, not just written down. The honest caveat is that this only holds as far as the permission scope is actually configured to match the document, which is why the policy requires a quarterly audit of the two against each other.

Who is accountable when this policy allows something that turns out wrong?

Whoever signed the policy and set the tier assignments for that agent class, the same as owning a credential you issued to a person. The policy names this explicitly rather than leaving it to be worked out after an incident.

Can someone steer an agent around this policy through a comment or a task description?

They can try, and it's a real gap if the only defense is the agent's instructions. This policy assumes a comment reads as content the agent weighs, not a verified request, so the destructive-action list is enforced where the agent's credentials touch the system, not inside the prompt where a persuasive comment could argue its way past a rule.

Does the policy cap what an agent can spend or consume, not just what it can touch?

Yes. Every agent's usage draws down a metered token balance tied to the seat it runs under, so a runaway loop shows up as balance consumption in the dashboard rather than a surprise at the end of a billing cycle. The policy treats a usage spike as a signal to review scope, not just a cost to absorb.

Can an agent's access under this policy be turned off if something looks wrong?

Yes, per connection, immediately, without touching any other agent's access. That's the mechanism that let the review process in this policy actually work the one time it was tested: revoke the one connection in question, keep everything else running.

How often does this policy get reviewed?

Quarterly for the full document, and immediately after any near-miss regardless of where that falls on the calendar. A tier assignment can move down after an incident or up after two clean quarters, and both moves require the same named approver and a written reason attached to the record.

Ready to make the switch?

Start your free Onplana account and import your existing projects in minutes.