Show HN: Aiproxy – Redact PII locally before it reaches Claude/OpenAI A developer released aiproxy, a free, open-source anonymizing reverse proxy that scrubs people and company names and other sensitive content with a local LLM before forwarding requests to Anthropic's Claude or OpenAI, then restores the originals in the reply. The tool keeps originals and tokens in a local encrypted store, ships four processors (secrets_regex, anonymizer local-LLM NER, image_redactor, logger), handles text, images and PDFs, and offers a /dryrun endpoint to preview redactions; it requires Python 3.11+, Ollama, 6 GB free RAM for CPU-only NER and about 4 GB of disk for the 3B NER model. The author warns that detection is not guaranteed, since a local LLM can miss an entity and a real value can still reach the upstream provider, and advises running in fail_closed mode and treating the mapping store as a secret. aiproxy is free and keeps your data on your machine. If it saves you from leaking PII to an LLM provider, buy me a coffee ☕ https://buymeacoffee.com/cucoo — it funds the time that keeps the project maintained. Anonymizing reverse proxy for LLM APIs. Point Claude Code or any AI tool at aiproxy; it scrubs people/company names and other sensitive content with a local LLM before forwarding to Anthropic, then restores the originals in the reply. Pluggable filter/processor interface. Handles text, images, PDFs. AI tool ──▶ aiproxy ── redacted ──▶ Anthropic ▲ │ │ └─ restored ─┴─────── tokens ────────┘ - Reversible anonymization: originals ↔ tokens kept in a local encrypted store. - One Processor interface — drop in your own filters or reviewed plugins https://github.com/cucooOnGithub/aiproxy/blob/master/docs/WRITING A PROCESSOR.md . - Ships: secrets regex , anonymizer local-LLM NER , image redactor , logger . - /dryrun endpoint to preview redactions before trusting it. - Scales to a shared org service: per-user identity + isolation, self-service term lists /terms , SQLite or Postgres store, config hot-reload SIGHUP , secrets-manager key sourcing, /readyz . See docs/ORG DEPLOYMENT.md https://github.com/cucooOnGithub/aiproxy/blob/master/docs/ORG DEPLOYMENT.md . Full install + usage: docs/MANUAL.md https://github.com/cucooOnGithub/aiproxy/blob/master/docs/MANUAL.md . Use at your own risk — no warranty. aiproxy is provided as is , without warranty of any kind see the No Liability clause in LICENSE https://github.com/cucooOnGithub/aiproxy/blob/master/LICENSE . Detection is not guaranteed : a local LLM can miss an entity, so a real value can still reach the upstream provider. You are responsible for validating redaction for your own data and for any obligations you have to the people whose data you process. Run it in fail closed mode, verify with /dryrun , and treat the mapping store as a secret. See the threat model https://github.com/cucooOnGithub/aiproxy/blob/master/docs/MANUAL.md threat-model . ⚠️ The pipeline redacts on the way out and restores on the way in; the upstream API only ever sees tokens. Both directions share the encrypted store and the local NER model. php flowchart LR C "AI client" -- I "Ingress · identity