
2025/12/10 1:10
Show HN: Local Privacy Firewall-blocks PII and secrets before ChatGPT sees them
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
PrivacyFirewallは、AIチャットツール(ChatGPT、Claude、Gemini)用のローカルファースト型ファイアウォールであり、PIIやシークレットがプロンプトに漏れないようにブロックします。完全にユーザーのデバイス上で動作し、ブラウザ内または任意のローカルFastAPIサーバー経由で実行されるため、ネットワークトラフィックチェックとオープンソースコードレビューによって確認されたように、データがマシンから外へ出ることはありません。
この拡張機能は2つのモードを提供します。「Lite Mode」では正規表現を使用してメールアドレス、電話番号、APIキー、SSNなどのパターンを即座に検知し、「AI Mode」では軽量な
モデル(約400 MB)をオプションでロードしてより深いエンティティ認識を実行します。ローカルエンジンがオフラインの場合、拡張機能は正規表現チェックにフォールバックします。dslim/bert-base-NERプロジェクトには警告用UI要素、ペーストブロックモーダル、および上書きオプションを備えたChrome MV3拡張が含まれています。インストールはPython 3.10+、Chrome/Chromium/Edge、およびGitが必要です。オプショナルエンジンを実行すると、Hugging Faceモデルが
にダウンロードされ、~/.cache/huggingfaceでFastAPIサーバーが起動します。127.0.0.1:8765今後の計画としては、拡張設定UI、サイトごとの許可/拒否リスト、自動シークレット削除、エンジンをバイナリまたはデスクトップアプリとしてパッケージ化、ブラウザ内推論用transformer.js、および自動CI/ブラウザテストがあります。
PrivacyFirewallは、メールアドレス、電話番号、APIキー、認証情報、顧客データ、IP/MACアドレス、内部ログ、PII/PHIなどの漏洩を防ぎます。従来のDLPツールではAIチャットプロンプトで見逃されがちな規制対象個人情報に対して有効です。本プロジェクトはMITライセンスで提供されており、ライセンスファイルが含まれています。PRやIssueを通じて詳細な再現手順とモデルバージョン情報を添えて貢献を歓迎します。
本文
PrivacyFirewall
(ローカルAIプライバシーシールド / ローカルLLM DLP)
⭐ 24時間で100+スター | 🍴 7フォーク | 🔥 トレンド
“主要なセキュリティ課題を解決” — セキュリティ専門家
“非常に洗練された印象的なソリューション” — LinkedInユーザー
👋 PrivacyFirewall を試している方はぜひリポジトリにスターを付けてください!
他の人がプロジェクトを発見しやすくなるとともに、開発へのモチベーションにも繋がります。
2秒で完了 → ⭐(右上)
PrivacyFirewall とは?
ChatGPT・Claude・Gemini 等の AI ツール向けのローカル優先型 PII/シークレットファイアウォールです。
- リスクの高い貼り付けイベントをブロック
- タイピング中に警告表示
- 必要に応じて軽量なオンデバイス Transformer モデルでより深い PII 検出を実施
🔒 データは一切外部へ送信されません – ブラウザ内、またはオプションのローカル API 上で全処理が完結します。
ネットワークパネルを確認し、オープンソースコードをレビューしてご自身で検証してください。
このプロジェクトが存在する理由
現代の AI ツールは機密情報漏洩を極めて容易にしています:
| 機密データ | 例 |
|---|---|
| メールアドレス・電話番号 | 、 |
| API キー・認証情報 | AWS キー、JWT トークン |
| 顧客・従業員データ | 名前、住所 |
| IP & MAC アドレス | 、 |
| 内部ログ・スタックトレース | デバッグ出力 |
| 規制対象の個人情報(PII/PHI) | SSN、医療記録 |
従来型のエンタープライズ DLP は AI チャットプロンプトをカバーしていません。
PrivacyFirewall はテキストが第三者 AI システムに届く前に ゼロ・トラスト のプライバシーシールドを追加します。
PrivacyFirewall が提供する機能
- ✋ 人間の判断で誤送信を防止(ヒューマンインザループ)
- 🔒 100 % ローカル処理(ブラウザ+ローカルホストのみ)
- ⚡ 実用的な保護:正規表現 + オプションの Transformer NER
- 🧩 使いやすい UX:警告、貼り付けブロックモーダル、上書きオプション
- 🛠 OSS & 可監査性(MV3 + FastAPI + Hugging Face スタック)
動作原理 – 二重防御
Lite モード(正規表現のみ)
拡張機能内で即時実行。セットアップ不要。
AI モード(オプション、ローカル LLM)
Python FastAPI エージェント+Transformer モデルを用いて深層検出(人物・組織・場所・文脈エンティティ)。
高水準アーキテクチャ
graph TD A[ユーザーが貼り付け/入力]:::blueNode -->|インターセプト| B(Chrome Extension):::blueNode B -->|正規表現チェック| C{シークレット/PII あり?} C -->|はい & 貼り付け| D[ブロック&警告]:::redNode C -->|はい & タイピング| E[警告バナー表示]:::redNode C -->|いいえ| F{ローカルエンジン稼働?} F -->|無い| G[許可]:::blueNode F -->|有る| H[Python ローカルエンジン]:::blueNode H -->|BERT モデル| I{AI が PII を検出?} I -->|はい & 貼り付け| D I -->|はい & タイピング| E I -->|いいえ| G classDef blueNode fill:#2563eb,stroke:#1e40af,color:#fff classDef redNode fill:#dc2626,stroke:#b91c1c,color:#fff
- 正規表現モードで速やかにシークレットを検知
- AI モードはローカルエンジンが稼働中に検出精度を向上
- エージェントがオフラインの場合、拡張機能は自動的にフォールバック
🚀 クイックスタート(ローカル開発)
前提条件
| アイテム | バージョン |
|---|---|
| Python | 3.10+ |
| Chrome/Chromium/Edge | 最新 |
| Git | 任意 |
1) クローン
git clone https://github.com/privacyshield-ai/privacy-firewall.git cd privacy-firewall
2) ローカルエンジンを起動(AI モード用、オプション)
cd src/engine python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install --upgrade pip pip install -r requirements.txt uvicorn main:app --host 127.0.0.1 --port 8765
初回実行時に
dslim/bert-base-NER(約400 MB)が ~/.cache/huggingface にダウンロードされます。ステータス確認:
http://127.0.0.1:8765/health → {"status":"ok"}
3) Chrome 拡張機能をインストール
を開くchrome://extensions- Developer mode を有効にする
- Load unpacked をクリックし、
を選択src/extension/
Lite モード(正規表現ベース)が稼働します。
4) テスト
以下のいずれかを開く:
貼り付け:
My email is john.doe@example.com
→ 貼り付けがインターセプトされ、モーダル表示。
AWS キーを貼り付けるとブロック。
AI モードを有効に(ポップアップ UI が準備できたら)入力:
Meeting notes from Sarah Thompson at HR...
→ ローカル Transformer が
PERSON を検知し警告表示。
🔍 検出カバレッジ
| モード | 検出パターン |
|---|---|
| Regex Mode(高速・オフライン・デフォルト) | メールアドレス、電話番号、クレジットカード候補、MAC アドレス、IPv4 アドレス、AWS アクセスキー、JWT トークン、プライベートキー区切り文字列、汎用 API キー/ハッシュパターン、米国 SSN(基本パターン) |
| AI Mode(ローカル Transformer, dslim/bert-base-NER) | PERSON、ORGANIZATION、LOCATION、その他名詞エンティティ |
曖昧または文脈依存の漏洩に有効です。
📁 プロジェクト構成
– Chrome MV3 拡張(コンテンツスクリプト・バックグラウンドワーカー・UI 資産)src/extension/
– FastAPI サービス + Transformer モデルラッパーsrc/engine/
– モデルユーティリティ(Hugging Face パイプライン)src/engine/models/
– 検出テストハーネスsrc/engine/tests/
モデル & キャッシュの注意点
- HuggingFace モデルは
に保存~/.cache/huggingface/ - フルダウンロードを強制したい場合はこのディレクトリを削除
🛠️ 今後の改善予定
- 拡張機能設定 UI(正規表現/AI モードの有効化・無効化)
- サイト別許可/拒否リスト
- 完全ブロックではなくシークレットタイプごとのレダクション
- エンジンをバイナリまたはデスクトップアプリとしてパッケージ化
を用いたブラウザ内推論の検討transformer.js- CI + ブラウザテスト自動化
❗ トラブルシューティング
| 症状 | 対処 |
|---|---|
| “Engine Offline” バナー表示 | Python エンジンが稼働しているか確認し、ポート 8765 が他で使用されていないかチェック。Lite モードは正規表現ベースで機能します。 |
| 「入力した名前が検出されない」 | AI モードを有効にし、エンジンがオンライン状態か確認。NER モデルは確率的なので長い名前ほど精度が上がります。信頼閾値は で調整可能です。 |
🤝 コントリビューション
PR と issue は歓迎です!
以下を含めてください:
- OS & ブラウザバージョン
- 再現手順
- モデルバージョン(AI の誤検知・見逃し報告時)
🔐 セキュリティ & プライバシーに関する注意
- プロンプトやテキストは一切外部へ送信されません。
- 拡張機能が通信するのは:
- ブラウザローカルコンテキスト
- オプションで
のローカルホスト API127.0.0.1:8765
- アナリティクス、テレメトリー、外部ログは一切行いません。
と DevTools → Network タブを確認して挙動を検証してください。src/extension/content-script.js
📄 ライセンス
MIT License – 詳細は
LICENSE をご覧ください。