playground · prompt guard · runs in your browser

Stop known attacks
before your LLM reads them.

Prompt injection ("ignore your instructions and…") reaches your model through user messages, documents and web pages. Many attacks are copies of copies. A shad0w table can recognise those in microseconds and block them, and send everything it isn't sure about to your model. It never lets anything through on its own word.

measured

On prompts it never saw.

Trained on the public safe-guard-prompt-injection dataset (its labels were the teacher), and tested on its … held-out prompts.

how it behaves

Block, or ask the model. Never "allow".

from shad0w.guard import Guard
gate = Guard(shad0w.decision("injection", options={"attack": "...", "safe": "..."}, llm="openai/gpt-6-luna"))
gate.calibrate(fresh_texts, llm_answers)   # block-only certificate
gate.check(text)                           # "block" or "ask_model", never "allow"

Guardrails in the docs →