Reference

Repositories

Connect the source repositories SyftOS governs, so every AI-authored pull request becomes a governed change-review gated by a distinct human approver and sealed onto the tamper-evident audit chain.

What this area is for

The Repositories page is where you register the codebases SyftOS watches over. Once a repository is connected, pull requests opened by your coding agents are turned into governed change-reviews, and a status check on the merge holds the pull request until a human approves it.

The page also shows your governed-repository capacity: how many repositories you have connected against your plan's limit. Each connected repository consumes one slot; disconnecting one frees it again.

Connecting a repository

There are two ways to connect, depending on how your platform is set up.

SyftOS reads the diff and gates the merge — it never runs your code. When connecting manually, use the Generate button to create a strong webhook signing secret, then paste the same value into GitHub (Settings → Webhooks → Secret) so each delivery can be proven genuine.

What you configure

When you connect a repository you set the rules SyftOS enforces. Sensible defaults are filled in, so adjust only what you need:

Each connected repository card shows its provider, default branch, registered status-check name, the configured rules, and whether its webhook secret and access token are configured — the secret material itself is write-only and is never shown again after you submit it.

Per-repository policy

Use Policy on a repository card to publish a policy version: policy-as-code over which coding agents may author which paths, the diff-size ceiling, secret scanning, danger-class escalation, the required CI checks and whether a distinct human approver is required.

Published policies are immutable. Editing does not change an existing version. It publishes the next one, so the full policy history is preserved. The editor opens showing the rules currently in force (the latest version, or the values captured when the repository was connected if none has been published yet), and each card lists its policy versions newest-first.

Disconnecting, permissions and audit

Disconnecting a repository stops it being governed and frees a governed-repository slot. It is graceful and history-preserving: a repository that already has governed change-reviews is soft-disconnected so its immutable history is retained, while one with no history is removed outright. Existing change-reviews and attestations always stay on the audit chain.

The entire surface (connecting, configuring, publishing policy and disconnecting) is gated by the repos.manage permission (Owner and Admin roles). Connecting a new repository additionally requires your plan to include code governance; without it you will see an upgrade prompt rather than the connect controls. The server enforces both, so cross-tenant access resolves as a 404, never a leak.

Next steps