cloud-ru-tech/guardrails-llm-filter-extproc — explained in plain English
Analysis updated 2026-05-18
Mask personal information and secrets before they reach an AI model in an Envoy-based gateway
Restore original sensitive values in AI responses so end users see unmasked text
Monitor what data would be masked using a safe observation-only mode before enforcing it
| cloud-ru-tech/guardrails-llm-filter-extproc | glockinhand/guns.lol-view-bot | volcengine/mediakit-cli | |
|---|---|---|---|
| Stars | 40 | 40 | 40 |
| Language | Go | Go | Go |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 3/5 | 2/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an Envoy proxy configured with the ext_proc filter and Docker for the quickstart demo.
guardrails-llm-filter-extproc is a Go based service that protects sensitive information as it flows between an application and a large language model. It works alongside Envoy, a popular proxy server, using a feature called an external processor. Traffic still passes through Envoy as normal, but Envoy hands the request and response bodies to this filter over gRPC so it can inspect and clean them on the way through. The filter's job is to find things like passwords, API keys, access tokens, IP addresses, and personal information, including Russian identifiers such as SNILS, INN, and OGRN numbers, bank card numbers, and IBANs, checked against their known formats. It uses around 260 built in pattern rules to spot this kind of data inside a request before it reaches the AI provider, and replaces each sensitive value with a safe placeholder, such as a labeled stand in for an email address. When the AI's response comes back, the filter swaps the placeholders back to the real values before the client ever sees them, so from the client's point of view nothing changes, even for streaming, token by token responses. The project already understands the request and response formats used by OpenAI and Anthropic style APIs, including chat completions, messages, and other common endpoints, both regular and streaming. If the filter itself becomes unavailable, Envoy is configured to let traffic through rather than block it, so a failure in the filter does not take down the whole system. There is also a quiet observation mode that only records what it would have masked, useful for testing new rules without changing real traffic. Sensitive data mappings can be stored in memory, in Redis, or in Postgres, optionally encrypted, which allows the filter to work correctly even when multiple copies of it are running behind the same proxy. The project also reports metrics compatible with Prometheus and includes a Grafana dashboard and an audit log for tracking what has been detected over time. It is released under the Apache 2.0 license and is built with Go.
A Go service that masks sensitive data like API keys and personal information in traffic to AI models, then restores it in the response.
Mainly Go. The stack also includes Go, Envoy, gRPC.
Free to use, modify, and distribute, including commercially, as long as you include the license and attribution (Apache 2.0).
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
double-check against the repo, no cap.