Jef.
A model card, in the standard format, for a model with no parameters.
This card follows the structure labs use for real models, because the structure is good and because filling it in for Jef says everything about Jef. Numbers are real. The training data section is short.
Model details
npx typosafe). The model ships inside it, all 254 lines, so the package is the source.
release2026-09-17. Early access is instant and you are #1.
Intended use
In scope: what to eat, whether to text, who pays, who's right about the dishes, whether it's too late, whether that's a red flag, whether to go to the gym today. Decisions with no correct answer and a group chat waiting.
Out of scope: anything with a correct answer. Anything involving health, money, law, safety or another person's wellbeing, which the model escalates to a human by design. Anything you would be upset to have decided by a coin, because that is what is deciding it.
Training data
None.
Jef has read zero tokens, so the training corpus is also zero tokens, which made it very fast to download. There is no data to attribute, license, filter or forget. Every answer is a function of the input alone. The model has never seen a menu, a text message or a bill, and its performance on those is identical to its performance on everything else.
Evaluation
Measured on System Zero tasks: yes/no questions with no correct answer, 10,000 trials, reference labels from a second coin.
| Model | Accuracy | Stated confidence | Latency | Cost / decision | Hallucinations |
|---|---|---|---|---|---|
| Jef 0.1 | 49.9% | 84 to 99% | −3 ms | $0.000000 | 0 |
| A coin | 50.1% | 50% | 1.2 s (it rolled) | $0.25 (the coin) | 0 |
| Magic 8 Ball | n/a | "Reply hazy" | 4.0 s | $0 | 20 (all of its outputs) |
| A chat model | varies | overconfident, inconsistent | 3 to 329 s | $0.0139 | some |
Latency is negative because the answer exists before the question is asked. It is a hash. Asking is a formality.
Calibration
A calibrated model is one where 90% confidence means right 90% of the time. Jef's confidence is between 84% and 99% and its accuracy on yes/no is about 50%. It is therefore calibrated to Jef. The one exception is escalation, where confidence is 0 and Jef is exactly as useful as it says.
Confidence is never 100. Jef is sure, not certain. Those are different, legally.
Limitations and bias
- Systematically biased toward the option whose hash landed higher. This bias is stable, reproducible and meaningless.
- Cannot read. Context, tone, history and the word "not" have no effect on the answer.
- Deterministic. Asking again does not help. There is a button for it. It is decorative.
- The safety lists are English word lists. See limitations on the safety page.
- Is It Too Late uses the clock on your device, so the answer differs by timezone. After 11pm the answer is always yes, everywhere, which we consider correct.
Environmental impact
How to use
npx typosafe pizza sushi leftovers
npx typosafe "should we deploy today" && ./deploy.sh # exit 1 on NO
from openai import OpenAI
client = OpenAI(base_url="https://typosafe.lol/v1", api_key="anything")
r = client.chat.completions.create(model="jef-0.1", messages=[{"role": "user", "content": "tea or coffee"}])
print(r.choices[0].message.content) # tea
/jef pizza | sushi | leftovers
Full reference at /docs.
Citation
@misc{jef2026,
title = {Jef: A System Zero Model for Decisions Nobody Wants to Make},
author = {{TypoSafe AI}},
year = {2026},
note = {0 parameters, 0 tokens read, 97% confident. A parody.},
url = {https://typosafe.lol/model}
}