dataiku/kiji-proxy

Privacy proxy for your OpenAI requests

📦 프로젝트 개요

Kiji Privacy Proxy는 애플리케이션(또는 브라우저)과 OpenAI, Anthropic, Gemini, Mistral과 같은 AI 서비스 API 사이에 위치하는 오픈 소스, 프라이버시 우선 프록시입니다. 나가는 프롬프트에서 개인 식별 정보(PII)를 자동으로 감지하고, 현실적인 더미 값으로 대체하며, 마스킹된 요청을 전달한 후 응답에서 원본 데이터를 복원합니다. 모든 감지는 가벼운 DistilBERT 모델(ONNX 최적화)에서 로컬로 실행되므로 민감한 텍스트가 기기를 떠나지 않습니다.


🎯 핵심 사용 사례

사용 대상 도움이 되는 이유
AI 기반 앱을 구축하는 개발자 외부 LLM API에 프롬프트를 보낼 때 고객 데이터의 우발적 유출을 방지합니다.
데이터 과학 팀 LLM에 공급하기 전에 로그 또는 학습 데이터를 정리하여 GDPR, HIPAA, CCPA 등을 준수합니다.
지원 엔지니어 실제 사용자 이메일, 전화번호 또는 신용카드 번호를 노출하지 않고 ChatGPT를 티켓 분류에 사용합니다.
보안/규정 준수 담당자 26가지 내장 PII 유형을 마스킹하고 사용자 지정 정규식 규칙을 추가할 수 있는 투명하고 감사 가능한 계층을 적용합니다.

🛠️ 주요 기능(README 설명 기준)

기능 설명
자동 PII 감지 ML 기반 DistilBERT 모델(ONNX)이 26가지 엔터티 유형(이메일, SSN, 신용카드, 전화, 주소 등)을 인식합니다.
원활한 마스킹 및 복원 감지된 값은 요청이 프록시를 떠나기 전에 더미 데이터로 대체됩니다. 원래 값은 LLM 응답에 다시 삽입됩니다.
제로 코드 통합 로컬 HTTP 프록시로 실행됩니다(기본값 :8081). macOS 앱은 PAC 파일을 자동으로 설치하여 브라우저가 수동 구성 없이 api.openai.com 등을 라우팅할 수 있도록 합니다.
브라우저 및 Chrome 확장 프로그램 ChatGPT, Claude, Gemini 등에 대한 인라인 PII 감지. 확장 프로그램은 마스킹된 엔터티를 제자리에 표시합니다.
구성 가능한 마스킹 UI 또는 구성 파일을 통해 특정 엔터티 유형을 끄거나, 민감도를 조정하거나, 사용자 지정 정규식 패턴을 추가할 수 있습니다.
매핑 검토 UI Electron 데스크톱 UI가 모든 마스킹된 값을 나열하고, 개별 또는 일괄 삭제할 수 있습니다.
빠른 로컬 추론 ONNX 최적화 모델로 대부분의 요청에 대해 100ms 미만의 지연 시간을 제공합니다.
크로스 플랫폼 제공 macOS 네이티브 앱(DMG, Homebrew Cask) 및 Linux 서버(deb, tarball, systemd 서비스).
Docker 및 systemd 지원 프로덕션 배포 준비 완료. 로그는 구조화되어 관찰 가능성 스택으로 전송할 수 있습니다.
프라이버시 우선 설계 모든 PII 처리는 기기 내에서 이루어집니다. 원격 측정은 선택 사항이며 원시 프롬프트를 포함하지 않습니다.
확장 가능 모델을 미세 조정하거나 교체할 수 있습니다. 학습 데이터와 모델은 HuggingFace에 게시되어 있습니다.

🚀 시작하기(빠른 실행 요약)

  1. 설치 macOS: brew install --cask dataiku/tap/kiji-privacy-proxy
    Linux: Releases 페이지에서 .deb 또는 tarball을 다운로드하고 kiji-proxy를 실행합니다(또는 systemd 유닛을 활성화).
  2. 프록시 실행 – macOS에서는 앱이 PAC 파일을 자동으로 구성합니다. Linux에서는 HTTP_PROXY/HTTPS_PROXY를 http://127.0.0.1:8081로 설정합니다.
  3. 요청 보내기 – 예: 프롬프트에 이메일을 포함하여 curl https://api.openai.com/v1/chat/completions …를 실행합니다. 로그에 이메일이 마스킹된 것으로 표시되고, 응답에는 원래 이메일이 복원되어 포함됩니다.
  4. 매핑 검사/편집 – Electron UI를 열어 어떤 값이 마스킹되었는지 확인하고 선택적으로 삭제합니다.

