方法論と透明性
Geniesta は「採点・善悪の判定」をしません。依存を選ぶその瞬間に、信頼に関わる公開事実を出典つきで集約します。ここでは、何を・どこから・どう見せ、何を見せないかを公開します。既存ツール(Snyk Advisor・Socket・deps.dev・OpenSSF Scorecard 等)は“採点済みパッケージ”が前提で“選ぶ瞬間”から離れがちです。Geniesta の立ち位置は、採点せず・出典つきで・採用の瞬間に集約することです。
原則
- 採点しない。総合スコアやランクで「良し悪し」を断定しません。出すのは事実と出典まで(最終判断は利用者)。
- signals ≠ 保証。コードの正しさや未公開の脆弱性は検出できません。事実は判断材料であって安全の保証ではありません。
- 「放置 ≠ ダメ」。脆弱性は件数でなく「未修正の有無 × 修正の速さ」で読みます。アーカイブも断罪しません。
- しきい値は透明・調整可能。下記のヒューリスティックは目安であり、いつでも見直せます。
- 反証可能性。すべての数値は 1 次ソースへのリンクから検証できます。
- 誘導性の自認。事実の選び方・並べ方には弱い誘導性が残ります。正確性・透明性・出典で管理します。
信頼ファクト(4軸)と取得元
| 軸 | 提示する事実 | データ源 |
|---|---|---|
| 生存性 | 最終コミット / リリースと頻度・月次コミット推移 | GitHub REST / GraphQL |
| 脆弱性 | 未修正の有無 × 修正の速さ・CVSS・該当バージョン | GitHub Advisory (GHSA) + OSV |
| 姿勢 | SECURITY.md・行動規範・テンプレート等の有無 | GitHub community profile |
| メンテナ集中 | 活発な人数・トップ貢献者の占有率(目安) | GitHub contributors |
データ源・更新頻度・性質
| 対象 | 取得元 | 更新の目安 |
|---|---|---|
| 現在値(star/watcher/issue/fork) | GitHub REST/GraphQL(ライブ) | 約 5分〜 |
| 脆弱性アドバイザリ | GitHub GHSA(GraphQL)+ OSV(api.osv.dev) | 約 1時間 |
| 活動・姿勢・メンテナ集中 | GitHub REST/GraphQL | 約 24時間 |
| パッケージ名 → GitHub リポ解決 | 各レジストリの公開 API(npm / crates ほか) | 約 24時間 |
※ サーバー側(RSC / Route Handler)でのみ外部 API を叩き、GITHUB_TOKEN 等の鍵はクライアントに露出しません。OSV は鍵不要の公開 API です。Next の ISR(revalidate / unstable_cache)でレート制限を抑え、取得できない事実は表示せず(graceful degradation)、各カードの出典リンクから 1 次ソースを確認できます。
対応レジストリ(名前 → GitHub 事実)
GitHub を信頼ファクトの土台とし、各レジストリの「名前」からその GitHub リポジトリの事実へ引きます。検索が機能するのは公開検索 API が堅い 8 つ(GitHub・npm・Cargo・RubyGems・Composer・Hex・NuGet・Pub)。公式の曖昧検索が無くワークアラウンドを要する 6 つ(PyPI・Go・Maven・Swift・CocoaPods・Conan)は信頼性の線として「準備中」とし、検索からは到達しません。脆弱性アドバイザリ(GHSA)に対応するのは npm・Cargo です。
ヒューリスティック(しきい値・目安)
以下は「読み方」を助ける目安で、採点ではありません。いつでも見直せます。
メンテナ集中
- トップ1名の占有率 ≥ 80% → 単独メンテナ依存の傾向(bus factor が低い目安)。
- 上位3名の占有率 ≥ 80% → 少数に集中する傾向。
- 占有率は上位サンプル内の目安で、全コミット史ではありません。
状態
- archived フラグ=「アーカイブ済み」(断罪しません)。それ以外は「更新あり」。
限界・見せないもの
- 人気・DL でランク付けしません。実使用量(DL 数)による並べ替えや推奨はしません。star も「人気の事実」であって良し悪しではありません。
- 取得できない事実は出しません。対応レジストリ外や API 不通時は、その事実を表示せず(graceful degradation)出典リンクで 1 次ソースに誘導します。
- 未公開・未登録の脆弱性は対象外。表示は公開アドバイザリ(GHSA / OSV)に限られ、安全を保証するものではありません。
- バージョン比較は近似。semver 系は正確ですが、一部のエコシステムの版体系は近似で評価します。
- 相対時刻の基準は表示時刻(UTC)。「2年前」「3日前」等は、そのページを取得・描画した時刻(詳細ページ下部に UTC で明示)を基準に算出します。タイムゾーンは UTC 固定です。
成功指標(North Star)
本プロダクトの North Star は「出典クリック率」=出典リンクが実際にクリックされた割合(source_click / detail_view)。これは“提示した事実が本当に参照・検証されたか”を表します。件数のみを匿名集計し(閲覧履歴や個人識別子は保存しない)、/api/metrics で確認できます。DAU やページビューを主目標にしないのは、目的が「正しい採用判断の支援」であって滞在の最大化ではないためです。
訂正・フィードバック
事実がおかしい・出典が辿れない場合は、各カードの出典リンクで 1 次ソースを確認のうえご報告ください。しきい値や対応表は調整可能です。
本ページの基準は実装と一致させています。乖離しきい値・データ源・更新頻度が変わった場合はここを更新します。