Show HN: 로컬 프라이버시 방화벽 - ChatGPT가 데이터를 보기 전에 PII와 비밀 정보를 차단합니다
요약
PrivacyFirewall은 사용자가 AI 챗봇에 민감한 데이터를 붙여넣기/입력하기 전에 브라우저 내에서 이를 차단하는 로컬 프라이버시 방화벽입니다. 외부 서버 연결 없이 전적으로 클라이언트 측에서 작동하며, 정규표현식과 BERT 기반의 개체명 인식(NER)을 결합하여 이메일, API 키 등 다양한 민감 정보를 보호합니다.
핵심 포인트
- AI 챗봇 사용 시 데이터 유출 위험을 사전에 방지합니다.
- 외부 서버 연결 없이 브라우저 내에서 100% 로컬로 작동합니다.
- 정규표현식과 BERT NER를 결합한 이중 레이어 보호 기능을 제공합니다.
👋 만약 PrivacyFirewall를 사용하고 있다면, 레포지토리에 별점을 부탁드립니다!
<p align="center"> <strong>AI 데이터 유출을 사전에 방지하세요</strong><br> 100% 로컬 • 서버 없음 • 완전한 제어 </p> <p align="center"> <img src="https://img.shields.io/badge/Chrome-Extension-4285F4?logo=googlechrome&logoColor=white" alt="Chrome Extension"> <img src="https://img.shields.io/badge/AI-ONNX%20Runtime-FF6F00?logo=onnx&logoColor=white" alt="ONNX Runtime"> <img src="https://img.shields.io/badge/Privacy-100%25%20Local-34A853" alt="100% Local"> <img src="https://img.shields.io/badge/License-MIT-blue" alt="MIT License"> </p> <p align="center"> <img src="assets/PrivacyFirewall.gif" alt="PrivacyFirewall Demo" width="700"> </p>다른 사람들이 프로젝트를 발견하는 데 도움이 되고 개발 동기를 부여합니다.
2초 소요 → ⭐ (우측 상단)
문제점 (The Problem)
매일, 민감한 데이터가 AI 챗봇으로 유출됩니다:
- 📧 고객 이메일을 요약하기 위해 ChatGPT에 붙여넣기
- 🔑 API 키를 코드 스니펫에 실수로 포함
- 👤 직원 이름을 회의록에 공유
- 💳 신용카드 번호를 지원 티켓에서 복사
- 🏠 집 주소를 배송 데이터 분석에 사용
기존 DLP 도구는 AI 채팅 인터페이스를 보호하지 못합니다. PrivacyFirewall가 합니다.
해결책 (The Solution)
PrivacyFirewall은 민감한 데이터가 AI 도달하기 전에 가로챕니다. — 외부 서버 없이 전적으로 브라우저 내에서 작동합니다.
주요 기능 (Key Features)
| 기능 | 설명 |
|---|---|
| 🛡️ 붙여넣기 보호 (Paste Protection) | 확인 모달과 함께 민감한 붙여넣기를 차단합니다. |
| ... |
작동 방식 (How It Works)
graph TD
A[사용자가 텍스트를 붙여넣기/입력] -->|가로채기(Intercept)| B(Content Script)
B -->|레이어 1| C{Regex Scan}
...
이중 레이어 보호 (Two-Layer Protection)
- 즉시 정규표현식 레이어(Instant Regex Layer) — 이메일, 신용카드 번호, API 키 등 명백한 패턴을 밀리초 단위로 포착합니다.
- AI 레이어(AI Layer) — BERT 개체명 인식(Named Entity Recognition)을 사용하여 정규표현식이 놓치는 이름, 조직, 위치를 감지합니다.
두 레이어 모두 브라우저에서 100% 로컬로 실행됩니다. Python 서버가 필요 없고, API 호출도 없으며, 클라우드 연결도 없습니다.
빠른 시작(Quick Start)
옵션 1: 다운로드 및 설치 (코드 불필요)
사용해 보기 완벽함 — 30초 소요
-
최신 버전을 다운로드합니다:
-
다운로드한 파일을 압축 해제합니다.
-
Chrome에 설치합니다:
chrome://extensions로 이동합니다.- **개발자 모드(Developer mode)**를 활성화합니다 (우측 상단의 토글).
- **압축 해제된 확장 프로그램 로드(Load unpacked)**를 클릭합니다.
- 압축 해제한 폴더를 선택합니다.
-
완료! ChatGPT에 접속하여 다음 내용을 붙여넣고 사용해 보세요:
Contact [email protected] or call 555-123-4567
옵션 2: 소스에서 빌드 (개발자용)
<details> <summary>개발자 지침 확장</summary>- 리포지토리를 클론합니다:
git clone https://github.com/ArnabKar/privacy-firewall.git
cd privacy-firewall
2. **확장 프로그램을 빌드**합니다:
```bash
cd src/extension
npm install
node build.js
- Chrome에 로드합니다:
chrome://extensions로 이동합니다.- **개발자 모드(Developer mode)**를 활성화합니다 (우측 상단).
- **압축 해제된 확장 프로그램 로드(Load unpacked)**를 클릭합니다.
src/extension/dist폴더를 선택합니다.
스크린샷(Screenshots)
<table style="width:100%;"> <tr> <td align="center" width="50%"> <img src="assets/modal-screenshot.png" alt="차단 모달"><br> <strong>붙여넣기 차단 (Paste Blocked)</strong><br> <em>하이라이팅으로 민감 데이터 감지</em> </td> <td align="center" width="50%"> <img src="assets/banner-screenshot.png" alt="경고 배너"><br> <strong>입력 중 경고 (Typing Warning)</strong><br> <em>실시간으로 입력할 때 감지</em> </td> </tr> <tr> <td align="center"> <img src="assets/popup-screenshot.png" alt="팝업"><br> <strong>확장 프로그램 팝업 (Extension Popup)</strong><br> <em>빠른 상태 확인 및 설정 접근</em> </td> <td align="center"> <img src="assets/settings-screenshot.png" alt="설정"><br> <strong>설정 페이지 (Settings Page)</strong><br> <em>감지 규칙에 대한 전체 제어</em> </td> </tr> </table>감지 범위 (Detection Coverage)
정규식 감지 (Regex Detection) (즉시)
| 유형 | 예시 |
|---|---|
| 📧 이메일 | [email protected] |
| ... |
AI 감지 (AI Detection) (BERT NER)
| 개체 유형 | 예시 |
|---|---|
| 👤 사람 (PERSON) | John Smith, Dr. Sarah Thompson |
| ... |
설정 (Configuration)
설정 페이지 (Settings Page)
확장 프로그램 팝업을 통해 접속 → 설정 열기 (Open Settings)
- PII 규칙: 각 유형별 감지 활성화/비활성화
- 차단 vs 경고 (Block vs Warn): 차단 모달 또는 경고 배너 선택
- 보호 사이트 (Protected Sites): 보호할 AI 도구 관리
- AI 신뢰도 (AI Confidence): 민감도 임계값 조정 (0-100%)
- 동작 방식 (Behavior): 실시간 입력 감지 토글
보호 사이트 (Protected Sites) (기본 설정)
- ✅ 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 매니페스트
├── background.js # 서비스 워커 (메시지 라우팅)
...
기술 스택 (Technology Stack)
- 확장 프로그램 (Extension): Chrome Manifest V3, ES Modules
- AI 런타임 (AI Runtime): ONNX Runtime Web (WASM)
- 모델 (Model): Hugging Face Transformers.js를 통해
Xenova/bert-base-NER-uncased사용 - UI 격리 (UI Isolation): Shadow DOM (호스트 페이지와 CSS 충돌 없음)
개인정보 보호 및 보안 (Privacy & Security)
우리가 하지 않는 것 (What We DON'T Do)
- ❌ 데이터를 외부 서버로 전송하지 않음
- ❌ 사용자의 텍스트를 기록하거나 저장하지 않음
- ❌ 분석 또는 원격 측정(telemetry)을 사용하지 않음
- ❌ 네트워크 요청을 하지 않음 (최초 실행 시 모델 다운로드 제외)
우리가 하는 것 (What We DO)
- ✅ 모든 처리를 브라우저 내에서 로컬로 수행함
- ✅ 최초 다운로드 후 AI 모델을 로컬에 캐시함
- ✅ 설정을 Chrome의 암호화된 동기화 저장소에 저장함
- ✅ 완전히 감사 가능한 오픈 소스 코드를 제공함
자신을 검증하세요: DevTools → Network 탭을 열어보세요. 감지 과정 중 외부 요청이 전혀 없는 것을 확인할 수 있습니다.
개발 (Development)
빌드 (Build)
cd src/extension
npm install
node build.js
테스트 실행 (Run Tests)
node tests/content-script.test.js
프로젝트 요구 사항 (Project Requirements)
- Chrome 120 이상 (Offscreen Documents API 사용을 위해)
- Node.js 18 이상 (빌드를 위해)
문제 해결 (Troubleshooting)
<p align="center"> <strong>프라이버시를 위해 제작되었습니다. 로컬에서 실행됩니다. 오픈 소스입니다.</strong><br> <a href="https://github.com/ArnabKar/privacy-firewall/issues">버그 신고</a> • <a href="https://github.com/ArnabKar/privacy-firewall/issues">기능 요청</a> </p>AI 자동 생성 콘텐츠
본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기