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つの動作モードがあります:
- マスクモード – 常に機密データをクラウドモデルに送信する前にマスクします。
- ルートモード – 機密データを含むリクエストをローカルLLM(Ollama、vLLM、llama.cpp)にルーティングし、非機密リクエストはクラウドに送信できます。
重要な理由
- クライアントデータ、ログ、資格情報を保護する必要がある企業は、生のプライベート情報を公開せずに、強力なホスト型LLMを活用できます。
- すべてのアプリのコードを書き直すことなく、コンプライアンス(GDPR、HIPAAなど)のための単一の制御ポイントを提供します。
使用方法
- プロキシを実行する
(バージョン0.9.3でSIGSEGVが発生する場合は、docker run --rm -p 3000:3000 ghcr.io/sgasser/pasteguard:latest-e ORT_DISABLE_TELEMETRY=1を追加してください。) - クライアントをプロキシにポイントする – 例:OpenAIの場合:
同じパターンがAnthropic、Codexなどでも機能します。from openai import OpenAI client = OpenAI(base_url="http://localhost:3000/openai/v1") - オプション:ブラウザ拡張機能 – ChatGPT、Claude、Gemini用の実験的なアドオンで、ウェブUIで入力されたデータをマスクします。
- ダッシュボード –
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
- プロジェクト