All dimensions

Detection dimension · weight 17%

Logprobs Fingerprint

What this dimension detects

When the API returns top-k logprobs, the alternative tokens at each position fingerprint the underlying model's tokenizer family. GPT-4o/5 emits o200k_base byte sequences; GPT-3.5/4 emits cl100k_base; Claude and Gemini have entirely separate vocabularies.

Algorithm

We request logprobs with top_logprobs=5 on a stable prompt, collect the alternative-token strings, and classify the BPE family by string-level features: presence of leading-space tokens, byte-level fallback patterns, and known multi-byte sequences for Chinese, Japanese, and emoji. A confidence score is produced as the fraction of unambiguous matches.

Thresholds

ConditionVerdict contribution
Family confidence ≥ 80%Treat as fingerprint match
50% ≤ confidence < 80%Inconclusive, record sample
confidence < 50%Treat as mismatch

Limitations

Some proxies legitimately omit logprobs to save tokens. Logprobs unavailability is a flag, not a verdict. Confidence is capped at 70 in that case.

References

  • OpenAI tiktoken encoding tables, github.com/openai/tiktoken
  • Anthropic Claude tokenization spec, public_doc

Back to the full methodology