Docs

Connect GitHub Enterprise Server.

Connect selected repos on your GitHub Enterprise Server through a GitHub App you create on that server. Perfloop reads their code and opens pull requests for approved changes. You review and merge them.

Access you need

Perfloop cannot approve or merge a pull request, deploy, or change repository settings. Keep your default branch protected and your review and CI requirements in place.

PR review

With PR review on, Perfloop posts a comment-only review on pull requests opened or committed to after you turn it on. The review lists unproven Hypotheses tied to the changed code, with comments on the changed lines. Perfloop does not review its own pull requests. Automatic review measures same-repo heads and reads fork code without running it.

PR review is off by default. An Admin turns it on per repo in Setup → Automatic work: set PR review to On, then select Save. See Autonomy and limits for what a review costs and how to work a finding.

Setup

1 · create the App

On your server, create a GitHub App with the permissions above. Generate a private key and keep it in a secret store. Install the App on the repos Perfloop may use.

2 · run the relay

Perfloop reaches your server only through the relay inside your network. Add a code-host relay upstream whose URL is your server's HTTPS origin, including a non-default port.

If your server uses a private certificate authority, have its public root CA certificates in PEM format ready. Perfloop checks the server's hostname and certificate; there is no option to turn TLS verification off.

3 · connect

As a workspace Admin, open Setup → Connections → Code host → GitHub Enterprise Server and select Connect GitHub Enterprise Server, or Connect another server when a server is already listed. Fill in the form:

Select Check. Perfloop reaches your server through the relay and checks the App, its installation and access to every listed repo. It lists the repos it found. Then select Connect to save the connection. If the check fails, the form says what to correct.

If the form says Perfloop could not reach your server, the relay's log names the network error.

This step has no MCP tool; an Admin does it in Setup. Never send the private key by email, in a chat or in an MCP call.

4 · choose the work

Automatic work is controlled in Setup → Automatic work. With Pull requests set to Ask, a proven change waits for your decision in Inbox before Perfloop opens its pull request. See Autonomy and limits.

Data Perfloop reads and keeps

Perfloop reads selected source code, repo metadata, and pull-request changes, checks and conversation. It keeps the system model, Cases and their proof, and the connection details needed to use those repos. The App private key is stored encrypted and is not given to coding agents or sandboxes.

Selected code, including private code, can enter model context through OpenAI, Anthropic Claude on Google Cloud Vertex AI, or Fireworks AI. No model provider is used without zero-data-retention terms confirmed first. Perfloop does not use your code to train models. Where enabled, Research and security work can use Fireworks AI. See Security for data handling.

Change the key or repo selection

To rotate the private key or change the repos, the Admin selects Reconnect on the server's row in Setup, chooses the current key file, enters the complete repo list, then selects Check and Reconnect. The new list replaces the previous selection. A reconnect keeps the server, App and installation. Delete a replaced key in the App's settings on your server.

Remove access

Select Delete on the server's row in Setup and confirm. This works whether the server is connected or disconnected. Perfloop deletes the key it stores, its repos leave your selection, and the row disappears. Open pull requests stay on your server. Uninstall the App or delete its private key on your server to remove its access there too.

Deleting a connection does not delete Cases or proof already stored by Perfloop. Deleting the workspace removes its stored data. To use the server again, connect it again.

Security questions: security@perfloop.ai