Sitemap
The Repo

Where practitioners write about the tech they actually work on. First-hand tech knowledge.

Why does online verification feels like giving away too much personal information

7 min readSep 2, 2026

--

Press enter or click to view image in full size
Photo by Phil Shaw on Unsplash

Here’s a thought that sounds impossible at first.

You can prove you’re over 18 without showing your birth date. You can prove you’re a real, unique person without giving your name. You can prove you belong to a group without revealing which member you are.

It sounds like a magic trick, or a contradiction. It’s neither. It’s a real and increasingly important branch of cryptography, and it quietly powers a new approach to one of the internet’s hardest problems: how do you check someone is real without collecting who they are?

This is a look at how that works, in plain terms. By the end you’ll understand three ideas that are genuinely worth carrying around: the difference between verification and authentication, what a zero-knowledge proof actually does, and why “unlinkability” is the property that makes or breaks online privacy.

First, verification and authentication are not the same thing

People use these two words interchangeably. They’re different, and the difference is the whole foundation.

Authentication answers: are you the specific person who owns this account? It’s the login problem. You prove you’re the same person who set the password, using something you know (a password), something you have (a phone), or something you are (a fingerprint).

Verification answers: is a particular claim about you true? Are you over 18? Are you a real human? Are you a licensed doctor? It’s not about matching you to an existing account. It’s about confirming a fact.

Here’s why the distinction matters. Most systems, when they want to verify a fact about you, do it the lazy way: they make you hand over your whole identity and then read the fact off it. Want to prove you’re over 18? Show your ID, which also reveals your name, address, exact birth date, and document number. You wanted to prove one fact. You gave away twenty.

That’s the problem the newer approach fixes. It asks: what if you could verify the single fact, and reveal nothing else?

For a more detailed breakdown:

Zero-knowledge proofs: proving without showing

The tool that makes this possible is called a zero-knowledge proof, and it’s one of the more beautiful ideas in modern cryptography.

A zero-knowledge proof lets you prove a statement is true without revealing any information beyond the fact that it’s true.

The classic way to picture it: imagine proving you know the password to a door without ever saying the password. Or proving you can tell two colors apart to someone who’s colorblind, without naming the colors. You convince them the statement holds, and they learn nothing else.

The everyday version that matters to you:

  • Age: prove you’re over 18 without revealing your birth date or name.
  • Humanness: prove you’re a real, unique person without revealing which person.
  • Membership: prove you belong to a verified group without revealing your specific identity within it.

In each case, the person checking learns exactly one thing, the fact they needed, and nothing more. No document, no database entry, no trail. That’s the “zero knowledge” part: they finish the check knowing zero about you beyond the single claim.

This isn’t theoretical. Zero-knowledge proofs are running in real systems today, and researchers studying privacy-preserving ways to tell who is real online point to them as a core building block. They’re the engine behind a genuinely new way to prove you’re human online.

Personal custody: your data lives with you, not them

Zero-knowledge proofs solve half the privacy problem, how you use a credential without leaking. The other half is where the sensitive data lives in the first place.

In almost every traditional system, when a company verifies something about you, the underlying data ends up on their servers. Your ID scan, your selfie, your biometric template, sitting in a company database. That database becomes a target: it can be breached, sold, subpoenaed, or quietly repurposed years later. Even a company with the best intentions is one hack away from exposing everyone in it.

Personal custody flips that. The idea is simple: the sensitive information stays on your device, and only your device. There’s no central vault of everyone’s data, because the data was never collected centrally in the first place.

Get Joshclarkyy’s stories in your inbox

Join Medium for free to get updates from this writer.

The difference is subtle but enormous. It’s the gap between:

  • “We promise not to misuse your data.” (a policy, which can be broken)
  • “We don’t hold your data to misuse.” (a fact, built into the design)

One is a pinky-promise. The other is architecture. When your data lives only on your phone, a breach of the company’s servers exposes nothing about you, because there’s nothing there to expose.

