Why This Exists
Many teams are interested in coding agents, but the usual integration model is crude. The agent reads the repository and also holds the credential that can push branches or open pull requests directly. That makes experimentation easy, but it also collapses two very different jobs into one permission:
- reading repository state
- creating repository impact
Those jobs should not be treated as interchangeable. Reading state is necessary for any useful coding workflow. Writing to GitHub is different. It creates review objects, CI load, branch noise, and the possibility of real downstream effects from stale or malformed requests.
GitHub Gateway exists to separate those steps. The agent can still propose work, but the write path no longer depends on trusting every agent process with direct GitHub write credentials.
What GitHub Gateway Does
GitHub Gateway sits between an agent and repository writes. The agent submits a structured intent. The Gateway checks whether that request is in scope for the target repository and branch, whether the requested paths are allowed by policy, whether the declared source state still matches GitHub, and whether the content fits the current boundary rules. Only then can the request become a reviewable pull request.
This produces a very different operational model from "let the agent push and see what happens." The Gateway can return outcomes such as:
- admitted
- reused
- follow-up completed
- blocked
- conflict
- verification required
Those outcomes matter because they tell the operator whether there was any real repository impact. A blocked or conflicted request is still useful information, but it does not create a branch, commit, or pull request in the target repository.
How To Read This Section
Start here if you want the product model before the protocol details. These pages stay at the level of operating model, evaluation story, and boundary claims. They explain why proposal and impact are separated, why the GitHub App private key belongs to the Gateway rather than the agent, what the self-hosted self-hosted demonstrates on a real repository, and what the product deliberately does not claim.
The technical setup, JSON schema, policy file details, and step-by-step operator flow live in the GitHub Gateway technical documentation under ../githubrepo/index.md. That is the right place to go once the product model makes sense and you want exact setup or protocol detail.
The Core Distinctions
GitHub Gateway is not presented here as a generic AI slogan. It has a narrow, specific job: controlling agentic write impact on GitHub repositories.
The most important design choice is credential separation. The agent does not need GitHub write access. It may hold a Runner Key for Gateway submission and, when needed, a read-only GitHub token for repository state. The GitHub App private key belongs to the Gateway write identity, not to the agent.
The product also draws a hard line between impact control and correctness claims. Admission does not mean semantic correctness. The Gateway does not review code quality, replace CI, or replace human review. It places an explicit decision boundary before repository writes are materialized.
What Self-hosted GitHub Gateway v1.3 Demonstrates
Self-hosted GitHub Gateway v1.3 is the current serious evaluation path. It runs locally, uses Docker, keeps its local state and credentials under operator control, and demonstrates the core repository outcomes on a test repository.
Self-hosted GitHub Gateway v1.3 is useful because it turns the product claim into something inspectable. You can see a blocked path produce no pull request. You can see an allowed config change create a reviewable pull request. You can see equivalent requests reuse an existing Gateway-created pull request. You can see a validated follow-up update the same pull request. And you can see stale state stop a request before write impact.
That is a stronger product story than abstract language about governance or safety. It is concrete, observable behavior tied to repository impact.
What This Product Does Not Claim
Impact Boundary Labs is deliberately not making broad promises here.
GitHub Gateway does not claim to make agents safe in every sense. It does not claim to prevent every malicious action. It does not claim to prove that an agent understood the code it touched. It does not claim to replace code review, CI, branch protection, or broader security review.
The boundary is narrower and more defensible than that. It controls how a structured repository write request may become GitHub impact. That is already a meaningful improvement over giving every agent direct write power, but it is not a universal security layer.
Where To Go Next
If you are new to the product, continue with:
If you want the technical setup and protocol reference, continue with: