Skip to main content

The deploy gate step

The deploy gate is the pipeline step of Production Change Protection, the AtlaSent Protection Pack for production deploys and infrastructure changes. You can also use it on its own from the developer plans. The deploy gate places a fail-closed authorization check in front of every production deployment. Before any code reaches production — whether triggered by a human, a CI/CD pipeline, or an AI agent — AtlaSent evaluates the request against your policies and either issues a single-use permit or blocks the action. If the evaluation returns anything other than allow, the deployment does not run. This is different from a CI approval gate. An approval gate checks whether a PR was approved before merge. The deploy gate checks whether this specific deployment, at this moment, by this actor is authorized to execute. The distinction matters for AI agents, after-hours deploys, and high-risk targets.

The flow

No permit = no deploy. On network error, timeout, or any unexpected response, the action fails closed.

Setup

GitHub Actions

If the policy allows the deployment and the permit verifies, the gate step passes and sets verified to true. If not, it fails with the denial reason. Gate the deploy step on verified, not on decision.

TypeScript SDK

Python SDK

What policies can require

  • Approval count — minimum number of PR approvals before a deploy is permitted
  • Change window — restrict deploys to business hours or a scheduled maintenance window
  • Manual approval for high-risk — route AI-triggered or high-blast-radius deploys to a human reviewer
  • Quorum requirements — multi-party approval for critical infrastructure changes
See Policy authoring for the full rule syntax.

Why this matters for AI agents

AI coding assistants and autonomous agents can trigger deployments. An agent with write access to a CI system can push a commit and trigger a workflow run without a human approving the deploy step. The deploy gate intercepts that trigger before it reaches production:
A policy can require manual_approval: true for any deploy where the actor is an AI agent, so no agent ships to production unilaterally regardless of what the CI configuration says.

Audit trail

Every deploy gate call produces a tamper-evident audit record: The chain is append-only and hash-linked, so any change to a recorded decision after the fact is detectable.

Next steps