セキュリティ
Spantail はセルフホスターが運用するため、安全でない既定値は安全でないデプロイになります。この
ページでは、セキュリティモデルのうち運用者向けの部分を要約します。完全な脅威モデルは、リポジトリ内の
一次ソース docs/security.md
です。
既定でフェイルクローズ
Section titled “既定でフェイルクローズ”- セッション署名シークレットは必須で、認証処理の実行時に検証されます。
BETTER_AUTH_SECRETが未設定または 32 文字未満の場合、認証・セッションに触れるリクエストは、偽造可能なセッションに 署名する代わりにエラーになります。 - 任意の連携は完全に設定されるまで無効のままです。OAuth プロバイダとメールは資格情報が 設定されない限り利用不可で、中途半端な経路は露出しません。
wrangler.jsoncには非機密 ID のみを置きます。シークレットはwrangler secretまたは.dev.vars(gitignored)から取得し、リポジトリには置きません。
取り込んだコンテンツは機微情報を含みうる
Section titled “取り込んだコンテンツは機微情報を含みうる”エントリの説明・メモ・エージェントのイベントペイロードはそのまま保存され、下流のレポート・ 公開共有リンク・送信されたメッセージに現れる可能性があります。機微情報を含みうるものとして 扱ってください。
- これらのフィールドにシークレットを入れず、エージェントのログにシークレットを出力しないこと。
- 参照用の Claude Code フックは、コンパクトなテレメトリ(トークン使用量とタイミング)のみを 送信し、会話のトランスクリプトやソースコードは送りません。
共有はケイパビリティ URL
Section titled “共有はケイパビリティ URL”公開レポート共有は、そのトークンを知っていれば到達できます。背後にログインセッションはなく、 URL 自体がベアラーシークレットです。共有は失効・期限設定が可能で、任意のパスコードを付けられます。 保存されたスナップショットはライブのアクセス権で再フィルタされないため、過去のコンテンツが機微で ある場合は、メンバー変更時に既存の共有を失効させてください。
リポジトリをハードニングする(フォークする場合)
Section titled “リポジトリをハードニングする(フォークする場合)”公開・フォーク可能なリポジトリでは、以下を有効化します(公開リポジトリではいずれも無料)。
- GitHub secret scanning(リポジトリと履歴に既に存在する資格情報を検出)、および
- push protection(認識された秘密情報のプッシュをそもそもブロック)。
漏えいしたインスタンストークンを検出できるよう、Spantail 独自のトークン形式のカスタムパターンを 登録します。
docs/security.md— 完全な脅威モデル。docs/permissions.md— 各リソースの読み書き権限。