# GitHub permissions overview

TestVibe works with GitHub because your tests, generated files, workflows, secrets, and run artifacts live in your repository. Access is controlled by the TestVibe GitHub App installation and by your GitHub user or team permissions.

## What TestVibe Uses GitHub For

| Area                      | Why it matters                                                           |
| ------------------------- | ------------------------------------------------------------------------ |
| Repository contents       | Read feature files and tests, and write generated output.                |
| GitHub Actions            | Start generation and test run workflows.                                 |
| Workflow status           | Show live progress, completion, and failure states in TestVibe.          |
| Artifacts                 | Display screenshots, videos, traces, logs, and reports.                  |
| Secrets and variables     | Store provider keys, credentials, and workflow configuration.            |
| Pull requests or branches | Support generated changes when your workflow creates reviewable updates. |

## Who Can Change Access

| Access type             | Usually managed by                                  |
| ----------------------- | --------------------------------------------------- |
| GitHub App installation | Organization owner or repository admin.             |
| Repository inclusion    | Organization owner or repository admin.             |
| Team access             | Organization owner or team maintainer.              |
| Repository secrets      | Repository admin, depending on organization policy. |
| Runner access           | Repository or organization admin.                   |

## Good Defaults

Use the narrowest access that still lets your team work:

* install TestVibe only for repositories that need it
* grant team access through GitHub teams where possible
* store secrets at repository scope unless your organization intentionally shares them
* review self-hosted runner access before using private network resources

## Troubleshooting Access

If something is missing or blocked, start with the visible symptom:

* [Missing repositories](/troubleshooting/missing-repositories.md)
* [GitHub App permissions](/troubleshooting/github-app-permissions.md)
* [Missing secrets](/troubleshooting/missing-secrets.md)
* [Troubleshoot runners](/runners/troubleshooting-runners.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.testvibe.com/reference/github-permissions-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
