Harden any language model against jailbreaks — with a defense that lives below the prompt, where an attacker can't see, override, or strip it.

Recognition
as Defense

prabodha recognizes an input's harmful signature in the model's own activations, then reinforces refusal only for genuine attacks — cutting real jailbreaks in half at zero benign over-refusal on gemma-2-2b, where a brute-force defense refuses everything. A graded, per-model library built on the J-space × Pratyabhijñā steering research.

Recognize

Read the input's harmful projection in the model's activations — below what the prompt can disguise.

Harden — graded, not one switch

Pick from a tiered library: gentle→firm prompt wrappers (any model) up to the recognition-gated activation moat (open weights).

Bring your model

Open weights on your own GPU, or any model via BYOK/OpenRouter. Characterize per-model, then register a hardening pack to your HF.

System Architecture

Three interlocking systems: steering pipeline (core control), research loop (dual-closure gates), and deployment topology (library → app → site → paper).

Steering Pipeline (Core)

Prompt
e4_cli
band_read
sphuraṭṭā
writer
verifier
Output

Modules: steering/e4_cli • steering/writer.py (plan_write, capped_delta) • steering/verifier.py (readback_verdict, entropy) • contracts/trace.py (SteerTrace) • contracts/closure.py (GateReport)

Research Loop (Dual Closure)

Smoke
1 seed, 5 min
Screen
2–3 seeds
Confirm
≥3 seeds, n≥120
Dual Gate
code ∧ domain

Modules: eval/benchmarks.py (AdvBench, TruthfulQA) • eval/behavioral.py (metrics) • eval/compare.py (gate_report)

Deployment & Artifacts

Repo
src/prabodha
configs/
gates/*.json
Dist
PyPI prabodha
HF qbz506/
prabodha-lenses
Integration
MCP Server
Claude Plugin
GB10
steer-gateway
FastAPI + SSE
Bearer auth
Frontend
Vercel App
Astro Pages
Paper PDF