---
eleventyNavigation:
key: RepositoryPermissions
title: Repository Permissions
parent: Collaborating
order: 50
---
When you invite collaborators to join your repository (see [Invite Collaborators](/collaborating/invite-collaborators)) or when you create teams for your organization (see [Create and Manage an Organization](/collaborating/create-organization)), you have to decide what each collaborator/team is allowed to do.
You can assign teams different levels of permission for each unit (e.g. issues, PRs, wiki).
## Profile and Visibility
The visibility of your repositories will depend on the visibility of your profile, as well as whether you have marked a repository as private. Let's break down what this means:
- If your profile's visibility is set to "Limited", _all_ of your non-private repositories will only be visible to logged in users.
- If your profile's visibility is set to "Public", _all_ of your non-private repositories will be shown to everyone.
- If you do not want anyone (apart from [your fellow collaborators](https://docs.codeberg.org/collaborating/invite-collaborators/)) to see your repositories, mark your repository as "Private".
The visibility of your profile can be changed in the [Privacy settings](https://codeberg.org/user/settings). Be careful when you set your profile's visibility to "Limited"; Even if a repository is public, users that are _not logged in_ will get a [404 error](https://en.wikipedia.org/wiki/HTTP_404) if they try to access your repository — it will seem as if it does not exist at all!
| Task | Read | Write | Admin | Owner |
|---|---|---|---|---|
| View, clone and pull repository | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Contribute pull requests | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Push to/update contributed pull requests | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Push directly to repository | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Merge pull requests | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Moderate/delete issues and comments | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Force-push/rewrite history (if enabled) | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Add/remove collaborators to repository | {% fas_icon "times" %} | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Configure branch settings (protect/unprotect, enable force-push) | {% fas_icon "times" %} | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Configure repository settings (enable wiki, issues, PRs, update profile) | {% fas_icon "times" %} | {% fas_icon "times" %} | {% fas_icon "check" %} | {% fas_icon "check" %} |
| Configure repository settings in the danger zone (transfer ownership, delete wiki data / repository, archive repository) | {% fas_icon "times" %} | {% fas_icon "times" %} | {% fas_icon "times" %} | {% fas_icon "check" %} |