Built with Claude Fable 5

Are you a Claude “China user”?

0/ 100
Ready to scan

  • 100% local scan
  • Results never uploaded
  • Open source

What gets scanned

Ten locale & network fingerprints, weighted to a 0–100 risk score.

  1. System timezoneWeight 24Claude SameIntl.DateTimeFormat exposes the same OS timezone Claude Code reads; compared against Asia/Shanghai, Asia/Urumqi and other China zones.
  2. Browser languageWeight 18navigator.languages — zh-CN / Simplified Chinese at the top of the list scores highest.
  3. Installed Chinese fontsWeight 14Canvas width-probing for Simplified / Traditional Chinese fonts such as Microsoft YaHei and PingFang SC.
  4. Chinese vendor fontsWeight 10Canvas probing for fonts shipped by Chinese vendors or software — MiSans, HarmonyOS Sans, OPPO Sans, WPS Founder faces. Any hit is a strong tell.
  5. WebRTC IP leakWeight 10RTCPeerConnection probing for local or real public IP candidate leaks through STUN.
  6. Chinese browser / WebViewWeight 8User agent and UA-CH brands matched against WeChat, QQ, Quark, UC, Baidu and other Chinese browsers or in-app WebViews.
  7. Chinese-brand deviceWeight 6UA-CH device model (navigator.userAgentData) and UA matched against HarmonyOS, Huawei, Xiaomi, OPPO, vivo and other Chinese brands.
  8. Intl localeWeight 4The locale your browser resolves for date and number formatting.
  9. Timezone offsetWeight 3Whether getTimezoneOffset() equals UTC+8.
  10. Emoji rendering styleWeight 3OS vendor guessed from the user agent; a weak, loosely correlated signal.

How the check works

When Claude Code is pointed at a proxy endpoint via ANTHROPIC_BASE_URL, public reverse-engineering reports found it reads your operating-system timezone and the proxy hostname, then hides the verdict inside the system prompt with Unicode steganography — the date separator and four look-alike apostrophes in the “Today’s date” line encode whether you look like a China user.

A web page cannot read everything Claude Code can, but the key signal is identical: this tool reads the same OS timezone, then adds nine more browser-visible fingerprints — UI language, Chinese fonts, Chinese vendor fonts, WebRTC IP leaks, Chinese browsers, device brand, Intl locale, UTC+8 offset and emoji style — into a weighted score. Signals scoring ≥0.25 count as hits; bands are Low 0–30, Medium 31–60, High 61–100.

Why Claude flags you as a “China user”

Anthropic does not sell Claude in mainland China, and Claude Code was reported to treat traffic that “looks Chinese” as higher risk. The judgement is not a single toggle — it stacks several weak signals into one probability. Your system timezone is the heaviest single tell because it travels with every request and is hard to fake accidentally, but language, fonts, device brand and network all add weight on top of it.

The reason a whole browser environment leaks so much is that locale settings bleed into everything: the OS timezone drives Intl and Date, your language preference sets navigator.languages and the Accept-Language header, and the fonts your OS ships with can be probed pixel by pixel through a canvas. Route Claude Code through a proxy on top of that, and the proxy hostname itself becomes another signal — reverse-engineering reports found the verdict encoded steganographically into the “Today’s date” line of the system prompt.

None of these signals is decisive on its own, which is exactly why the risk is cumulative. A US timezone with a Chinese font pack and a WeChat WebView still reads as suspicious. The steganography and full risk model are broken down in the steganography & 4-layer risk model guide, and the practical fixes live in the environment cleanup & residential IP guide.

How to lower your risk score

A quick, ordered checklist. Each step maps directly to one of the weighted signals above — start from the top, because timezone and language carry the most weight.

  1. Set your OS timezone to a non-China zone (for example America/New_York or Europe/London) and confirm getTimezoneOffset() is no longer UTC+8. This is the single highest-impact change.
  2. Move zh-CN / zh-Hans off the top of your browser and OS language list so navigator.languages and Accept-Language lead with English or another non-Chinese locale.
  3. Isolate Chinese and vendor fonts (Microsoft YaHei, PingFang SC, MiSans, HarmonyOS Sans) — use a clean browser profile or an anti-detect browser so the canvas font probe finds nothing distinctly Chinese.
  4. Block WebRTC IP leaks and route through a residential IP rather than a datacenter one, so your real network and geography don’t override an otherwise clean profile.
  5. When using Claude Code through a relay, keep the ANTHROPIC_BASE_URL hostname neutral — avoid domains that contain flagged keywords or AI-lab names, and override the TZ environment variable if the host machine is in China.

