Your Timezone is Telling Claude Code You're from China

Your Timezone is Telling Claude Code You’re from China

Here’s what happened.
A few days ago, while researching Claude Code, I discovered something that sent chills down my spine.
As many know, Claude Code currently has certain restrictions for Chinese users. Many friends have been using various proxy setups, pointing their ANTHROPIC_BASE_URL to third-party endpoints, thinking they’ve successfully bypassed detection.
But here’s the catch.
Claude Code doesn’t actually care about your IP address. Instead, it uses a completely different method to determine if you’re a Chinese user.
It reads your system timezone.
Yes, you read that correctly—the timezone setting in your computer’s system tray. When your ANTHROPIC_BASE_URL points to a non-official endpoint, Claude Code extracts your system timezone and proxy domain, then encodes this information into the system prompt using Unicode steganography.
Unicode steganography.
The term itself sounds cyberpunk enough. Hiding information in invisible character encodings—like writing a letter with invisible ink. What you see is a normal system prompt, but what Claude reads includes your timezone and domain information.

I was stunned.
So Chinese users are being restricted not because they’re using proxies, but because their own computers are betraying them. Your timezone, language settings, fonts—things you’d never think are relevant to AI—all serve as clues.
Then I found a GitHub project.
Someone created a tool called claude-tester that instantly checks your browser environment to see if Claude Code would classify you as a Chinese user. It’s purely frontend-based, runs 100% locally, and doesn’t upload any data.

When I opened the Vercel deployment link, I couldn’t help but laugh at first sight.
The detection result displayed Dario Amodei’s reaction memes.
Yes, that’s the founder of Claude. Using his facial expressions to show detection results—from idle to scanning, from low to high—as your score changes, Dario’s expression becomes increasingly nuanced. This kind of playful humor really resonates with me.
I clicked the button.
Started the detection.
The entire process took about one or two seconds. No progress bar, no loading animation—just a straightforward score.
My result.
83 points…

Honestly, it’s not that high. But I am indeed in China, with my system timezone set to UTC+8, Chinese as my primary browser language, and Chinese fonts installed on my computer. These major factors naturally contribute to a higher score.
The tool’s detection logic is actually quite interesting. It uses six signals for weighted scoring, each with its own weight and detection method.
First, system timezone—weighted at 30 points. This is the most significant factor and the only one that directly corresponds to Claude Code’s actual detection logic. Intl.DateTimeFormat reads your OS timezone—if you’re UTC+8, that label gets firmly attached.
Second, browser language—24 points. navigator.languages reads your preferred language. If Chinese ranks first in your browser preferences, that’s another red flag.
Third, Chinese fonts—20 points. This one’s technically sophisticated. It uses Canvas 2D for font detection to check if Chinese fonts are installed on your system. Most Chinese users’ computers have Chinese fonts, but an American user’s computer likely doesn’t.
Fourth, Intl locale—10 points. Your date and number formatting preferences can also reveal your geographic location.
Fifth, timezone offset—8 points. The specific value from getTimezoneOffset.
Sixth, emoji style—8 points. This is probably the most clever approach. It infers your device’s emoji rendering style from your User-Agent. Different platforms and manufacturers render emojis differently, and devices commonly used by Chinese users have distinctive emoji characteristics.
Six signals, weighted and combined, for a maximum score of 100.

This design is actually quite smart. Any single signal could lead to false positives, but combining all six significantly increases accuracy. Your Chinese language preference might be intentional, your IP might be spoofed, but your timezone, fonts, and emoji style—these are things you’d never think to disguise.
And that’s precisely what makes it so concerning.
We use browsers every day, constantly generating these digital fingerprints without even realizing it. You install a Chinese font, set your system timezone to Beijing, use a domestic brand phone—these seemingly irrelevant choices all become clues in the eyes of AI.
It’s like an invisible ID card.
You can’t see it yourself, but every time you interact with these large models, it silently reveals your identity.
I later tested again in a different environment. I changed my system timezone to US Eastern Time and set my browser’s primary language to English, then reopened the page and clicked detect.
23 points.

Nothing else changed—just a few digital fingerprints—and my score dropped from 83 to 23. Your identity in AI’s eyes is both fragile and easily reconstructed.
It’s quite surreal when you think about it.
We assume we’re browsing anonymously, thinking a proxy solves everything. But your computer is constantly sending hundreds of signals telling others who you are, where you are, and what device you’re using.
What’s the value of this tool?
I don’t think it’s about helping you “disguise” yourself—honestly, that’s difficult. Modifying all six signals is almost like reinstalling your entire system.
Its real value lies in “visibility.”
It helps you see things that are normally invisible. It makes you aware that your timezone is being read, your Chinese fonts serve as evidence, and even your emoji choices are giving you away.
That’s the real information gap.
I used to think privacy protection meant not uploading data, not leaking passwords, and not clicking suspicious links. But Claude’s mechanism made me realize that the battlefield for privacy protection has long moved beyond those basic layers. It has penetrated deep into your operating system settings, your font files, and even your emoji encodings.
The New York Times previously published an interesting report showing how websites can identify users through system fonts. Each computer’s font combination is unique, like a fingerprint. This technique, called font fingerprinting, has shockingly high accuracy.
Claude Code’s detection logic essentially uses a similar approach.
Let’s set aside these heavy topics for now. I genuinely recommend that anyone using Claude Code from China test this tool. I’ve included the link here: claude-tester-six.vercel.app. It’s deployed on Vercel, opens immediately, requires no registration or login, and all detection happens locally in your browser—the results never leave your device.
All you need to do is click that button and see Dario’s reaction to your score.

By the way, this project is open-source on GitHub. If you’re interested in how the detection logic works, you can read the source code. It’s quite clean—built with Vite and native TypeScript, with no server dependencies. The entire project is a pure frontend single-page application that’s pleasant to read.
My 83-point score stands as it is—I’m honestly not bothered enough to change anything. The score is just a reference, and I’m not someone who needs to hide my identity.
But simply knowing about this is worth the discovery alone.
