Current-Agent behavioral fingerprint

Verify the model behind your AI Agent.

Ask the Agent you are already using to sample its own authenticated model route in fresh sessions, then compare the answer distributions with public references. No key extraction and no environment-model guessing.

Host-managed authentication Independent fresh sessions Paper-inspired JSD
  1. Sample20 fresh calls · 4×5
  2. Normalizeone answer per call
  3. Comparemean JSD vs references
  4. Reportmatch · mismatch · unsure
Shortest run prompt01
Open /run
Original direct-install prompt02
Download .skill

Default complete check: 20 fresh model requests (4 probe cells × 5 independent requests). Requires Node.js 22+ and a signed-in Codex or Claude Code CLI. Requests can use your host allowance or provider balance and may take several minutes.

verify-current-session — exact demo output
╭────────────────────────────────────────────────────────────────────────────────────╮◈ SKILL SCAN RESULT  verifyllmapi.com  DEMO                                        │
├────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                    │
│    ◆  CONSISTENT                                                                   │
│    BEHAVIOR MATCHES CLAIMED PUBLIC REFERENCE                                       │
│                                                                                    │
├────────────────────────────────────────────────────────────────────────────────────┤ROUTE BINDING                                                                      │
│ Claim        gpt-5.5                                                               │
│ Child route  openai / gpt-5.5                                                      │
│ Model pin    gpt-5.5                                                               │
│ Auth         host-managed; credential read = NO                                    │
│ Isolation    20/20 fresh ephemeral session IDs                                     │
│ Sampling     T=1 host default • reasoning=none • 4 cells × 5                       │
├────────────────────────────────────────────────────────────────────────────────────┤DISTRIBUTION EVIDENCE                                                              │
│  animal-random|en        5/5 valid   mode otter                                   │
│  word-random|en          5/5 valid   mode serendipity                             │
│  animal-random|ru        5/5 valid   mode тигр                                    │
│  animal-random|ar        5/5 valid   mode أسد├────────────────────────────────────────────────────────────────────────────────────┤PUBLIC REFERENCE COMPARISON  Zenodo 10.5281/zenodo.21278557                        │
│ Claim ref    openai/gpt-5.5                                                        │
│ Mean JSD     0.412684    accept ≤ 0.6439                                           │
│ Calibration  11.8% EER • same-data, post-hoc cells • OpenRouter cohort             │
│ Nearest      openai/gpt-5.5  JSD 0.412684                                          │
├────────────────────────────────────────────────────────────────────────────────────┤FINGERPRINT  fp_session_7c10e8a45d2f                                               │
│ 20/20 valid samples • p50 6840 ms • 248420 Codex tokens                            │
│ Behavioral consistency, not cryptographic proof or vendor attestation.╰────────────────────────────────────────────────────────────────────────────────────╯
20 model requestsDefault complete check, not one self-report
Credential read: noYour Agent host owns the authenticated route
JSD distributionsPaper-inspired behavioral evidence
Open referenceZenodo provenance is included
How it works

One prompt. Three steps. No credential plumbing.

The Agent reads the run contract, downloads the bundled scanner, selects Codex or Claude Code automatically, and delegates every probe to a clean process using the host's existing login.

01

Send the /run prompt

Your Agent opens the machine-readable protocol, downloads the published skill, and reads its safety and verdict contract.

02

Make 20 fresh requests

The default complete check runs 4 probe cells × 5 independent requests through fresh Codex or Claude Code sessions. The host reuses its login; the scanner never receives it.

03

Compare distributions

The scanner normalizes the answers, computes Jensen–Shannon divergence, and prints the exact reference, threshold, calibration, and caveats.

Evidence, not vibes

What actually counts as fingerprint evidence

A model name, JSON schema, or ability to follow instructions is not a fingerprint. The evidence comes from repeated empirical answer distributions.

Independent sampling

Low-entropy animal, word, character, and color probes are repeated in fresh sessions rather than answered as one correlated list.

JSD

Distribution distance

Per-cell categorical distributions are compared over their joint support with base-2 Jensen–Shannon divergence, then averaged.

REF

Named public reference

The report names the OpenRouter-collected Zenodo reference, selected cell budget, threshold, same-data EER, and transport mismatch risk.

Browse all 161 supported LLM fingerprint modelsSearch exact GPT, Claude, Gemini, Qwen, Llama, DeepSeek, Mistral, GLM, and other reference IDs
Explore the 161-model LLM fingerprint atlasSee each model’s exact eight requests, response counts and shares, entropy, sample completeness, and nearest-reference JSD
Local-first security

The scanner does not need your Agent credential.

Codex or Claude Code is already authenticated, so the simplest safe design is to let the selected host make the calls. The scanner checks login status, starts fresh non-persistent processes, and never opens an auth file or scans key variables.

Automatically selects Codex or Claude Code and uses host-managed login.
Does not read auth files, cookies, browser storage, process memory, or API-key variables.
Deletes its temporary sample directory after local aggregation.
Keeps explicit endpoint/key mode as an opt-in legacy workflow only.
Download the auditable packageSKILL.md, scanner source, metadata, and license included
Inspect the first public release on GitHubPublic launch snapshot · current releases ship from the signed package at verifyllmapi.com
FAQ

LLM API verification, without overclaiming

Does Verify LLM API read my Agent login token?

No. The scanner invokes the automatically selected Codex or Claude Code CLI, which owns its authentication. It checks only the host's non-secret login status and refuses API-key arguments in current-session mode.

Can this prove the exact model with 100% certainty?

No. Behavioral distributions can detect inconsistency and drift, but they are not cryptographic proof or vendor attestation. Missing references and unstable routes return INCONCLUSIVE.

What about temperature 1?

The paper uses temperature 1. Neither supported Agent CLI exposes a temperature flag. The report labels the selected host's sampling configuration as a host default, not an explicit override.

How many model requests does a complete check use?

The default complete check uses the quick profile: 4 probe cells × 5 independent requests = 20 fresh model requests. Standard uses 40 requests. Paper mode uses 120. These requests can consume your Agent-host allowance or provider balance and may take several minutes.

Can I still test a third-party endpoint directly?

Yes. The original OpenAI-compatible and Anthropic endpoint scanner remains bundled, but it runs only when you explicitly supply the base URL, model, protocol, and credential variable name.

Field notes

A fresh Codex instance tests the production /run path.

The acceptance run starts with an empty workspace and only the short English prompt. It must discover the live protocol, download the production skill, reuse Codex authentication, and preserve an honest verdict.

Read the reproducible acceptance testFresh instance · production artifact · complete terminal evidence
Verify before you route

Ask the Agent to test the route it is actually using.

One short prompt starts the default complete check: 20 fresh model requests, host-managed authentication, and an auditable distribution report.

See the test run