権限について
サインインの途中で、GitHub の許可画面が開きます。Fervio で非公開リポジトリを扱うには、GitHub 側のルールでどうしても広いアクセス権限を与える必要があり、その理由を説明します。最終更新 2026 年 8 月 9 日。
許可画面に出るアラート
GitHub の許可画面には、「Full control of private repositories」(非公開リポジトリへのフルアクセス) と表示されます。心配になる表示のため、ここで手が止まると思います。
この文言を決めているのは GitHub であって、Fervio ではありません。GitHub の許可には「課題だけを扱う」という選択肢がなく、非公開リポジトリの課題を読み書きするには、この広い許可を求めるしかないためです。
ただし、渡すことになる権限の広さと、Fervio が実際に使う範囲は、同じではありません。その差が「GitHub に止められているから」なのか「Fervio がしないだけ」なのかは、次の節で区別して説明します。
GitHub 側では、権限をこれ以上絞れません
先に、いちばん誤解されやすいところを書きます。GitHub の repo は、まとめて 1 つの権限です。「課題だけ」「コードは除く」のように一部だけを渡す仕組みが、GitHub 側にありません。
つまり、発行されたトークンは技術的にはソースコードも読めます。Fervio が読まないのは、GitHub がそれを止めているからではなく、Fervio のプログラムがその API を一度も呼んでいないからです。ここは「できない」ではなく「しない」であり、区別して書いておきます。
権限を細かく指定できる仕組み (GitHub App) もありますが、個人アカウントが持つ Projects を扱えません (2026 年 8 月に確認)。個人の Project を開けるようにするには、この方式を使うしかありません。
GitHub の側で確実に狭められるのは、1 か所だけです。公開リポジトリだけで入ること (public_repo) です。この方法なら、非公開リポジトリには Fervio がそもそも到達できません。約束ではなく、GitHub が止めます。
サインイン方法と、付与される権限
サインイン方法によって、GitHub に付与される権限が変わります。かっこの中は GitHub が使っている権限の名前で、許可画面にもこの単位で出ます。
| サインイン方法 | 付与される権限 | 許可画面の表示 | 扱える範囲 |
|---|---|---|---|
| 非公開も含める (既定) | repo project
user:email |
「非公開リポジトリへのフルアクセス」が出ます | 公開・非公開の両方 |
| 公開リポジトリだけ | public_repo project
user:email |
その表示は出ません | 公開リポジトリだけ |
| 組織の Project も使う | 上に read:org を追加 | 所属組織の読み取りが加わります | 組織が持つ Project も |
| 共有リンクで閲覧する | サインイン自体が不要です | 何も読みません | 共有されたスナップショットの閲覧 |
組織の read:org は、最初から全員には求めません。組織の Project を使うと決めた人に、その場で追加の許可をお願いします。
user:email で読むのは、確認済みのメールアドレスだけです。アカウントの他の情報は読みません。GitHub で入っても、Linear で入っても、メールのリンクで入っても、同じ Fervio のアカウントに着くようにするために要ります。頼まれたサインインのリンク以外を、こちらから送ることはありません。
GitHub で読むもの
| したいこと | 読むもの | 要る権限 |
|---|---|---|
| Project を選ぶ | 自分が持っている Projects の名前 | project |
| マップを開く | Project の項目と、そこに載っている課題のタイトル・状態・担当者・見積もり・ラベル・サブタスクの進み具合 | project と repo |
| カードを開く | その課題の説明と、付け替えの候補になる担当者・ラベルの一覧。開いた 1 枚だけを、開いた時に取りに行きます | repo |
| リリースの行を出す | 課題に付いているマイルストーン | repo |
| 課題を取り込む | リポジトリの名前と、未対応の課題のタイトル | repo |
| 組織の Project を選ぶ | 所属している組織の名前 | read:org |
公開リポジトリだけで入った場合は、repo のところが public_repo になります。読める課題も公開リポジトリのものだけになります。
GitHub に書くもの
書き込みが起きるのは、あなたが画面で操作したときだけです。開いているだけ、見ているだけでは何も書きません。定期的に動く処理もありません。
| あなたがすること | 書かれること | 要る権限 |
|---|---|---|
| Project を初めてマップにする | Journey と Step の 2 つのフィールドを作ります | project |
| ジャーニーやステップを足す | そのフィールドに選択肢を 1 つ足します | project |
| スプリントを使い始める | Iteration フィールドを 1 本作り、2 週間のサイクルを 3 本敷きます | project |
| カードを別のスプリントへ動かす | そのカードの Iteration の値を変えます | project |
| ボードでカードを別の列へ動かす | そのカードの Status の値を変えます | project |
| カードを別の列へ動かす | そのカードの Journey / Step の値を変えます | project |
| カードを別のリリース行へ動かす | その課題のマイルストーンを変えます | repo |
| カードを新しく作る | 課題を 1 件作り、Project に載せます | repo と project |
| 既にある課題を取り込む | その課題を Project に載せます | project |
| カードの状態を変える | そのカードの Status の値を変えます | project |
| 担当者を変える | その課題の担当者を入れ替えます | repo |
| 見積もりを変える | Project の見積もりフィールドの値を変えます | project |
| ラベルを付け外しする | その課題に付いているラベルを入れ替えます | repo |
| 説明を書き換える | その課題の説明を上書きします | repo |
| カードをマップから外す | Project から項目を外します。課題そのものは消えません | project |
| 新しい Project を作って始める | Project を 1 つ作ります | project |
| Fervio が作った Project を消す | その Project を削除します。確認したうえで、Fervio が作ったものだけ | project |
Linear でサインインするとき
Linear には read と write、issues:create を求めます。Linear にはリポジトリもソースコードも無いので、上に書いたような「見て驚く 1 行」は出ません。許可画面に出る言葉が、そのまま実際の範囲です。読むのはチーム・プロジェクト・課題・サイクル・ラベルで、書くのは課題と、マップを組み立てるためのラベルだけです。
Linear で読むもの
| したいこと | 読むもの | 要る権限 |
|---|---|---|
| ボードを作る | 所属しているチームの名前 | read |
| マップを開く | チームのプロジェクト・課題・サイクル・ラベルと、課題のタイトル・状態・担当者・見積もり・期限・ラベル・サブタスクの進み具合 | read |
| ジャーニーの帯を出す | Initiative の名前と、そこに属するプロジェクト | read |
| カードを開く | その課題の説明。開いた 1 枚だけを、開いた時に取りに行きます | read |
Linear に書くもの
| あなたがすること | 書かれること | 要る権限 |
|---|---|---|
| カードを別の列へ動かす | その課題が属するプロジェクトを変えます | write |
| カードを別のスプリントへ動かす | その課題のサイクルを変えます | write |
| カードを別のリリース行へ動かす | その課題に付くリリース用のラベルを入れ替えます | write |
| 説明を書き換える | その課題の説明を上書きします | write |
| カードを新しく作る | 課題を 1 件作ります | issues:create |
| カードをマップから外す | その課題を書庫へ移します | write |
| ステップを足す | プロジェクトを 1 つ作ります | write |
| ジャーニーを足す | Initiative を 1 つ作り、プロジェクトを結び付けます | write |
| リリースの行を足す | Fervio 専用のラベルを 1 つ作ります | write |
★状態・担当者・見積もり・ラベルの付け替えは、いまのところ GitHub だけです。 Linear ではカード詳細パネルから説明だけを書き換えられます。
上の 2 つの表に無い書き込みはしません。
触れないもの
| 対象 | 扱い |
|---|---|
| ソースコード | 読みません。ファイルの中身を取得する API を呼ぶ箇所が、Fervio のプログラムに 1 つも存在しません |
| プルリクエスト | 読みも書きもしません |
| リポジトリの設定・Webhook・Actions | 触れません |
| 課題の削除 | しません。マップから外しても、課題は GitHub に残ります |
公開リポジトリだけで使う
非公開リポジトリを扱う予定がないなら、公開リポジトリだけの権限で入れます。この方法なら、許可画面に「非公開リポジトリへのフルアクセス」は表示されません。
そのかわり、非公開リポジトリにある課題はマップに出ません。あとから非公開も扱いたくなったときは、入り直して権限を足せます。
それでも不安なときに
- いつでも取り消せます。 GitHub の Settings → Applications から、Fervio に渡した許可を取り消せます。取り消したあとは、Fervio が GitHub のデータを読むことも書くこともできなくなります。マップの並び順は Fervio 側に残りますが、GitHub のデータには影響しません。
- 試すためのアカウントを作る。 GitHub のアカウントをもう 1 つ作り、そこに Project を 1 つ置いて試すのが、いちばん確かめやすい方法です。
組織の Project を使うとき
組織が持つ Project を開くときにだけ、所属組織を読む許可 (read:org) を追加で求めます。組織の一覧を表示するために要るもので、組織を使うと決めた人にその場で求めます。全員に最初から求めることはしません。
組織によっては、第三者のアプリを承認する設定があります。承認されていないと、Project が一覧に出てきません。その場合は、組織のオーナーに GitHub の設定 (Settings → Third-party access) で Fervio を承認してもらってください。
変わったときは
求める許可を増やすときは、このページを先に直します。保存するものについては、プライバシーのページに数え上げられる形で書いてあります。疑問があれば [email protected] までどうぞ。