> ## Documentation Index
> Fetch the complete documentation index at: https://docs.entire.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mirror Access and Permissions

> Understand how repository mirror access follows GitHub collaborator permissions.

Entire uses GitHub collaborator permissions to decide who can use a repository mirror.

A mirror has two access requirements:

* **GitHub App access** lets Entire see and mirror the source repository.
* **GitHub collaborator access** controls who can clone, fetch, and push through the `entire://` remote.

Entire syncs GitHub collaborators into mirror access hourly. There is no separate Entire-side permission list to grant or revoke manually.

## Before users can create or join mirrors

For organization repositories, a GitHub organization admin must install the Entire GitHub App and allow it to access the repository. See [GitHub App Access](/guides/repositories/github-app-access) for the GitHub App setup flow.

Each user should also sign in with the Entire CLI:

```bash theme={null}
entire login
```

This connects the user's Entire account to their GitHub identity so Entire can check repository access.

## Hourly collaborator sync

Entire checks the GitHub collaborator list hourly and updates mirror access from that list.

A read-only GitHub collaborator can clone and fetch from the mirror. A GitHub collaborator with write access can also push through the mirror.

GitHub access changes can take up to an hour to appear in Entire. If a GitHub collaborator has not signed in to Entire yet, automatic access can take up to an hour after they sign in.

## User self-onboarding

After the GitHub App is installed, a user with access to the GitHub repository can create or join the mirror:

```bash theme={null}
entire login
entire repo mirror create github.com/OWNER/REPO
```

If the mirror does not exist yet, Entire creates it. If the mirror already exists, the command checks the current user's GitHub access and returns the mirror URL.

## Check mirror access

GitHub admins and repository owners can list the users who currently have mirror access:

```bash theme={null}
entire repo mirror collaborators list github.com/OWNER/REPO
```

This command is read-only. To change who can use the mirror, update collaborator access in GitHub and wait for the next hourly sync.

## Offboard a user

When you offboard a user, remove their GitHub access. Entire mirror access is updated by the hourly collaborator sync.

<Warning>
  After GitHub access is removed, the user can no longer push through the mirror because pushes are authenticated with GitHub. Clone and fetch access may continue until the next hourly collaborator sync.
</Warning>

## Continue with

<CardGroup cols={2}>
  <Card title="Mirrors" icon="clone" href="/guides/repositories/mirrors">
    Learn how mirrors make GitHub repositories available in Entire.
  </Card>

  <Card title="repo" icon="terminal" href="/cli-reference/repo">
    See the command syntax for repository and mirror commands.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/guides/repositories/troubleshooting">
    Fix mirror setup, access, clone, fetch, and push issues.
  </Card>
</CardGroup>
