llm-guard is archived. I built a deterministic replacement. A developer has released llm_sentinel, a deterministic guardrail library positioned as a replacement for the archived llm-guard, bundling ten scanners that cover prompt injection, secrets, PII, toxicity, gibberish, banned topics, code execution, URL allowlists, token limits, and custom regex. The library ships with optional FastAPI and LangChain adapters and reports 1.00 precision and recall across 133 hand-written benchmark cases, which the developer explicitly frames as a smoke test rather than a safety certification. The developer also documents each scanner's blind spots, noting that pattern matching cannot catch novel phrasings, non-English attacks, or heavy obfuscation such as zero-width characters and homoglyphs. safe = vault.scan text, redact=True .redacted text Scan model output too, not just user input. The threat model changed the day agents started executing tool output. Untrusted text does not only come from users anymore: python result = vault.scan model output Compose your own policy with per-scanner thresholds: python from llm sentinel import Vault, SecretsScanner, PIIScanner, PromptInjectionScanner vault = Vault mode="fail fast", default threshold=0.5 .add PromptInjectionScanner .add SecretsScanner , threshold=0.7 .add PIIScanner Every scanner returns findings with the scanner name, a score, and the matched spans, so you can log exactly what fired and why. No black boxes. What is in v1 Ten scanners, all deterministic: | Scanner | What it catches | |---|---| | prompt injection | Instruction overrides, delimiter smuggling <