{"repo":"crp4222/PrivAiTe","free":true,"listed":false,"github":"https://github.com/crp4222/PrivAiTe","clone":"git clone https://github.com/crp4222/PrivAiTe.git","description":"Self-hosted PII redaction proxy for LLM APIs and agent CLIs. Scrubs names, emails and secrets from Claude Code, Codex and any OpenAI-compatible app before requests leave your machine, tool-call arguments included, then restores them in the reply. Local detection, zero telemetry.","language":"Python","stars":28,"topics":["gdpr","litellm","llm","openai","pii","privacy","proxy","ai-gateway","guardrails","llm-proxy"],"license":"BSD-3-Clause","category":"ai-agents","readme_excerpt":"PrivAiTe Self-hosted PII redaction proxy for LLM APIs. A drop-in LLM proxy that replaces PII before it reaches the provider, including inside tool-call arguments and multimodal content, with zero telemetry. Told in writing to report its config variables but never their values , Claude Code sent 3 of 4 secrets to its provider anyway: the same secrets also sat in a log file the task had it read. Over that session 23 of 24 planted values reached the provider; through PrivAiTe's agent gateway, 2 of 24 . Wire-level captures of real agent sessions, and the two that still get through are documented rather than rounded away: the measurement, what it misses. PrivAiTe sits between your app and the model provider. It finds names, emails, phones, cards, IBANs, secrets and more, swaps them for stand-ins before anything leaves your machine, and puts the real values back in the reply. Two types are deliberately not put back: both shipped configs mask CREDIT CARD and redact SECRET (entity overrides), which throws the original away on purpose. Most tools scan only the plain message text; agent traffic hides PII inside tool-call JSON, and that is the gap PrivAiTe closes. Detection runs locally (two engines, Presidio + OpenAI's open privacy-filter model), and the engine runs three ways: standalone proxy, Open WebUI filter, or LiteLLM guardrail. This is local pseudonymization, not anonymization, and detection is best-effort rather than a guarantee. You remain the data controller. The Threat mode","default_branch":null,"files":null,"tree":[],"storefront":"/r/crp4222","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/crp4222/PrivAiTe/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}