A personal AI assistant can summarize an email, draft a reply, send it, or delete the thread. Those actions need different authority. Permission to read a message should not quietly become permission to send one.
The same distinction matters when an AI agent investigates a cloud exposure. Reading a policy, proposing a change, applying it, and declaring the finding closed are separate decisions. Clear boundaries let teams automate useful preparation while keeping consequential changes reviewable.
An agent can act without a new approval when the action fits authority deliberately granted in advance. Define that authority by task, target, conditions, and limits. Require human approval when the proposed action exceeds those limits or needs a fresh judgment about its impact.
Decide what to delegate before the agent starts
Start with one recurring task. For example: collect specified configuration and audit evidence for a finding in a named test account, then prepare a proposed change. Name the owner, allowed resources, data handling rules, duration, and stop conditions. Read-only access still needs authorization: a log or object can contain sensitive data even when the agent cannot alter it.
Consider four questions before expanding that scope:
- Impact: could the action expose data, interrupt a service, delete something, or create a financial commitment?
- Predictability: are its target, dependencies, and likely effects understood?
- Recovery: can an authorized operator recover, and what could recovery itself affect?
- Evidence: can someone establish what happened and whether the required outcomes hold?
Bounded, repeatable work with observable results is a candidate for prior delegation. A production policy change with uncertain dependencies warrants review of the actual proposal. Reversibility alone is insufficient: restoring access after an outage does not erase the interruption.
Enforce AI agent permissions in tools and downstream systems. OWASP recommends restricted functionality, limited permissions, and human approval for high-impact actions, with authorization enforced beyond the model. OWASP: Excessive Agency. For AWS access, align allowed actions, resources, and conditions with the task, and use temporary workload credentials. AWS IAM best practices.
Make approval specific enough to enforce
A useful request shows the target and environment, operation, exact diff or arguments, required current state, expected service behavior, and expiry. It identifies both the authorized reviewer and the intended executor. The reviewer should understand what will change without reconstructing a chat.
Keep approval and execution as separate steps. At execution, check that authority remains valid and that the request still matches it. Reject denied, revoked, expired, or changed approval. A different target, operation, material argument, or failed precondition requires a new decision.
A reviewer approves removing one public-read grant while preserving an application grant. Another administrator updates the policy before execution. Stop, inspect the new state, and prepare a fresh proposal. Reusing the old approval could overwrite a change the reviewer never saw.
For an AWS permission change, use the policy review workflow to document the current policy, proposed policy, and required requests before asking for approval. The shared-role example shows why another workload’s access must be part of that decision.
A log entry or tool result saying “approved” cannot supply that authority. Treat collected content as evidence and enforce the decision through the authorized approval mechanism.
Follow one cloud change through both outcomes
Cotton’s interactive public-access case follows cotton-lab/canary.txt in the fictional cotton-demo-reports bucket. The proposal removes anonymous read access while retaining access for media-api. This synthetic S3 scenario makes no cloud requests and does not validate real AWS permissions.
For a real evaluation, establish the unwanted access and a working application baseline before the change. Agree what the application must still do. After authorized execution, collect fresh observations:
- Security: the unwanted read reaches the intended resource and is denied.
- Service: the intended application identity still reads the expected object through its required path.
A failed service check keeps the finding open. A missing check remains unknown. A timeout does not prove access was denied. Retain the target, caller, method, observation time, and evidence reference for both checks.
When applying this pattern to Amazon S3, inspect the actual policy and applicable controls. Block Public Access has no per-object setting, and AWS advises checking application behavior before restricting public access. Broader changes need broader checks. AWS S3 Block Public Access guidance.
Give verification separately governed evidence access and authority to withhold closure. Using another model or vendor alone does not establish that independence. The worked remediation article shows the fuller evidence record.
Resolve uncertainty before another change
If an execution request times out, mark its effect unknown and reconcile the target state with the recorded attempt. AWS explains why blindly retrying a request can create additional effects and how appropriate idempotent API contracts help. AWS: Making retries safe with idempotent APIs.
Check the particular operation’s retry behavior and current authority before another attempt. Recovery needs its own authorization and outcome checks. Restoring an earlier policy might restore the exposure too. Assign an owner to the unresolved outcome and keep closure blocked until the required evidence is available.
Test the boundaries before expanding autonomy
Ask an agent supplier to demonstrate rejected approval, substituted targets, changed policy state, expired authority, and a lost execution response in an isolated lab. Then test a successful security change that breaks the application, and a run with missing service evidence. Inspect downstream records to confirm blocked actions never reached the target.
Use Cotton’s ten-test evaluation checklist to record expected behavior, observed evidence, and stop decisions. Begin with one recurring workflow and expand delegation only when its authority boundaries and outcomes can be demonstrated.
Sources and scope
Permission and approval guidance reviewed 4 October 2026. The AWS policy-review links were added on 7 October 2026. The linked OWASP and AWS sources support the specific permission, S3, and retry guidance above. The decision framework is Cotton’s evaluation guidance. Credential management, data handling, tenant isolation, and wider supplier controls require their own review.
Bring one approval bottleneck to Cotton
Cotton is building AI security agents for cloud remediation, connecting validated exposures, approved changes, and verified outcomes. Its current public examples are synthetic demonstrations. Bring a recurring exposure, the change it needs, and the evidence your team requires to accept the result. Together, we can define a focused evaluation around that handoff.
Explore a design partnership