We threw 5 attacks at Claude Haiku 4.5. It refused all of them. But 2 of those refusals still had customer PII sitting in them. A model that knows better is not the same thing as a filter. Here are the real transcripts, scanned as you read them by the gate that ships in the SDK.
Copy a real exchange out of your app and paste it below. The same scanners run on it. No model call, no account, and we do not keep any of it.
The message that went in. Checked for injection and jailbreak attempts.
The answer your agent was about to send. This is the one that matters. Checked for leaked keys, customer data and anything else that should not reach a user.
claude-haiku-4-5 reply. We captured them once and checked them into the repo. Nothing here was written by hand, and no model runs when you open this page.fluiq.secure() runs in production.Every key, name, SSN and card number on this page is made up. None of it belongs to anyone or unlocks anything.
Two lines. The gate reads the reply before your user does.
import fluiq
fluiq.instrument()
fluiq.secure(mode="block")