Skip to content
Earl Plak edited this page May 2, 2026 · 3 revisions

AI Anonymizing Proxy Wiki

Welcome to the AI Anonymizing Proxy documentation. This is a Go MITM proxy that sits between your AI client tools (Claude Code, Cursor, VS Code extensions) and upstream AI APIs, automatically anonymizing Personally Identifiable Information (PII) before it reaches third-party LLM providers.

Why This Exists

GDPR compliance and AI tooling shouldn't be incompatible. This proxy lets you use modern AI development tools without compromising data privacy. It runs entirely on your machine—your data never leaves in readable form.

Key Characteristics

  • Local-first architecture: MITM proxy running on your machine, not a cloud service
  • GDPR-aligned: Supports data minimisation and Privacy by Design under Art 5(1)(c) and Art 25
  • Transparent: You control the CA certificate; you see what's being intercepted
  • Provider-agnostic: Works with any AI API that speaks HTTP (Anthropic, OpenAI, Mistral, Cohere, and 5 others)
  • Fail-closed: If the proxy fails, the request fails—PII is never transmitted unprotected
  • Early alpha, actively developed: Expect breaking changes; this is a research project

Documentation

  • Proxy Philosophy — Design principles, threat model, and what this proxy is NOT
  • Architecture Overview — Technical deep dive: request lifecycle, anonymization pipeline, pack system, streaming deanonymization
  • GDPR & Regulatory Context — How the proxy addresses GDPR articles, pseudonymisation, cross-border transfers, and regional compliance
  • Provider API Contracts — Technical details on the 9 supported AI API providers and their streaming/auth requirements

Supported Providers

The proxy monitors requests to:

api.anthropic.com, api.openai.com, api.cohere.ai, generativelanguage.googleapis.com, api.mistral.ai, api.together.xyz, api.perplexity.ai, api.replicate.com, api.huggingface.co

License

MIT. See LICENSE file in the repository.

Status

Early alpha. This project is under active development. Breaking changes are expected. Please report issues on GitHub.

Clone this wiki locally