Vigili
近日公開

Claude Code の承認を スマホで。

ローカル優先の承認メッシュ。安全な操作は自動許可、危険な操作は自動拒否、判断が要るものだけスマホに飛ぶ。2 タップで Claude が再開します。

送るのは公開時のメール 1 通だけ。それ以外には使いません。

解決したい問題

5 つの Claude セッション、5 つの監視ポイント。

  • 承認疲れ

    `Bash`/`Edit`/`WebFetch` のたびに許可を求められる。4〜6 並列なら 1 日数百件。ターミナルの前にいる時しか捌けない。

  • コンテキストスイッチ税

    別ウィンドウで作業中。ベルが鳴る。戻って diff を見て 'yes' と打つ。1 時間 5 回。1 回ごとに分単位で集中が削られる。

  • 眠い時の 'yes'

    疲れた人間は雑に許可する。聞く意味が失われる。全部投げてくるツールは安全装置ではなくただのノイズ。

仕組み

分類してから振り分ける。

  1. 01

    ローカル policy が判定

    小さな daemon が常駐し、Claude の PreToolUse hook を捕まえる。`policy.yaml` が read-only → allow、危険 → deny、それ以外 → ask に振り分ける。

  2. 02

    ask だけがスマホに

    allow と deny は数ミリ秒で解決され、Claude は止まらない。ask だけが Web Push / Live Activity でスマホに届く。2 タップで承認、スワイプで拒否。

  3. 03

    policy が育つ

    手で承認した記録から候補ルールを抽出。日次ダイジェストが「今週 git push を 7 回許可しています、ルール化しますか?」と提案する。1 タップで採用。

セキュリティ

コードは端末から出ない。

  • LAN 直結が既定

    同一ネットワークにいる時は Mac daemon と iOS app が Bonjour で直結。relay もクラウドも介在しない。

  • 外出時は relay (任意)

    LAN から離れた時のみ管理 relay を経由。pairing-id でルーティングするだけで、コードに対する認証はしない。relay は OSS なので自前運用も可。

  • 落ちたら deny

    daemon が落ちたり policy が壊れていたら gate は deny で抜ける。監視役が居ない時に自動許可することは絶対にない。

Vigili — Approve Claude Code from your phone