privacyshield-ai/privacy-firewall
A local AI-powered DLP solution
PrivacyFirewall
๐ If you're trying PrivacyFirewall, please star the repo!
It helps others discover the project and motivates development.
Takes 2 seconds โ โญ (top right)
Stop AI Data Leaks Before They Happen
100% Local โข Zero Server โข Full Control
The Problem
Every day, sensitive data gets leaked to AI chatbots:
- ๐ง Customer emails pasted into ChatGPT for summarization
- ๐ API keys accidentally included in code snippets
- ๐ค Employee names shared in meeting notes
- ๐ณ Credit card numbers copied from support tickets
- ๐ Home addresses in shipping data analysis
Traditional DLP tools don't protect AI chat interfaces. PrivacyFirewall does.
The Solution
PrivacyFirewall intercepts sensitive data before it reaches AI tools โ running entirely in your browser with no external servers.
Key Features
| Feature | Description |
|---|---|
| ๐ก๏ธ Paste Protection | Blocks sensitive pastes with a confirmation modal |
| โจ๏ธ Real-time Typing Detection | Warns as you type sensitive data |
| ๐ง Local AI Detection | BERT NER model runs in-browser via ONNX/WASM |
| โ๏ธ Configurable Rules | Enable/disable specific PII types, set block vs warn |
| ๐ Site Management | Protect ChatGPT, Claude, Gemini, Copilot, and more |
| ๐ Zero Data Transmission | Nothing ever leaves your machine |
How It Works
graph TD
A[User Pastes/Types Text] -->|Intercept| B(Content Script)
B -->|Layer 1| C{Regex Scan}
C -->|Match Found| D{Block or Warn?}
D -->|Block| E[๐ Show Modal]
D -->|Warn| F[โ ๏ธ Show Banner]
C -->|No Match| G{AI Engine Ready?}
G -->|Yes| H[ONNX Model in Browser]
H -->|Entities Found| D
H -->|Clean| I[โ
Allow]
G -->|No| I
style E fill:#dc2626,color:#fff
style F fill:#f59e0b,color:#fff
style I fill:#22c55e,color:#fff
Two-Layer Protection
- Instant Regex Layer โ Catches obvious patterns (emails, credit cards, API keys) in milliseconds
- AI Layer โ BERT Named Entity Recognition detects names, organizations, and locations that regex misses
Both layers run 100% locally in your browser. No Python server. No API calls. No cloud.
Quick Start
Option 1: Download & Install (No Code Required)
Perfect for trying it out โ takes 30 seconds
-
Download the latest release:
-
Unzip the downloaded file
-
Install in Chrome:
- Go to
chrome://extensions - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the unzipped folder
- Go to
-
Done! Visit ChatGPT and try pasting:
Contact john.doe@company.com or call 555-123-4567
Option 2: Build from Source (For Developers)
Click to expand developer instructions
-
Clone the repository
git clone https://github.com/ArnabKar/privacy-firewall.git cd privacy-firewall -
Build the extension
cd src/extension npm install node build.js -
Load in Chrome
- Navigate to
chrome://extensions - Enable Developer mode (top right)
- Click Load unpacked
- Select the
src/extension/distfolder
- Navigate to
Screenshots
![]() Paste Blocked Sensitive data detected with highlighting |
![]() Typing Warning Real-time detection as you type |
![]() Extension Popup Quick status and settings access |
![]() Settings Page Full control over detection rules |
Detection Coverage
Regex Detection (Instant)
| Type | Examples |
|---|---|
| ๐ง Email | user@example.com |
| ๐ฑ Phone | 555-123-4567, +1 (555) 123-4567 |
| ๐ณ Credit Card | 4532-0151-1283-0366 |
| ๐ข SSN | 123-45-6789 |
| ๐ AWS Keys | AKIAIOSFODNN7EXAMPLE |
| ๐ซ JWT Tokens | eyJhbGciOiJIUzI1NiJ9... |
| ๐ Private Keys | -----BEGIN RSA PRIVATE KEY----- |
| ๐ IP Addresses | 192.168.1.1 |
| ๐ MAC Addresses | 00:1A:2B:3C:4D:5E |
| ๐ US Addresses | 123 Main St, New York, NY 10001 |
AI Detection (BERT NER)
| Entity Type | Examples |
|---|---|
| ๐ค PERSON | John Smith, Dr. Sarah Thompson |
| ๐ข ORGANIZATION | Acme Corp, Goldman Sachs |
| ๐ LOCATION | New York, Silicon Valley |
Configuration
Settings Page
Access via the extension popup โ Open Settings
- PII Rules: Enable/disable detection for each type
- Block vs Warn: Choose blocking modal or warning banner
- Protected Sites: Manage which AI tools are protected
- AI Confidence: Adjust sensitivity threshold (0-100%)
- Behavior: Toggle real-time typing detection
Protected Sites (Default)
- โ
ChatGPT (
chat.openai.com,chatgpt.com) - โ
Claude (
claude.ai) - โ
Gemini (
gemini.google.com) - โ
Copilot (
copilot.microsoft.com) - โ
Poe (
poe.com) - โ
Grok (
grok.com) - โ
DeepSeek (
chat.deepseek.com)
Architecture
src/extension/
โโโ manifest.json # Chrome MV3 manifest
โโโ background.js # Service worker (message routing)
โโโ content-script.js # Page injection (paste/typing interception)
โโโ offscreen.js # AI model execution environment
โโโ offscreen.html # Offscreen document container
โโโ lib/
โ โโโ transformer-detector.js # BERT NER model wrapper
โโโ modules/
โ โโโ config.js # Regex patterns & constants
โ โโโ scanner.js # Detection orchestration
โ โโโ settings.js # Chrome storage management
โ โโโ event-handlers.js # Paste & input handlers
โ โโโ ui/
โ โโโ modal.js # Blocking modal component
โ โโโ banner.js # Warning banner component
โ โโโ styles.js # Shadow DOM styles
โโโ ui/
โโโ popup.html/js/css # Extension popup
โโโ settings.html/js/css # Settings page
Technology Stack
- Extension: Chrome Manifest V3, ES Modules
- AI Runtime: ONNX Runtime Web (WASM)
- Model:
Xenova/bert-base-NER-uncasedvia Hugging Face Transformers.js - UI Isolation: Shadow DOM (no CSS conflicts with host pages)
Privacy & Security
What We DON'T Do
- โ Send data to external servers
- โ Log or store your text
- โ Use analytics or telemetry
- โ Make any network requests (except model download on first run)
What We DO
- โ Process everything locally in your browser
- โ Cache the AI model locally after first download
- โ Store settings in Chrome's encrypted sync storage
- โ Provide fully auditable open-source code
Verify yourself: Open DevTools โ Network tab. You'll see zero outbound requests during detection.
Development
Build
cd src/extension
npm install
node build.jsRun Tests
node tests/content-script.test.jsProject Requirements
- Chrome 120+ (for Offscreen Documents API)
- Node.js 18+ (for building)
Troubleshooting
"AI Model Loading..." stays forever
- Check DevTools console for errors
- The model (~50MB) downloads on first run โ may take a minute on slow connections
- Try clearing extension data and reloading
Extension doesn't detect on some sites
- Check if the site is in your protected sites list
- Some sites use iframes โ detection may be limited
- Open an issue with the site URL
False positives/negatives
- Adjust AI confidence threshold in settings
- Some patterns (like short names) may not be detected
- Report edge cases as issues
Roadmap
- Firefox/Safari support
- Custom regex patterns via settings
- Redaction mode (replace vs block)
- Export/import settings
- Keyboard shortcuts
- Enterprise policy support
Contributing
PRs welcome! Please include:
- Browser version
- Steps to reproduce
- Expected vs actual behavior
License
MIT License โ see LICENSE
Built for privacy. Runs locally. Open source.
Report Bug โข
Request Feature