🏗️ 아키텍처(높은 수준)

앱/CLI  ──►  Kiji Privacy Proxy (HTTP/HTTPS)  ──►  LLM 공급자 API
   │                │  PII 감지 및 마스킹                │  (마스킹된 데이터만)
   │                │  요청 전달                        │
   │                │  응답 수신                        │
   │                ◄─ 원본 PII 복원 ──────────────────◄
   ▼                ▼
원본처럼 보이는 데이터가 포함된 결과
  • 프록시는 ONNX Runtime을 통해 ONNX 모델을 로드하는 Go 서버(kiji-proxy)를 실행합니다. 복원에 사용되는 요청별 매핑 테이블(더미 ↔ 실제 값)을 유지합니다.
  • Electron 프론트엔드는 로컬 API를 통해 동일한 매핑 테이블을 읽어 검토, 삭제 및 구성을 위한 UI를 제공합니다.
  • 선택적 Unix 소켓 리스너(PROXY_UNIX_SOCKET_PATH)를 사용하면 TCP 포트 대신 소켓 뒤에서 프록시를 실행할 수 있습니다.

📚 문서 및 확장성

  • 전체 문서 – docs/README.md에는 설치, 개발, 빌드, 릴리스 관리, 고급 주제, Chrome 확장 프로그램, 사용자 지정 모델 학습, 마스킹 제어 및 코딩 에이전트 통합에 대한 섹션이 있습니다.
  • 모델 및 데이터 – HuggingFace에 게시됨(DataikuNLP/kiji-pii-model-onnx, kiji-pii-model, kiji-pii-training-data). 사용자 지정 PII 모델 가이드에 따라 모델을 미세 조정하거나 교체할 수 있습니다.
  • 사용자 지정 정규식 규칙 – UI 또는 구성 파일을 통해 도메인별 패턴을 추가합니다.
  • 코딩 에이전트 – 프록시를 사용하여 Codex 또는 Claude Code 에이전트를 라우팅하여 생성된 코드에 PII가 포함된 경우에도 보호되도록 할 수 있습니다.

🤝 기여 및 커뮤니티

  • 버그 또는 기능 아이디어에 대한 이슈를 엽니다.
  • Dataiku CLA(봇 안내)에 서명한 후 풀 리퀘스트를 수락합니다.
  • 문서 개선, 모델 학습 데이터 기여 또는 새로운 파트너 통합을 환영합니다.
  • 커뮤니티 채널: GitHub Discussions, Slack(초대 링크 제공), 일반적인 GitHub stars/forks.

🔒 보안 및 개인정보 보호

  • 모든 PII 감지는 로컬에서 실행됩니다. 모델에 대한 외부 호출이 없습니다.
  • 더미↔실제 매핑을 위한 선택적 암호화 저장소.
  • 보안 공개는 opensource@dataiku.com으로 비공개로 보내야 합니다.

📦 릴리스 및 라이선스

  • 최신 릴리스 – macOS DMG(약 400MB), Linux tarball(약 150MB), Debian/Ubuntu .deb.
  • CI/CD – GitHub Actions가 모든 푸시/태그에서 빌드 및 테스트를 실행합니다.
  • 라이선스 – Apache 2.0(허용적, 상업적 사용 가능).

TL;DR

Kiji Privacy Proxy는 개발자가 이메일, 전화번호, 신용카드 번호 또는 기타 PII의 우발적 노출 위험 없이 외부 LLM API를 안전하게 사용할 수 있게 해주는 진정한 프로덕션 준비 도구입니다. 로컬에서 ONNX 가속 트랜스포머 모델을 실행하여 데이터를 실시간으로 마스킹하고, 검토용 UI를 제공하며, 응답에서 원본 콘텐츠를 복원합니다. 이 모든 것이 호출 애플리케이션의 코드 변경 없이 이루어집니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch