Skip to main content
JGJenks Guo

ドキュメント / explanation

セキュリティとプライバシー

パブリックおよび管理インターフェースでできること/できないこと、管理トークンと GitHub へのアクセスの保護方法、訪問者データの取り扱いについて説明します。

2 種類のアクセス

パブリック — だれでも、認証不要です。REST API (/api/v1/*)、パブリック MCP サーバー (/mcp)、CLI のパブリックコマンドおよび静的ファイルは読み取り専用です。公開済みのコーパスのみを公開し、設計上パブリックです。ask_jenks とウェブサイトのチャットは言語モデルを呼び出すため、濫用を防ぐ目的で IP アドレスごとにレート制限されます。

管理 — Jenks のみです。/api/admin/*、/mcp/admin、jenks admin … および /admin のコンソールは、Authorization: Bearer ヘッダーにある Jenks の個人用管理トークンを必要とします。これにより、呼び出し元はコンテンツファイルの検証、書き込み、削除、および dev を main に昇格させることができます。強力な権限であるため、このトークンはパスワードのように扱います。

The admin token

  • macOS のキーチェーンに agent-env:JENKSGUO_ADMIN_TOKEN として保存され、必要なときにのみシェルへ読み込まれます。共有されるコンテンツ、コミット、設定ファイル、またはチャットに書き込まれることは決してありません。
  • Worker はこれを暗号化されたシークレットとして保存し、一定時間比較で照合します。
  • /admin コンソールはトークンを保存しません。サインイン時に一度だけ /api/admin/login へ送信し、HttpOnly、Secure、SameSite=Strict のセッションクッキーを設定します(12 時間、または「remember」を有効にすると 14 日間)。ページのスクリプトはこのクッキーを読み取れず、クッキーで認証された書き込みでは x-jenks-admin ヘッダーも送る必要があります。クロスサイトのフォームはこのヘッダーを設定できません。
  • 漏えいの可能性がある場合はローテーションします。新しいトークンを生成してキーチェーンに保存し、Worker のシークレットを更新すると、古いトークンは直ちに無効になります。セッションはトークンから導出したキーで署名されているため、すべてのコンソールセッションも同時に無効になります。

管理 API が触れられる範囲

書き込みは許可リストにあるコンテンツパスに限定されます。対象はコーパス項目、レンズ、スキル、コアドキュメント、翻訳用グロッサリー、および本ドキュメントです。コード、ワークフロー、シークレット、または content/ の外側には変更できません。すべての書き込みは事前にコンテンツスキーマに対して検証されます。

GitHub access

管理者による書き込みは、公開に必要な権限のみに絞った細粒度の個人用アクセストークンを用いて GitHub API 経由のコミットになります。これは暗号化された Worker のシークレットとして保存されます。すべての変更がコミットであるため、

  • git の履歴が監査ログになります — だれが、いつ、何を、なぜ(コミットメッセージ)変更したかが残ります。
  • いつでも元に戻せます — 任意のファイルの過去バージョンを復元できます。

リスクのある変更は dev ブランチでステージングし、本番サイトに反映される前に https://dev.jenksguo.xyz で確認できます。

訪問者のプライバシー

  • 広告トラッカーやマーケティング用クッキーは使用しません。
  • チャットの内容は訪問者のブラウザ(sessionStorage)のみに保持され、タブを閉じると消去されます。サイト側でチャットの記録は保存しません。
  • チャットメッセージは Cloudflare Worker を経由して OpenRouter に送られ、サードパーティの言語モデルにルーティングされます。訪問者には機微な個人情報を共有しないようお願いしています。
  • 音声入力は利用可能な場合はブラウザの音声認識を使用し、利用できない場合は音声を OpenRouter に送って文字起こしします。音声での応答は端末の音声合成を使用します。
  • Cloudflare はセキュリティとレート制限のために標準的なリクエストログを保持します。

コンテンツのプライバシー

content/ 配下はすべて公開情報です。Jenks の履歴書には電話番号、自宅住所、推薦者の連絡先が含まれていましたが、これらはコーパスには含めておらず、今後も追加してはなりません。他者に関する事実は、Jenks の役割を説明するために必要な範囲に限定します。

問題の報告

詳細を添えて jenksguo@gmail.com までメールしてください。許可なく管理インターフェースをテストしないでください。

.mdこのページはAIの支援で翻訳されています。正式な肩書は英語のままです。