← OWL API · Download corresponding source (AGPL-3.0)# OWL Claude Fable 5.1 checker / Fable 5.1 中转检测
Version: `owl-fable-1.1.1`. Research date: 2026-10-22.
## Scope and research evidence
The hosted checker is dedicated to Claude Fable 5.1, under Claude Safety Checks. Default model: `claude-fable-5-1`; default mode: full, 11 regular checks. All five languages share this scope. The server rejects other families and model versions; model discovery only lists Fable 5.1. Dated aliases, thinking suffixes, dotted versions and vendor namespaces are allowed. The model consistency check rejects a response labelled Fable 5 or Fable 5.10. Existing saved reports remain readable.
Reviewed Veridrop's live Fable 5.1 form and a full, regular live test on the user-authorized relay. Long-context options were disabled. Also reviewed its public repository at `e87ed92ae37250f87a6503b321c0bc7109618008`, still the public HEAD at the time of research. That commit has no Fable 5.1 model configuration; the newer live deployment cannot be assumed identical to its public code. OWL adapts the published Claude probes, not an unpublished Fable implementation. Scores between the services can differ.
The public `thinking_signature.py` checks for a thinking/redacted-thinking block and signature length: no block = 0, no signature = 30, signature below 50 characters = 70, otherwise 100. It does **not** verify a signature against an Anthropic public key. A plausible string is not cryptographic proof of model identity. OWL exposes this limitation in every language and report.
## Implemented checks
Identity 5, behavior 15, thinking signature fields 25, model consistency 10, knowledge 10, PDF 8, forced tool output 12, protocol 5, stream integrity 5, token usage 10, message identifiers 5. Regular weights sum to **110**; signature contributes 25/110 in full mode. Quick selects 5 items, standard 9, full 11.
The thinking probe uses adaptive thinking, summarized display and xhigh effort, with a 16,000-token output ceiling. Temperature is omitted for Fable requests. A bounded live comparison returned no thinking block at high effort and a signed thinking block at xhigh. This avoids treating optional adaptive-thinking omission as decisive identity evidence. These are explicit OWL request settings, not a claim about the private Veridrop deployment. The token increment probe retains the public unknown-model fallback of 45–140 tokens for 80 repeated simple words. This is a broad heuristic, not an official Fable tokenizer calibration. Count-tokens and streaming comparisons are reported separately, including whether an official reference is available (false).
Optional long-context recall has weight 15. Deep tiers estimate 32k/100k/200k tokens; extreme targets 32k/500k/950k for a 1M window, as shown on Veridrop's Fable page. Long context is off by default and requires explicit cost acceptance. Three fresh identifiers are placed throughout a synthetic archive. Failure stops later tiers; refusals and transport errors are inconclusive. Character estimates are not tokenizer-exact, so reports include actual reported token counts. This is recall evidence, not proof of a complete usable context window. No paid long-context test was run during this change.
Total = sum(score × weight) / sum(scored weights). Thresholds: 70 / 50. Missing/error checks reduce coverage and make the overall verdict incomplete. Fatal authentication, quota, model availability or rate-limit errors invalidate the total. Scores represent **protocol and capability evidence, not authenticity probabilities**. The original regional score remains unchanged.
## Differences and limitations
- TypeScript implementation on Cloudflare. OWL runs its own probes and does not forward visitor keys to Veridrop.
- No claims of cryptographic verification, model-tier proof, invoice audit or uptime guarantees. Identity and behavioral responses can be imitated.
- Nonces in PDF and long-context probes reduce fixed-answer caching. Upstream knowledge and behavioral data retain attribution.
- Stream termination is mandatory for full integrity credit; truncated streams cannot pass completely.
- Public source does not supply a Fable-specific official baseline. The live reference site's PDF/stream/usage failures were recorded as its observations, not used to force OWL to reproduce a particular total.
- Long-context probes use synthetic archives, not the upstream model-specific natural-language benchmark.
- Legacy generic protocol parsers remain for backward compatibility and regression fixtures; new public runs accept only Fable 5.1.
- Local history holds up to 10 explicitly saved reports. Public publication requires consent and a fresh HMAC proof. No automatic report publication, imported rankings or paid provider key is configured.
- Public discovery and comparison show the current Fable ruleset only, so different scoring versions are not averaged together. Comparisons require at least 3 complete reports from the past 30 days, grouped by endpoint/model/mode/context. Public reports expire after 180 days. Older report URLs remain readable until expiry.
## Network and data handling
HTTPS public DNS names only, port 443, no URL credentials/query/fragments/IP literals, A/AAAA public-address checks, no redirects. The Worker has no private network bindings. DNS lookups use Cloudflare DNS, with Google DNS as a resolver-outage fallback; private or negative answers never trigger fallback. Redirects use manual handling for Workers runtime compatibility and are never followed. DNS failures are explicit service errors, not model-quality failures. Request/response size limits, timeouts, cancellation, a 40-request ceiling and rate limits bound use.
Keys are used transiently for the selected endpoint and are not embedded in frontend assets, server defaults, reports, analytics, logs or D1. Inputs clear when a run starts, and server references clear after completion. JavaScript garbage collection is nondeterministic; this is not a physical memory-erasure guarantee. Raw upstream error bodies are not returned. Evidence renders as text. A public report HMAC proves its OWL origin, not the upstream model's identity.
## Build and validation
`pnpm test` covers probe request shapes, Fable-only validation, version mismatches, signature blocks, failure classification, scoring and existing site behavior. Fixture results are not live inference evidence. `scripts/check-relay.mjs` is local-only integration validation and must never seed production reports.
`pnpm build:cloudflare` produces the corresponding-source archive using an explicit allowlist. Apply `0002_relay_reports.sql` to a new deployment. The five-language UI remains at `/relay/`, `/zh/relay/`, `/ms/relay/`, `/ja/relay/`, `/ko/relay/`. Public reports use `?report=<id>`.