dataiku/kiji-proxy

Privacy proxy for your OpenAI requests

📦 项目概述

Kiji Privacy Proxy 是一个开源、隐私优先的代理,位于您的应用程序(或浏览器)与 AI 服务 API(如 OpenAI、Anthropic、Gemini 或 Mistral)之间。它会自动检测出站提示中的个人身份信息(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 优化模型对大多数请求提供低于 100 毫秒的延迟。
跨平台交付 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 ──────────────────◄
   ▼                ▼
结果包含原始外观数据
  • 代理运行一个 Go 服务器(kiji-proxy),通过 ONNX Runtime 加载 ONNX 模型。它维护一个每请求的映射表(虚拟 ↔ 真实值),用于恢复。
  • 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(约 400 MB)、Linux tarball(约 150 MB)、Debian/Ubuntu .deb。
  • CI/CD – GitHub Actions 在每次推送/标签时构建和测试。
  • 许可证 – Apache 2.0(宽松、商业友好)。

TL;DR

Kiji Privacy Proxy 是一个真正的、生产就绪的工具,允许开发者安全地使用外部 LLM API,而不会冒意外暴露电子邮件、电话号码、信用卡号或其他 PII 的风险。它通过运行本地、ONNX 加速的 transformer 模型来实时掩蔽数据,提供审查 UI,并在响应中恢复原始内容——所有这些都无需对调用应用程序进行任何代码更改。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch