Security Model
この project は local-first を前提にしています。
公開安全の既定値
- Codex app-server の例は
127.0.0.1に bind します。 - LAN に出る server は phone bridge だけです。
- page、API、WebSocket bridge request は同じ token を要求します。
.phone-token、.uploads/、.codex-home*/、log、session database は Git に入れません。- 起動通知の credential と token 付き URL の通知先は、private/protected な account、topic、channel に限定してください。
避けること
認証なしの Codex app-server を LAN や public interface に直接 bind しないでください。
信頼済み local network 外から使う場合は、次を優先します。
- SSH port forwarding
- VPN
- device-level authentication 付き mesh network
Token Handling
PHONE_TOKEN が未指定の場合、bridge は mode 0600 の .phone-token を作ります。token を rotate するときは .phone-token を削除します。
初心者向けの運用メモ
- 表示された
?token=...付き URL は local access key として扱います。開ける人は、その実行中の bridge を操作できます。 - token 付き URL を公開 issue、共有チャット、スクリーンショット、配信に貼らないでください。
- bridge は
npm run phoneを実行している terminal でCtrl+Cを押すと停止します。 - terminal を閉じた場合や PC を再起動した場合、bridge は止まります。使うときはもう一度
npm run phoneを実行します。 - bridge は root/admin shell ではなく、通常のユーザー権限で実行します。
- 認証なしの public tunnel や raw port forwarding で bridge を公開しないでください。SSH forwarding、VPN、device authentication 付き mesh network などの trusted access を前に置いてください。