What Fervio asks 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 user:email "Full control of private repositories" appears Public and private
Public repos only public_repo project user:email 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.

user:email reads your verified email address, and nothing else about your account. It is there so that signing in with GitHub, with Linear, or with an email link all land on the same Fervio account. Fervio does not send you anything except the sign-in link you ask for.

What it reads on GitHub

When youIt readsNeeds
Pick a ProjectThe names of the Projects you ownproject
Open a mapThe Project's items, and the title, state, assignee, estimate, labels and sub-task progress of the issues on themproject and repo
Open a cardThat issue's description, plus the assignees and labels you can pick from. One card at a time, fetched when you open itrepo
See release rowsThe milestone on each issuerepo
Import issuesRepository names and the titles of open issuesrepo
Pick an organization ProjectThe names of organizations you belong toread:org

If you signed in with public repositories only, every repo above becomes public_repo, and only public issues are read.

What it writes on GitHub

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 youIt writesNeeds
Map a Project for the first timeCreates two fields, Journey and Stepproject
Add a journey or a stepAdds one option to that fieldproject
Start using sprintsCreates one Iteration field with three two-week cyclesproject
Move a card to another sprintChanges that card's Iteration valueproject
Move a card across the boardChanges that card's Status valueproject
Move a card across columnsChanges that card's Journey / Step valueproject
Move a card to another release rowChanges the milestone on the real issuerepo
Create a cardCreates one issue and puts it on the Projectrepo and project
Import an existing issuePuts that issue on the Projectproject
Change a card's stateChanges that card's Status valueproject
Change the assigneeReplaces who the issue is assigned torepo
Change the estimateChanges the value of the Project's estimate fieldproject
Add or remove labelsReplaces the labels on that issuerepo
Edit the descriptionOverwrites that issue's bodyrepo
Remove a card from the mapRemoves the item from the Project. The issue itself is not deletedproject
Start from a new ProjectCreates one Projectproject
Delete a Project Fervio createdDeletes that Project, after you confirm. Only ones Fervio madeproject

Signing in with Linear

Linear asks for read, write and issues:create. Linear has no repositories and no source code, so there is no equivalent of the line above that makes people pause — the consent screen says what it means. Fervio reads teams, projects, issues, cycles and labels, and writes only issues and the labels that hold the map together.

What it reads on Linear

To do thisIt readsScope
Create a boardThe names of the teams you belong toread
Open a mapThe team's projects, issues, cycles and labels, and each issue's title, state, assignee, estimate, due date, labels and sub-task progressread
Show the journey bandsInitiative names, and the projects under themread
Open a cardThat issue's description. One card at a time, fetched when you open itread

What it writes on Linear

When youIt writesScope
Move a card to another columnChanges the project that issue belongs towrite
Move a card to another sprintChanges that issue's cyclewrite
Move a card to another release rowSwaps the release label on that issuewrite
Edit the descriptionOverwrites that issue's descriptionwrite
Create a cardCreates one issueissues:create
Remove a card from the mapArchives that issuewrite
Add a stepCreates one projectwrite
Add a journeyCreates one initiative and links projects to itwrite
Add a release rowCreates one label that belongs to Ferviowrite

Changing a state, assignee, estimate or labels from the card panel works on GitHub only, for now. On Linear the card panel edits the description.

Nothing outside these two tables is ever written.

What it never touches

SubjectTreatment
Source codeNever read. There is no call to any file-contents API anywhere in the program
Pull requestsNeither read nor written
Repository settings, webhooks, ActionsNever touched
Deleting issuesNever. 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

If you are still uneasy

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].

Sign in, private repositories included