The property that ties it together: unlinkability

Here’s the concept most people miss, and it’s the most important one. If you take away one idea from this article, make it this.

A system can verify you anonymously and still track you, if every time you use it, it hands over the same hidden identifier. Different services could then compare notes: “user #4471 showed up here, and here, and here,” and reconstruct your entire activity, even without ever knowing your name. Anonymity isn’t enough on its own.

The property that actually protects you is unlinkability: the guarantee that your separate uses of a credential cannot be connected to each other.

When you prove you’re human on one app, and again on another, a properly unlinkable system makes those two events impossible to tie together. No shared identifier, no trail, no way for anyone, including the system itself, to know both actions came from the same person.

This is the difference between:

  • A credential that hides your name (weak, still trackable), and
  • A credential that also breaks the links between your actions (strong, genuinely private).

Unlinkability is the harder property to build, and it’s the one that separates real privacy from privacy theater. Zero-knowledge proofs are what make it possible, they let you prove “I have a valid credential” each time, without that proof carrying a fingerprint that ties your uses together.

How this adds up to proof of human

Put the three ideas together and you get something genuinely new: a way to prove you’re a real, unique person online, that reveals nothing about who you are and can’t be used to track you.

This is called proof of human, and it’s different from proof of identity. Proof of identity says “this is Jane Smith.” Proof of human says “this is one real, unique person”, and stops there, deliberately. For a huge number of online situations (keeping bots out, one-person-one-vote, stopping fake accounts, fair access to limited things), that’s exactly what you need, and knowing the person’s actual identity would be more than you need and a privacy risk you don’t want.

World is the most prominent real-world example of this approach. It operates a proof of human network built on exactly the ideas above.

Here’s how the pieces map:

  • A person verifies once that they’re a real, unique human and receives a credential called World ID, stored on their own phone.
  • Thanks to personal custody, the data from that verification is held only on the person’s device, not in a central database.
  • When they use World ID to prove they’re human, a zero-knowledge proof confirms the credential is valid without revealing who they are.
  • Because of unlinkability, their separate uses can’t be connected, so no one can build a profile of where they’ve been.

The result, in World’s own framing, is a proof of human, not a proof of identity, that works across apps without any of them learning your identity or being able to track you. You can read the deeper technical explanation in World’s guide to how privacy is built into the system.

Why this matters more every year

It’s worth stepping back to see why this stopped being a niche cryptography topic and became something that affects everyone.

The internet has a growing problem telling humans from machines. Bots make up more than half of web traffic, AI can fake faces and voices convincingly, and the old tests (CAPTCHAs, “upload your ID”) either don’t work anymore or cost you your privacy to pass.

So the pressure is on to verify people more often, and the lazy way to do that is to collect more and more personal data, building exactly the surveillance infrastructure nobody wants. Privacy-preserving verification is the alternative path: prove what needs proving, collect nothing, track no one.

That’s the quiet significance of these ideas. They’re a way to make the internet more trustworthy without making it less private, which most people assumed was an impossible trade. Zero-knowledge proofs, personal custody, and unlinkability are how that trade stops being necessary.

What to take away

Even if you never think about the cryptography again, three ideas here are worth keeping:

  1. Verifying a fact and proving your identity are different things, and most systems overshare because they conflate them. You rarely need to reveal who you are to prove something about yourself.
  2. You can prove something is true without revealing the information behind it. That’s a zero-knowledge proof, and it’s real, working technology, not science fiction.
  3. Anonymity isn’t enough, unlinkability is the real test. When you evaluate any “private” system, ask the sharp question: can my separate uses be connected? If yes, it’s not really private.

The larger lesson is hopeful. For years we treated privacy and verification as opposites, more of one meant less of the other. These ideas show that was never a law of nature, just a limitation of the tools. You really can prove you’re real without revealing who you are. The technology to do it exists now, and the only real question left is how widely we choose to use it.

--

--