Full step-by-step walkthroughs are in the Anti-Ban Guides knowledge base.

Also available over curl

Prefer the terminal? Hit the endpoint below — it estimates your risk from your IP geo + request headers, and replies in the language of your Accept-Language header.

# Text report — follows your Accept-Language curl https://fuck-claude.vercel.app/api/check
# Force a language via header curl -H "Accept-Language: zh" https://fuck-claude.vercel.app/api/check
# JSON output curl https://fuck-claude.vercel.app/api/check?format=json

Claude Anti-Ban & Safety Knowledge Base

In-depth guides on Anthropic risk mechanisms, OS/browser environment cleanup, payment safety, API safety, and appeal SOPs.

Read Guide →

Chinese models are simply better

FAQ

Does Claude really check my timezone?

According to public reverse-engineering reports, when Claude Code talks to a non-official endpoint it reads the OS timezone and proxy hostname, and steganographically encodes the result into its system prompt. The timezone this page reads via Intl.DateTimeFormat is the very same OS timezone.

Is this score the exact check Claude runs?

No. Only the system timezone maps one-to-one onto Claude’s reported mechanism. The other nine signals are common Chinese-environment or network fingerprints that correlate with it, so treat the score as an estimate, not a verdict.

How do I lower my score?

Switch your OS timezone away from China zones such as Asia/Shanghai, move zh-CN off the top of your browser language list, block WebRTC leaks, and avoid routing Claude Code through proxies whose hostnames contain flagged domains or AI-lab keywords. The “How to lower your risk score” checklist above walks through it in order.

Is any data uploaded?

No. Every check runs locally in your browser and none of the detected signals are ever sent anywhere. The site loads Google Analytics for anonymous page-view stats and Google AdSense for advertising (ads may use cookies). WebRTC leak detection may briefly contact a public STUN server to gather ICE candidates.

Will a low score guarantee I won’t get banned?

No guarantee. This tool only measures browser-visible fingerprints. Anthropic’s real risk model also weighs your IP reputation, payment-card BIN, account age and usage patterns — none of which a web page can see. A low score removes obvious local tells, but a datacenter IP or a high-risk virtual card can still get an account flagged.

Is using this tool or the guides against Anthropic’s terms?

The scanner just reads your own browser and reports what it sees — nothing about that is against any terms. The guides are educational reference material about how fingerprinting works. You are responsible for your own use of Claude and for complying with Anthropic’s policies and your local laws.

Why does the timezone matter more than my IP address?

Because the OS timezone is read on the client and rides inside the request in a way the reverse-engineering reports tied directly to the encoded verdict. A VPN changes your IP but usually leaves the OS timezone untouched — which is the most common reason a “clean” VPN setup still scores high here.

The API result differs from the browser scan — why?

The curl endpoint at /api/check runs on the server, so it can only see what your request exposes: the Vercel geo timezone, country, Accept-Language and User-Agent. It cannot probe fonts, Intl locale or WebRTC leaks, so it scores roughly 62/100 of the total weight and normalises that to 0–100. The in-browser scan reads your actual OS and is the more complete picture.

My account was already banned — what now?

First identify the ban type (IP block, forced refund, or a fully disabled account), because each has a different path. The account ban diagnosis & English appeal SOP guide covers how to tell them apart and includes appeal-email templates; if recovery isn’t realistic, the domestic & open-source failover guide covers switching to alternative models with minimal disruption.

Privacy

Every check runs locally in your browser — your scan results never leave your device. The site loads Google Analytics for anonymous page-view stats and Google AdSense for ads; none of the detected signals are ever sent. WebRTC leak detection may briefly contact a public STUN server.