Audiences
Audiences let you set broad permissions based on who is accessing the repository, without needing to assign individual roles.
Audience Types
- Self — The repository owner or account. Controls what the owner can do on their own resources.
- Members — Any authenticated user who is a member of the repository. Use this for default read/write access.
- Public — Any authenticated user on the platform, even if they are not a member of the repository. Use this for public read access.
- Anonymous — Unauthenticated users. Use this carefully — it grants access to anyone visiting the platform.
Setting Audience Permissions
- Navigate to your repository's Settings.
- Go to the Permissions or Audiences section.
- For each audience, select which permissions to grant.
- Save your changes.
How Audiences Interact with Roles
Audience permissions serve as a fallback. If a member has no individual or role-based permission for an action, the platform checks audience permissions. If the action is not granted to any applicable audience, it is denied by default.
Example
To make a repository publicly readable but restrict writes to members only:
- Set Public audience: grant
repository.self.read. - Set Members audience: grant
repository.self.readandgit.ref.write.
See the Permissions Reference for all available permission keys and their descriptions.