Enterprise Guardrails
for AI Agents
AI coding agents are powerful, and increasingly dangerous without proper controls. CoderFlow provides the governance layer that prevents autonomous agents from becoming autonomous disasters.
The Problem: Powerful Agents, Zero Guardrails
In March 2026, an AI coding agent wiped 1.9 million rows from a production database, including the backups. Every command the agent executed was technically correct. It simply didn't know it was operating on a live system, because the knowledge that distinguished real infrastructure from temporary copies existed only in the engineer's head.
This wasn't a freak accident. It's the predictable outcome of running powerful autonomous agents with no structural guardrails. The agent was running on a developer's laptop with full system access: production credentials, live databases, deployment pipelines, all reachable with no approval process in the way.
The core issue isn't agent intelligence. It's agent governance. AI agents are excellent at executing tasks. They are terrible at understanding which tasks should never be executed without human judgment. And the more capable agents become, the more damage they can do when operating without boundaries.
CoderFlow was built to solve this problem. Not by limiting what agents can do, but by controlling where they do it and requiring human approval before anything leaves the sandbox.
Nothing Ships Without Human Approval
CoderFlow's most fundamental guardrail: agents cannot commit, push, or deploy code autonomously. Every change requires explicit human sign-off. There is no configuration option, override, or workaround that allows agents to bypass this gate.
How the approval workflow operates
- Agent generates changes: All work happens inside an isolated container. The agent produces code changes as reviewable patches (unified diffs), not direct edits to your repositories.
- Human reviews all changes: A reviewer inspects every file change through the CoderFlow web interface, seeing exactly what will be modified.
- Human provides commit message and approves: The reviewer writes a commit message and explicitly authorizes the changes. Commits are attributed to the approver, not the agent.
- Changes are committed and optionally pushed: Only after approval does code leave the container. The reviewer chooses the target branch and whether to push.
Task
Created
Executes
Review
Commit
Every approval is recorded with full metadata: who approved, when, the commit message used, which branch was targeted, and whether the push succeeded.
Container Isolation: Agents Can't Reach Production
Every CoderFlow task runs inside an isolated Docker container with no privileged access. Agents physically cannot reach systems they aren't explicitly granted access to.
- One container per task: Each task spawns a dedicated container with its own filesystem, network context, and resource limits. Tasks cannot access each other's processes or data.
- Non-root execution: All agent commands execute as the
coderuser (non-root). No privilege escalation is possible. - Read-only mounts: Sensitive files, setup scripts, and cleanup scripts are mounted read-only. Agents can read what they need but cannot modify system-level resources or alter their own execution environment.
- No Docker socket access: The Docker socket is never mounted into task containers, preventing container escape via the Docker API.
- Preserved for inspection: Containers are kept after task completion for audit and debugging, not auto-removed.
Scoped Role-Based Access Control
CoderFlow enforces granular permissions that control exactly who can do what, in which environment. Access is scoped, not global.
Five predefined roles
- Viewer: Read-only access to task results and environment configuration
- Developer: Can create and execute tasks, but cannot approve or deploy
- Environment Admin: Manages environment configuration, repos, and deployment profiles
- Team Admin: Manages team membership and role assignments
- Server Admin: Full platform administration including server-wide settings
Per-environment scoping
Permissions are bound per-environment through a binding model of Subject + Role + Environment. The same user can be a Developer in staging and a Viewer in production. This means production access can be restricted to a small group of senior engineers without limiting development velocity.
Escalation prevention
Users can only assign roles that are subsets of their own permissions. A Team Admin cannot grant Server Admin privileges. A Developer cannot grant themselves approval rights. This prevents privilege creep through the UI.
Every API endpoint enforces permissions through middleware. There is no way to bypass access controls through direct API calls.
Admin-Defined Deployment Profiles
Deployments in CoderFlow are not freeform commands. They are structured, admin-defined profiles that execute predetermined steps with full tracking.
- Admin-defined profiles: Deployment profiles are created by administrators as shell scripts with metadata. Developers and agents trigger them; they don't write them.
- Isolated execution: Each deployment runs in its own container, separate from the agent's workspace, preventing interference between build and deploy steps.
- Full history: Every deployment records which profile was used, who triggered it, all parameters, complete output, and the exit status. History is maintained per-environment with a configurable retention policy.
- Permission-gated: Only users with the
deployments:executepermission can trigger deployments. This permission is granted per-environment through the RBAC system. - Branch protection: Commits target specific branches, and agents can create new branches to prevent accidental overwrites of protected code.
Secrets Never Leave Your Control
Credentials, API keys, and service accounts are managed by the platform and never exposed to AI models or embedded in agent-generated code.
- Per-environment scoping: Secrets are isolated per-environment. Production credentials are never available in development contexts, and vice versa.
- Separate contexts: Secrets are configurable for different operational contexts (task execution vs. deployment), so agents only see what they need for the current operation.
- Read-only mounts: All secret files are mounted read-only into containers. Agents cannot modify, export, or redirect credentials.
- Models never see credentials: Cloud AI models (Claude, OpenAI, Gemini) never receive credentials or secrets. Only minimal code context is sent to models; all execution happens locally within your infrastructure.
Git as an Immutable Safety Net
Every code change flows through Git with layered credential management and provider-side enforcement of branch protection rules.
Token resolution hierarchy
Git credentials follow a resolution hierarchy: User OAuth tokens take precedence, falling back to Team Providers, and then Server Providers. This ensures the right credentials are used for the right context, and that no single credential grants broader access than intended.
Provider-side enforcement
CoderFlow works within your existing Git provider's security model, not around it:
- Branch protection rules enforced by GitHub/Azure DevOps apply to all pushes, including those from CoderFlow containers
- Required pull request reviews add a second human approval touchpoint through your existing review process
- Required status checks ensure CI/CD pipelines pass before code is merged
- Repository selection is explicit; repositories not granted to the App are completely invisible to CoderFlow
Credentials are never stored in code or patches. They're resolved at execution time by the platform. Per-repository token selection ensures different repos can use different credential sources.
Complete Audit Trail
Every action taken within CoderFlow is recorded, traceable, and available for compliance review.
- Task metadata persistence: Task data is persisted to disk, not held in ephemeral memory that disappears when a container stops.
- Approval chain: Every approval records who created the task, what changes were generated, who approved them, the commit message, the target branch, and the push result.
- Deployment history: A rolling record per environment captures which profile was used, who triggered it, all parameters, complete output, and exit status.
- Judge task records: Read-only AI review tasks generate their own audit records separate from modification tasks.
- Dual audit trail: All commits and pushes are tracked by both CoderFlow and your Git provider, creating independent, corroborating records.
Read-Only AI Review
Not every AI interaction needs write access. CoderFlow's judge tasks give AI agents read-only access for code review, analysis, and validation, without any ability to modify repositories.
- Strictly read-only: Judge tasks can analyze code, evaluate quality, check for security issues, and provide recommendations, but cannot make any changes.
- Parallel evaluation: Multiple judges can evaluate the same work simultaneously, comparing approaches and flagging concerns from different perspectives.
- Feeds into approval: Judge output is presented alongside code changes in the review interface, giving human reviewers AI-assisted analysis without AI-driven modification.
- Separate audit records: Judge tasks produce their own audit trail, distinct from modification tasks, so it's always clear which AI interactions were advisory vs. productive.
Comparison: Desktop AI vs. CoderFlow
The following table compares the security model of an AI coding agent running on a developer's laptop versus running inside CoderFlow:
| Security Aspect | Desktop Agent (Laptop) | CoderFlow (Managed Platform) |
|---|---|---|
| Code deployment | Agent can push directly to any branch | Human approval required; branch protection enforced by Git provider |
| Blast radius | Entire developer machine and all accessible systems | Single isolated container per task |
| Credential access | All credentials on developer machine (SSH, API keys, DB passwords) | Per-environment secrets, read-only, never sent to AI models |
| Production access | If developer has prod access, agent has prod access | Scoped RBAC; same user can be Developer in staging, Viewer in prod |
| Deployment process | Agent can improvise any deployment approach | Admin-defined profiles; agents trigger, they don't author |
| Audit trail | Local shell history (if not cleared) | Full task logs, approval records, deployment history, dual Git trail |
| Cross-task isolation | None (shared machine, shared filesystem) | Complete (separate containers per task) |
| User privilege | Developer's own user (often admin/sudo) | Non-root coder user inside container |
| Database access | Agent can run any SQL against any reachable database | Agent works in ephemeral workspace; changes require approval to reach production |
Defense in Depth: Multiple Layers, No Single Point of Failure
CoderFlow's security architecture is not one guardrail. It's multiple overlapping layers. Any single layer would significantly reduce risk. Together, they create a system where catastrophic agent failures are structurally prevented, not just discouraged.
Approval Gates
Agents cannot commit, push, or deploy without explicit human approval. No overrides, no exceptions, no configuration to disable.
Container Isolation
Every task runs in a non-privileged, isolated Docker container. Agents can't reach systems outside their sandbox.
Scoped RBAC
Granular, per-environment permissions with escalation prevention. Access is explicitly granted, never inherited from the developer's machine.
Patch-Based Workflow
Agent changes are generated as reviewable diffs, not direct edits. Humans see exactly what will change before anything is applied.
Controlled Deployments
Admin-defined deployment profiles with full history tracking. Agents trigger predetermined processes, they don't improvise them.
Secrets Isolation
Per-environment secrets, read-only mounts, separate task and deployment contexts. Credentials never reach AI models.
Git Provider Enforcement
Branch protection, required reviews, and status checks enforced server-side by GitHub/Azure DevOps. Your existing safeguards remain in force.
Complete Audit Trail
Every action recorded with full metadata. Approvals, deployments, and changes are traceable end-to-end for compliance.
Contact a Futurization Expert
Ready to bring enterprise guardrails to your AI coding workflow? Our futurization team can help you evaluate CoderFlow for your environment.