sgasser/pasteguard

AI gets the context. Not your private data. Local-first privacy proxy for browser chat, AI APIs, and coding agents.

PasteGuard – AIリクエストのためのローカルプライバシープロキシ

機能

  • ローカルHTTPプロキシ(Dockerイメージ)として動作し、アプリケーション(またはブラウザ)と任意のLLMプロバイダー(OpenAI、Anthropic、Geminiなど)の間に配置されます。
  • リクエストがプロバイダーに到達する前に、サービスはペイロードをスキャンして個人情報(PII)やシークレット(APIキー、トークン、パスワードなど)を検出し、無害なプレースホルダーに置き換えます。
  • プロバイダーがレスポンスを返すと、プレースホルダーが復元され、自分の側で元のデータを確認できます。
  • 2つの動作モードがあります:
    1. マスクモード – 常に機密データをクラウドモデルに送信する前にマスクします。
    2. ルートモード – 機密データを含むリクエストをローカルLLM(Ollama、vLLM、llama.cpp)にルーティングし、非機密リクエストはクラウドに送信できます。

重要な理由

  • クライアントデータ、ログ、資格情報を保護する必要がある企業は、生のプライベート情報を公開せずに、強力なホスト型LLMを活用できます。
  • すべてのアプリのコードを書き直すことなく、コンプライアンス(GDPR、HIPAAなど)のための単一の制御ポイントを提供します。

使用方法

  1. プロキシを実行する
    docker run --rm -p 3000:3000 ghcr.io/sgasser/pasteguard:latest
    
    (バージョン0.9.3でSIGSEGVが発生する場合は、-e ORT_DISABLE_TELEMETRY=1を追加してください。)
  2. クライアントをプロキシにポイントする – 例:OpenAIの場合:
    from openai import OpenAI
    client = OpenAI(base_url="http://localhost:3000/openai/v1")
    
    同じパターンがAnthropic、Codexなどでも機能します。
  3. オプション:ブラウザ拡張機能 – ChatGPT、Claude、Gemini用の実験的なアドオンで、ウェブUIで入力されたデータをマスクします。
  4. ダッシュボード – http://localhost:3000にアクセスすると、各リクエスト、マスクされた内容、監査用ログを確認できます。

検出技術

  • GLiNER(軽量NERモデル)をフォーマットベースのチェックおよびpython-stdnumライブラリと組み合わせて使用し、名前、メールアドレス、電話番号、クレジットカード番号、IBAN、IP、VAT番号、幅広いAPIキーや秘密鍵を認識します。
  • ストリーミングペイロードで動作するため、リアルタイムのチャット完了も保護されます。

技術スタック

  • ランタイム:Bun(JavaScript/TypeScriptランタイム)とHonoウェブフレームワーク。
  • 検出バックエンド:GLiNER + python-stdnum(detector/フォルダ内)。
  • 永続化:SQLiteまたはPostgreSQLを使用したリクエストログ。

誰が使うか

  • 顧客データのプライバシーを維持する必要がある内部AI支援ツール(サポートボット、コードアシスタント、データ分析ヘルパー)を構築する開発チーム。
  • 厳格なデータプライバシーポリシーを持ちながらホスト型LLM APIを活用したい企業。
  • AIサービスに送信する前にシークレットをマスクする、自己ホスト型の迅速な方法を探している人。

詳細情報

  • 完全なドキュメント:https://pasteguard.com/docs
  • インストールガイド、カスタムGLiNERモデルの設定、ルートモードの詳細はREADMEにリンクされています。

PasteGuardは、AIワークロードのためのプライバシーファーストのゲートウェイを提供するオープンソースのApache-2.0プロジェクトです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト