What Fervio asks GitHub for
Signing in takes you to GitHub's consent screen. Using Fervio with private repositories means granting broad access — GitHub's own rules leave no narrower option — and this page explains why. Last updated 9 August 2026.
The part that will make you pause
GitHub's screen will say "Full control of private repositories." That is strong wording, and pausing there is the right instinct.
Those words are GitHub's, not Fervio's. GitHub offers no issues-only permission, so working with issues in a private repository means asking for the broad one. There is no narrower option to pick.
So what you can grant and what gets used are two different things. The next section spells out which part of that gap GitHub enforces, and which part is only a promise from the code.
The scope cannot be narrowed
The most misread part first. GitHub's repo is one
all-or-nothing scope. There is no mechanism on GitHub's side to hand over
"issues only" or "everything except code."
So the token you grant can technically read your source code. Fervio does not read it because the program never calls that API — not because GitHub is stopping it. That is a "does not," not a "cannot," and it is worth stating plainly.
There is a mechanism with fine-grained permissions (GitHub Apps), but it cannot reach Projects owned by a personal account (checked August 2026). Opening a personal Project leaves no other option than this one.
There is exactly one narrowing that GitHub itself enforces: signing in
with public repositories only (public_repo). On that path
Fervio cannot reach private repositories at all. That one is not a
promise — GitHub stops it.
Ways in, and what each hands over
What you hand over depends on which sign-in you use. The names in code are GitHub's own scopes, and the consent screen is organised around exactly these.
| Way in | Scopes granted | On the consent screen | What it can reach |
|---|---|---|---|
| Private repos included (default) | repo project |
"Full control of private repositories" appears | Public and private |
| Public repos only | public_repo project |
That line never appears | Public repositories only |
| Organization Projects too | Adds read:org |
Reading your org membership is added | Projects owned by an organization |
| Viewing a shared link | No sign-in at all | Nothing is read | The shared snapshot |
read:org is never asked of everyone up front.
It is requested at the moment you decide to open an organization Project.
What it reads
| When you | It reads | Needs |
|---|---|---|
| Pick a Project | The names of the Projects you own | project |
| Open a map | The Project's items, and the title, state and assignee of the issues on them | project and repo |
| See release rows | The milestone on each issue | repo |
| Import issues | Repository names and the titles of open issues | repo |
| Pick an organization Project | The names of organizations you belong to | read:org |
If you signed in with public repositories only, every repo
above becomes public_repo, and only public issues are read.
What it writes
Nothing is written unless you do something in the interface. Opening a map, or leaving it open, writes nothing. There is no background job.
| When you | It writes | Needs |
|---|---|---|
| Map a Project for the first time | Creates two fields, Journey and Step | project |
| Add a journey or a step | Adds one option to that field | project |
| Start using sprints | Creates one Iteration field with three two-week cycles | project |
| Move a card to another sprint | Changes that card's Iteration value | project |
| Move a card across the board | Changes that card's Status value | project |
| Move a card across columns | Changes that card's Journey / Step value | project |
| Move a card to another release row | Changes the milestone on the real issue | repo |
| Create a card | Creates one issue and puts it on the Project | repo and project |
| Import an existing issue | Puts that issue on the Project | project |
| Remove a card from the map | Removes the item from the Project. The issue itself is not deleted | project |
| Start from a new Project | Creates one Project | project |
| Delete a Project Fervio created | Deletes that Project, after you confirm. Only ones Fervio made | project |
Nothing outside this table is ever written.
What it never touches
| Subject | Treatment |
|---|---|
| Source code | Never read. There is no call to any file-contents API anywhere in the program |
| Issue bodies | Never read. Only the title and state reach the map |
| Pull requests | Neither read nor written |
| Repository settings, webhooks, Actions | Never touched |
| Deleting issues | Never. Removing a card leaves the issue on GitHub |
Public repositories only
If you have no plans to touch private repositories, you can sign in with public access only. That path never shows "Full control of private repositories."
Issues in private repositories will not appear on the map. If you change your mind later, sign in again and the scopes are added.
Start with public repositories only
Organization Projects
Some organizations require third-party applications to be approved. Until Fervio is approved, its Projects will not appear in the list. An organization owner can approve it under Settings → Third-party access on GitHub.
If you are still uneasy
- Revoke at any time. Under Settings → Applications on GitHub, revoking Fervio's access stops it reading or writing anything from that moment on. Your map layout stays on Fervio's side, but nothing on GitHub is touched.
- Try it on a throwaway account. A second GitHub account with one Project in it is the safest way to see what this actually does.
Organization Projects
Opening a Project owned by an organization asks for one extra permission — read:org, which reads the list of organizations you belong to — and only at the moment you choose the organization path. It is never requested up front.
Some organizations also require third-party apps to be approved. If yours does, the Projects will not appear until an organization owner approves Fervio under Settings → Third-party access.
When this changes
If Fervio ever asks for more, this page changes first. The privacy page lists what is stored in a form you can count. Questions go to [email protected].