Estimate how likely Claude is to read your browser as a Chinese user, from time zone, languages, fonts, WebRTC and 6 more signals. Runs entirely in your browser.
10 signals, checked one by one in your browser. Takes a few seconds.
Read from Intl.DateTimeFormat, the same operating-system time zone Claude Code reads. Mainland China zones (Asia/Shanghai, Asia/Urumqi…) score in full; Hong Kong and Macau score partially.
The preference order in navigator.languages. Simplified Chinese (zh-CN) first scores highest, Hong Kong / Macau Chinese half, and zh-TW nothing.
Measures text width on a canvas to detect Chinese fonts such as Microsoft YaHei, SimHei, Source Han Sans and WenQuanYi. Fonts that ship with your operating system count only a little.
The same technique for fonts from Chinese phone makers and software: MiSans, HarmonyOS Sans, OPPO Sans, Alibaba PuHuiTi and the Founder fonts bundled with WPS. Any hit is a strong signal.
Asks a STUN server for ICE candidates to see whether the browser reveals a local or public address. Full score when that public address differs from the one this page sees over HTTP.
Matches the User-Agent and UA-CH brands against WeChat, QQ, Quark, UC, Baidu, 360, Sogou, Douyin and other Chinese browsers or in-app WebViews.
Matches the UA-CH device model (navigator.userAgentData) and User-Agent against HarmonyOS, Huawei, Honor, Xiaomi, OPPO, vivo and other Chinese brands.
The locale the browser uses to format dates and numbers, which usually follows the system region.
Whether getTimezoneOffset() is UTC+8. Singapore, Malaysia and Western Australia share it, so the weight is kept low.
Infers which vendor draws your emoji (Apple, Google, Microsoft, Huawei…) from the platform and User-Agent. Only weak supporting evidence.
Anthropic does not offer Claude in mainland China, Hong Kong or Macau. Beyond blocking by IP address, community reverse-engineering reports say that Claude Code, when ANTHROPIC_BASE_URL points at an unofficial relay, reads the operating-system time zone and the relay's hostname and hides the result in the "Today's date" line of its system prompt. Anthropic has not documented this.
Detection like this is rarely a single switch: many weak signals add up. This page reads 10 browser-visible signals, gives each a 0–1 "China similarity", multiplies it by the signal's weight (the weights add up to 100) and sums the results. Only the time zone maps directly to the reported Claude Code behavior; the other nine are general signs of a Chinese-language environment.
• 0–30 Low: no obvious Chinese traces in what the browser exposes. This does not mean an account is safe: exit IP, payment method and account behavior are invisible to this page.
• 31–60 Medium: several signals point to a Chinese environment, usually the time zone or language plus some fonts.
• 61–100 High: several heavily weighted signals hit at the same time.
• A signal turns amber at a similarity of 0.25 and red at 0.6. The "+N" next to it is the points it adds to the score. Taiwan is not on Anthropic's restricted list, so Asia/Taipei and zh-TW do not score.
• Changing your IP or turning on a VPN barely moves the score: time zone, languages, fonts and device are read from your system, and only the WebRTC check depends on the network.
Every check runs in your browser and nothing is sent to Toolhub. The WebRTC check contacts a public STUN server once and asks checkip.amazonaws.com for your public IP to compare against. Results are gone when you close the page.
Want to see your public IP and its location, or everything your browser exposes? IP Address Lookup · Browser Info Detector
The signal list and weights follow ip.cx/claude, which is based on the MIT-licensed FuckClaude project. The score is an estimate built on public reverse-engineering, not Anthropic's actual decision or an official statement.