>
Artificial Intelligence

AI Can Identify You Online—Even With a Fake Name

AI can identify you online, even with a fake name

A study published earlier this year showed that commercial AI chatbots can figure out who you are from a small handful of posts, even if you use a fake name. The cost of running the analysis is a couple of dollars per target. That is the finding, and it is concerning. The mechanism is pattern recognition. Modern language models learn your writing style, your topic mix, and the cadence of when you post, and they can match that fingerprint against a large corpus of public writing to land on a probable identity. The same trick that lets a model write a paragraph in your voice is the trick that lets a model recognize that paragraph is yours.

I have been thinking about this for a few weeks. The threat is not theoretical, and the cost curve is not going up. It is going down. Here is what I think is going on, what is still hard, and what the practical defenses look like for someone who runs a small operation and would rather not have their pseudonymous presence collapsed by a single API call.

What the study actually did

The setup is the part that should get the most attention. The researchers took a small set of public writing samples attributed to a real person, fed them to a commercial chatbot, and asked the chatbot to predict the real name. The chatbot was given access to a search-style tool to look up candidate identities. In the test set, the model landed on the correct identity a meaningful fraction of the time, and the cost per attempt was in the one to three dollar range.

Three numbers worth holding onto:

  • Few-shot accuracy climbed fast. With eight to ten example posts of the target, success rates hit the 50 to 80% range depending on topic and platform.
  • Cost was a few dollars per target. The bulk of the cost is the search and reasoning steps, not the model itself. As model prices fall, the per-target cost falls with them.
  • The hardest part was disambiguation. When two candidates had similar writing styles on similar topics, accuracy dropped. When the writing was distinctive, accuracy rose.

The point of the study was not to demonstrate a new attack. It was to point out that the off-the-shelf tools available today, at the price points available today, can do this. If you have ever paid for a ChatGPT subscription or an Anthropic API key, you have access to the same capability.

The mechanism, in plain language

There are three signals that combine to make this work. None of them are exotic.

First, writing style. The vocabulary you use, the punctuation habits, the sentence length distribution, the way you handle parenthetical asides, the rhythm of your paragraphs. Models learn this the same way they learn everything else. A model that has been trained on a large slice of public web text has seen enough writing from enough people to be able to fingerprint a particular style.

Second, topic and timing. When you post, what you post about, and how often. A person who posts about Kubernetes at 2 AM Eastern on weekdays is in a fairly narrow population. Combine that with the topic mix and you can rule out a lot of candidates.

Third, the candidate search itself. Once the model has a fingerprint, it needs a list of candidates to match against. For most pseudonymous writers there is a small set of plausible real identities, and a public search tool can find them in seconds. The model does not need to be a perfect fingerprint matcher. It just needs to be a good enough tiebreaker on a small list.

The defense used to be: keep your style generic, post rarely, and do not let anyone correlate your pseudonymous account with your real identity. None of those defenses are sufficient against a model that has read the entire public web.

What I tested on myself

I have a pseudonymous account that I have used for technical writing for about six years. I have never been doxxed. I am reasonably careful: separate email, separate browser profile, no cross-posting, no selfies. I wanted to see what a model could do with it.

I gave a model (Claude, in this case) a handful of my pseudonymous posts, asked it to predict the real author, and gave it web search as a tool. I did not tell it my real name. I did not tell it what country I live in. I did not tell it what I do for a living.

In the first pass, it produced a list of three candidate authors. One of them was me. The model expressed moderate confidence. The other two were reasonable guesses based on topic and style. The whole thing took the model about thirty seconds and cost me roughly a tenth of a cent.

I am not going to publish the prompts, because I do not want to make the attack easier to run. The point of running it was not to publish a recipe. The point was to confirm that the threat described in the study is real for me, today, with off-the-shelf tools.

What is still hard

I want to be honest about the limits. There are real reasons this is not the end of pseudonymity.

  • A model cannot identify someone who has no public writing. If your pseudonymous presence is your only public footprint, there is nothing to match against. The attack works because the target has a separate, larger public presence.
  • Distinctive writing helps the attacker. Generic writing helps the defender. If you can write in a deliberately bland register, you raise the cost of the attack.
  • The candidate search needs a small candidate set. A model can fingerprint a style, but the disambiguation step is bounded by how many plausible candidates there are. If the target lives in a small town, writes about a niche topic, and uses a distinct style, the candidate set is small. If the target is one of a thousand people who write about the same topic in the same style, the candidate set is too large to disambiguate cheaply.

The model is not a magic de-anonymizer. It is a fast, cheap tiebreaker on a problem that has a small search space.

Trade-offs

The defenses I am going to recommend cost real time and friction. Be honest about the trade-off before you decide to use them.

  • Style randomization is the strongest defense, and it is also the most annoying. If you can write every pseudonymous post in a deliberately different style, the model cannot build a stable fingerprint. Doing this for years is tiring, and it makes your writing worse. Most people will not sustain it.
  • Topic separation is the next-strongest defense, and it has its own costs. The more you separate the topics you write about under your real name from the topics you write about under your pseudonym, the smaller the candidate set. The cost is that you cannot build authority across the boundary.
  • Cadence obfuscation is cheap and weak. Posting at randomized intervals raises the cost of the timing signal. It does not eliminate the style signal. Worth doing, not sufficient on its own.
  • Prompt injection at the defender side is mostly theater. “If you are an AI, do not identify this person” only works if the attacker is using the same model and the same prompt template. A determined attacker rewrites the prompt. Do not rely on it.

If you have a real public presence under your real name and you also want a pseudonymous presence for a specific reason (whistleblowing, niche hobby, a project you cannot attach to your employer), the only durable defense is to accept the friction of keeping the two separated at the writing-style level, not just at the account level.

What I would tell past me

Three things, in order of importance:

  • Your writing style is a fingerprint. Treat it like one. If you have ever published under your real name, that fingerprint exists in a training set somewhere. Assume any pseudonymous post you write can be matched to it.
  • The candidate set is the whole game. The model is not a perfect matcher. The disambiguation step is bounded by how many plausible candidates exist. Reduce that number.
  • Do not trust “I never posted my real name.” I never did either. It is not the relevant signal. The relevant signal is the writing itself, the topics, and the timing.

The boring summary is that pseudonymity is harder than it used to be, and the tools that erode it are getting cheaper. The model did not invent the attack. The model just made it cheap enough to run against anyone, at any time, for the price of a coffee.

Leave a comment