OmniRoute / セキュリティとデータ管理

ソースを読めるコントロール。

リクエスト経路のガードレール、ネットワークとアイデンティティの制御、暗号化されたローカル認証情報、そして事後に監査可能なもの。

コントロール

ゲートウェイが何を、どこで検査するか。

以下のすべてのコントロールは自分がホストするプロセス内で実行されます。Cheaper Inference アカウントには依存しません。

リクエスト経路上で

プロンプトがマシンを離れる前と、応答が呼び出し元に届く前に実行される検査。

  • ルーティングされる全リクエストへのプロンプトインジェクションガード
  • 漏えいしたキーを双方向でマスクするオプトインの認証情報マスキング
  • オプトインの PII マスキング
  • 特定プロバイダーのポリシーに依存しない正規化された安全フィルター
  • 画像入力向けのビジョンガードレール

ネットワークとアイデンティティ

リクエストがホストをどう離れ、ワイヤー上でどう見えるかの制御。

  • プロキシスコープ: グローバル、プロバイダー単位、接続単位
  • SOCKS5 と HTTP(S) プロキシ
  • プロバイダー固有のクライアントプロファイル付き JA3/JA4 対応 TLS トランスポート
  • IPv4 と IPv6 の送信元選択
  • 外向きフェッチでプライベートアドレス範囲をブロックする SSRF ガード
  • ダッシュボードの IP 許可リストとブロックリスト

認証情報とローカルデータ

キー、履歴、使用量は自分が運用するホストの、自分が所有するデータベースに残ります。

  • ローカル SQLite に AES-256-GCM で暗号化した認証情報
  • モデルとプロバイダーの制限付きスコープ API キー
  • キー単位の USD 支出上限とトークン予算
  • OAuth アカウントのメールマスキング、デフォルトで有効
  • ゲートウェイの実行に OmniRoute アカウント不要

運用と監査

事後に何を再構成でき、誰にそれが許可されていたか。

  • アクション、実行者、対象で絞り込める管理監査ログ
  • プロバイダー、モデル、アカウント、キーで絞り込めるリクエストログ
  • 任意の OIDC ログインゲート、パスワードログインは常に利用可能
  • 重いリクエストを失敗させずにキューに入れる適応アドミッション
  • バックアップと移行のためのデータベースのエクスポートとインポート

ネットワーク到達性

ネットワークルーティングとローカルデータの制御。

プロキシスコープがネットワークルーティングを制御し、ローカルファーストの保存が運用データを自分のマシンに保持。

3 つのプロキシスコープ

グローバル、プロバイダー単位、接続単位でルーティング。

  • グローバル · プロバイダー単位 · 接続単位
  • SOCKS5 と HTTP(S) プロキシ
  • プロキシマーケットプレイス連携

TLS とクライアントフィンガープリント制御

対応プロバイダーのクライアントに、選択したトランスポート特性まで合わせる。

  • wreq-js による JA3/JA4 対応トランスポート
  • プロバイダー固有のクライアントプロファイル
  • IPv4 と IPv6 の送信制御

プライベートでローカルファースト

キー、使用量、履歴は自分が管理するホストに残ります。

  • ディスク上の SQLite に AES-256-GCM で暗号化した認証情報
  • OmniRoute アカウント不要
  • 選んだインフラでセルフホスト
ロシア中国イランキューバトルコ

障害隔離

プロバイダー、接続、モデルの障害を隔離。

不良なキーでプロバイダーが止まるべきではない。制限されたモデルで接続が止まるべきではない。

モデル ⊂ 接続 ⊂ プロバイダー
プロバイダーサーキットブレーカープロバイダーが不健全なとき、コンボルーティングはハーフオープンのプローブが成功するまでそれをスキップ。
接続クールダウンひとつのキーやアカウントをクールダウンしつつ、兄弟接続は処理を継続。
モデルロックアウトレート制限または利用不可のモデルひとつをロックし、同じ接続の他のモデルは利用可能なまま。

OmniRoute by Cheaper Inference

OmniRoute の使い方を選ぶ。

OmniRoute をセルフホストするか、ホスト型のコスト順ゲートウェイとして Cheaper Inference を使う。