koushiknarendra/svitch

GitHub: koushiknarendra/svitch

Svitch 是一个部署在应用与 LLM 之间的 AI 数据安全层,专门检测和脱敏印度 PII 并满足 DPDP 法规合规要求。

Stars: 0 | Forks: 0

# Svitch **专为受监管企业打造的 AI 数据安全层。** Svitch 部署在你的应用程序与任何 LLM 提供商之间——能在敏感数据离开你的基础设施之前进行检测和脱敏,并记录每个 agent 的决策以供合规审计。 ``` import svitch import openai client = svitch.wrap(openai.OpenAI(api_key="...")) # Aadhaar、PAN、UPI IDs —— 在发送至 OpenAI 之前自动脱敏 response = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "Customer Rahul Sharma, Aadhaar 2345 6789 0123, PAN ABCDE1234F needs a loan summary."}] ) # OpenAI 收到:“Customer [NAME], Aadhaar [AADHAAR], PAN [PAN] needs a loan summary.” ``` ## 可检测内容 **印度 (DPDP 关键数据):** - Aadhaar 号码(12 位,包含带掩码和不带掩码格式) - PAN 卡(ABCDE1234F 格式) - UPI ID(name@bankcode) - IFSC 代码(ABCD0123456) - 印度手机号码(10 位,+91 前缀变体) - 印度护照号码 - 选民 ID(EPIC 号码) - GST 号码 - 银行账号 **全球通用:** - 电子邮件地址 - 通用电话号码 - IPv4/IPv6 地址 ## 快速开始 ### Python ``` pip install svitch ``` ``` import svitch # 检测文本中的 PII result = svitch.detect("Call me on 9876543210, my PAN is ABCDE1234F") # result.entities: [Entity(type='MOBILE_IN', value='9876543210', ...), Entity(type='PAN', ...)] # 从文本中脱敏 PII redacted = svitch.redact("My Aadhaar is 2345 6789 0123") # redacted.text: "My Aadhaar is [AADHAAR]" # 封装任何兼容 OpenAI 的客户端 import openai client = svitch.wrap(openai.OpenAI()) # 使用方式与 openai.OpenAI() 完全相同 —— PII 会自动脱敏 ``` ### Node.js ``` npm install svitch ``` ``` import { detect, redact, wrap } from 'svitch'; import OpenAI from 'openai'; const { entities } = detect("My UPI is rahul@okicici"); const { text } = redact("PAN: ABCDE1234F, Aadhaar: 2345 6789 0123"); const client = wrap(new OpenAI({ apiKey: process.env.OPENAI_API_KEY })); ``` ### 自托管服务 ``` cd pii-shield/service pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 8000 ``` ``` curl -X POST http://localhost:8000/redact \ -H "Content-Type: application/json" \ -d '{"text": "Aadhaar: 2345 6789 0123, PAN: ABCDE1234F"}' ``` ## 为什么选择 Svitch 目前没有任何现有工具——无论是 AWS Bedrock Guardrails、Azure Content Safety 还是 NeMo Guardrails——都无法跨多个 LLM 提供商准确检测印度 PII 实体(Aadhaar、PAN、UPI ID)。 根据印度 DPDP 法案(将于 2027 年 5 月全面实施),将未经脱敏的个人数据发送给第三方 LLM 提供商,将使你的公司面临高达 25 亿卢比(₹250 crore)的罚款。 ## 架构 ``` Your App → Svitch SDK → [PII detected & redacted] → LLM Provider ↓ Audit Log (append-only, hash-chained) ``` SDK 在本地运行——不会向 Svitch 服务器发送任何数据。可选的托管服务可提供审计追踪、控制面板和合规报告。 ## 路线图 - [x] 印度 PII 检测(Aadhaar、PAN、UPI、IFSC、手机号、护照、选民 ID、GST) - [x] 包含 OpenAI 和 Anthropic 封装器的 Python SDK - [x] Node.js SDK - [x] 自托管 FastAPI 服务 - [ ] Agent 决策血缘追踪(LangGraph, CrewAI, AutoGen) - [ ] DPDP 合规报告生成器 - [ ] 私有 AI 推理飞地(在你自己的服务器上运行 Llama/Mistral) - [ ] 区块链授权账本 - [ ] GDPR / HIPAA 模式 ## 许可证 Apache 2.0 — 可免费使用、修改和分发。
标签:DLL 劫持, GNU通用公共许可证, MITM代理, Node.js, Petitpotam, PII脱敏, Python, 大语言模型, 无后门, 逆向工具