DEV Community

JEEVAN NAGARAJ
JEEVAN NAGARAJ

Posted on

I built an open source proxy that blocks PII and prompt injection before any LLM call

The problem

Every time your application calls Claude or GPT-4o, your users' sensitive data travels to an external server. Names, emails, phone numbers, NHS numbers, financial data. Most developers have no visibility into what is actually leaving their system.

What I built

Jnvoy is a drop-in proxy. Change one URL in your code and every LLM call is automatically protected.

Before Jnvoy:
Your app sends raw user data directly to Claude or GPT-4o.

After Jnvoy:
Every request is scanned locally, PII is replaced with reversible tokens, the clean request goes to the LLM, and original values are restored in the response.

What it does

  • Microsoft Presidio PII detection with 20+ entity types
  • UK-specific recognisers: NHS numbers, NI numbers, UK postcodes, sort codes
  • Prompt injection detection: blocks jailbreaks, instruction overrides, system prompt extraction
  • MCP security: detects tool poisoning and secret leakage in tool responses
  • PostgreSQL audit logs for FCA and GDPR compliance
  • One click FCA and EU AI Act compliance report PDF
  • Semantic caching saves 20 to 40 percent of LLM costs
  • Multi-tenant API keys with complete data isolation
  • Slack connector protecting AI bot messages
  • Docker stack in one command
  • 164 automated tests passing

One URL change

# Before
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-...")
response = client.messages.create(model="claude-haiku-4-5", messages=[{"role": "user", "content": user_message}])

# After
import httpx
response = httpx.post("https://jnvoy.onrender.com/v1/proxy", json={"model": "claude-haiku-4-5", "provider": "anthropic", "messages": [{"role": "user", "content": user_message}]})
Enter fullscreen mode Exit fullscreen mode

Try it

curl "https://jnvoy.onrender.com/v1/scan?text=My NI number is AB123456C and email is john@example.com"
Enter fullscreen mode Exit fullscreen mode

Live: https://jnvoy.com
GitHub: https://github.com/Jeevan2191999/jnvoy

Happy to answer questions about the architecture.

Top comments (0)