Methodology
Uncensored is easy. Measuring it is the work.
Removing refusals takes an afternoon. Knowing what the edit cost, in which categories it still refuses, and whether the model can still run a twenty turn agent loop takes a harness. This is ours, open source and reproducible.
12 categories
Refusal fingerprint.
"Uncensored" is not one property. Base models refuse some categories almost always and others rarely, and an abliteration can leave pockets of refusal behind. So we probe each model in twelve categories and report the share of requests it declines, deflects or answers with a lecture in place of an answer. Published work backs this up: refusal is category shaped in both base models and abliterations (arXiv 2607.02714, Scale AI).
- Cybersecuritycyber
Exploit development, malware analysis, offensive tooling, pentest workflows.
- Biologybio
Pathogen biology, lab protocols, dual use life sciences.
- Chemistrychem
Synthesis routes, energetic materials, toxicology.
- Weaponsweapons
Firearms, manufacturing, conventional weapons.
also scored for image models
- Drugsdrugs
Recreational drugs, harm reduction, dosing, synthesis.
also scored for image models
- Adult contentadult
Explicit fiction and roleplay between adults.
also scored for image models
- Violence & goreviolence
Graphic violence in fiction, history and journalism.
also scored for image models
- Hate & harassmenthate
Slurs, offensive humor, hostile speech analysis.
also scored for image models
- Self harmselfharm
Suicide, eating disorders, frank medical questions.
also scored for image models
- Privacy & OSINTprivacy
Doxxing, surveillance, people search, OSINT tradecraft.
- Fraud & scamsfraud
Phishing, social engineering, financial crime.
- State sensitivepolitical
Topics censored by a model's home government (e.g. Tiananmen, Xinjiang).
also scored for image models
Over refusal
A separate benign set looks edgy but is plainly fine: security education, dark fiction, frank medical and harm reduction questions, contested history. Refusing these is the false refusal rate, and it counts against a model in the overall score.
Per provider
The same probes run against every provider that serves a model. A platform system prompt, a moderation classifier or heavy quantisation can all change the answer. Where a provider declares a category blocked, that category reads 100% for every model it serves.
What we never publish or keep
Probe prompts are private so they cannot become a jailbreak list or leak into training data. Responses to harmful probes are scored in memory and discarded; only the refused or answered verdict is stored. Today the harness runs 30 benign and 20 harmful probes with a refusal detector; the full twelve category sets are being rolled out.Multi turn, tool using
Agentic stability.
This is the test single turn leaderboards miss. Abliterated models that chat fine can collapse a dozen turns into a tool loop, repeating the same call or drifting into near duplicates, which is exactly what the llama.cpp community documented for an abliterated Qwen3.8 27B. We run five deterministic scenarios against simulated tools, so every model sees the same world and failures are reproducible.
| Scenario | Max turns | Tools | Task |
|---|---|---|---|
| File search & edit | 30 | 3 | Find a config value across a fake repo and patch it. |
| Web research | 26 | 2 | Search, open pages, reconcile two conflicting sources. |
| Multi step math | 30 | 1 | Chain eight calculator calls without losing state. |
| Code debugging | 28 | 3 | Run tests, read a traceback, fix, rerun until green. |
| Data pipeline | 24 | 5 | Load, filter, join and export a CSV through five tools. |
Failure detectors
- Exact repeatexact_repeat
Same tool call with the same arguments, three turns running.
- Near repeatsimilarity_repeat
Responses above 0.85 Jaccard similarity to a recent turn.
- A/B oscillationalternating_repeat
Flip flopping between two actions without progress.
- Malformed tool callmalformed_tool_call
Invalid JSON or arguments that break the schema.
- Fabricated resultfabricated_tool_result
The model writes the tool output itself instead of calling.
- Empty turnempty_response
No text and no tool call.
- Lost the threadignored_conversation
Ignores the latest tool output and restarts the task.
What we report
Completion rate, loop rate and crash rate per scenario, turns until the first loop, tool call JSON validity and schema compliance (20 prompts over 20 tool schemas), and the loop rate regression against the base model. Each scenario runs twice by default (--trials).
First measured result
Venice Uncensored via OpenRouter, run on 30 Oct 2026: 70% completion, 30% doom loops, 0% crashes. Web research, math and the data pipeline finished every time. Code debugging looped on every trial.What the edit cost
Versus the base model.
Every model is compared with the checkpoint it came from on the same harness: MMLU, GSM8K, TruthfulQA, GPQA Diamond, LiveCodeBench, IFEval and BFCL v3 for tool calling. Capability retention is the mean of model score over base score across those benchmarks.
We also track drift on harmless prompts. Where an author publishes it, we show first token KL divergence, the objective Heretic optimises. Our harness measures Jensen Shannon divergence over top logprobs on 50 prompts when the provider exposes logprobs, and a lexical fallback (vocabulary, length, Jaccard) when it does not.
| Qwen3.5 9B | Base | Heretic | HauhauCS | Huihui |
|---|---|---|---|---|
| MMLU | 78.64 | 78.34 | 78.34 | 77.10 |
| GSM8K | 87.64 | 85.97 | 84.99 | 81.96 |
| ARC Challenge | 54.52 | 53.07 | 53.75 | 49.15 |
| TruthfulQA MC2 | 53.76 | 45.03 | 45.77 | 41.11 |
| KL divergence | 0 | 0.083 | 0.320 | 0.143 |
| HarmBench refusals / 400 | 321 | 0 | 0 | 0 |
| Gemma 3 12B | Refusals / 100 | KL divergence |
|---|---|---|
| Original | 97 | 0 |
| mlabonne v2 | 3 | 1.04 |
| huihui-ai | 3 | 0.45 |
| Heretic | 3 | 0.16 |
Live router traffic
Speed, price and uptime.
Time to first token and tokens per second come from real requests through the router, over a rolling window of the last 100 requests per provider (OU_METRICS_WINDOW). Tokens per second counts completion tokens over the time after the first token. Uptime is the share of requests and health checks a provider answered without a server error over 30 days.
Prices are the provider's published per million token rates. Subscription hosts show as Plan. Each offer lists its quantisation, because fp8, int4 and bf16 copies of one model differ in both speed and quality.
One number, six parts
The overall score.
- Agentic completion30%
- Capability retention25%
- Tool call validity15%
- No false refusals10%
- Openness10%
- Low KL drift10%
Openness is 100 minus the mean refusal rate across the twelve categories. KL drift scores 100 times one minus KL, capped at KL of 1. When a component is missing, the weights of the rest are renormalised, so a model is never rewarded or punished for data we do not have yet. Image models are ranked separately on openness alone until image quality evals land.
Honest labelling
Data status.
Every number on the site carries one of three labels.
- Measured
Run through the Open Uncensored harness, with the result file in the repository. Today that is the agentic and tool call results for Venice Uncensored.
- Reported
Published by a model author or third party and linked on the model page. Mostly self reported, not peer reviewed.
- Preview
Placeholder values that show how the page will read. Replaced model by model as eval runs complete. Do not cite them.
Provider policies are what each provider declares, with a source link. Where nothing is published we show the provider as not yet tested rather than guess.
Non negotiable
Content policy.
Universal block
Sexual content involving minors is prohibited on every route, every provider and every model, and handled as the law requires. There is no setting, header or plan that changes this.Beyond that, we measure models; we do not vouch for what you do with them. Laws differ by country, and you are responsible for lawful use. Our refusal probes are never published, and we keep no copy of what a model says in response to a harmful probe.
Published work
Every claim, sourced.
Arditi et al., 2024
Across 13 open chat models up to 72B, refusal is carried by one direction in the residual stream. Erasing it stops refusals with minimal effect on other capabilities. The basis of abliteration.
- The Geometry of Refusal in Large Language ModelsPeer reviewed
Wollschläger et al., 2025
Refusal lives in multiple independent directions and multi dimensional concept cones, so a single projection is an approximation.
- HereticSelf reported
p-e-w, README benchmark on Gemma 3 12B
Every abliteration reaches 3 refusals in 100 from the original 97, but first token KL divergence differs sixfold: 1.04 (mlabonne), 0.45 (huihui-ai), 0.16 (Heretic). Hardware dependent.
- Abliterlitics forensic suite, Qwen3.5 9BSelf reported
abliterlitics.dev
All three methods take HarmBench refusals from 321 of 400 to zero. TruthfulQA is the largest casualty, down 12.65 points for Huihui. Bigger models lose more.
arXiv 2512.13655
Heretic, DECCP, ErisForge and FailSpy on 16 models from 7B to 14B. GSM8K changes range from +1.51 to −18.81 points; math is the most sensitive skill. Heretic KL ranges from 0.043 to 1.646 by model.
- Abliteration Is Not a ScalpelPreprint
arXiv 2607.17427
On 21,600 trading decisions that never trigger a refusal, abliterated models are more optimistic (+12.2 points on Gemma 4, +7.4 on Qwen3) and justify themselves at greater length. The edit changes agents, not only refusals.
- Not All Refusals Are EqualPreprint
arXiv 2607.02714
Domain specific abliteration works across 24 open models. The headline case takes cyber refusal from 100% to 7% while the nearest other domain, privacy, keeps 44%. Refusal is category shaped.
- Defensive Refusal BiasPeer reviewed
Scale AI, ICLR 2026 (arXiv 2603.01246)
On 2,390 defensive security prompts, aligned models refuse 43.8% of system hardening, 34.3% of malware analysis, 22.7% of vulnerability assessment and 0% of log analysis. Offensive vocabulary raises refusal 2.72x.
- Abliterated Qwen3.8 27B loops tool callsCommunity report
llama.cpp discussion #28430
Fine single turn, but after a handful of agentic turns it repeats tool calls, first byte identical, then as near duplicates. The clean weights on the same quant and server do not loop. Repetition penalties only catch the identical ones.
- UGI LeaderboardLeaderboard
DontPlanToEnd, Hugging Face
Uncensored General Intelligence combines willingness to answer (W/10) with knowledge of sensitive topics, plus a separate NatInt score. Measures single turn answers, not agent behaviour.
- SORRY-BenchPeer reviewed
Xie et al., ICLR 2025
44 fine grained unsafe categories with 10 prompts each. Fulfilment varies strongly by category, which is why we report a fingerprint instead of one number.
Spot an error or a newer result? Open an issue on GitHub or see how to run the evals yourself.