An email-free signup changes one field on a form. It does not change the source address on the wire, the identifier the service issues internally, or the cookies your browser sends to every site you visit. Those are three separate questions, and only the first one is about the account at all. Here is what each layer actually holds, and which decision belongs to you rather than to the provider.

Treat anonymity as a per-observer property. Ask which observer, and the honest answer changes.

A pseudonymous account is still an account

A provider can issue an account number, a device key or a subscription token without ever asking for a legal name. That object still binds sessions together inside the service: the same token on the same plan, across months.

What the operator can attach to that token depends on other systems. Payment records exist if you paid by a traceable method, a support address exists if you wrote in, and device identifiers or connection timestamps may exist in operational logs. None of that is required by the signup form, and none of it is excluded by an email-free one. The form determines what was requested, not what exists afterwards.

Submitting a diagnostic profile or opening a support ticket can add more detail than the original form ever asked for.

What the tunnel endpoint necessarily sees

The endpoint terminates your connection, so it knows the source address your access network assigned for that session and when the session started. It also knows which internal key or account that connection maps to, because that mapping is how it decides where to send traffic.

WireGuard's documentation is unusually direct here: peer identity is the public key, not a hidden trait.

What leaves the endpoint toward a destination is a different connection. If the exit address is shared with other users, the site on the far side sees a common address instead of yours. That separation is real, and it is also the only separation a shared exit provides. It does not hide your session from the operator, and it does not merge you into a crowd for anyone able to observe both ends — which is exactly the correlation problem that RFC 6973 spends its length on.

What the destination still receives

A website sees the exit address, the request, and anything your client volunteers. Cookies, an existing logged-in session, a browser fingerprint and a saved account all survive a VPN connection untouched, because the tunnel carries them rather than replacing them.

Logging into a personal account identifies you to that site regardless of what label the VPN account carries.

Name resolution deserves its own line. If lookups go to a resolver the operator runs, the operator sees the names you ask for. If they go to a public resolver, that resolver sees them, and so does anyone on the path who can observe plaintext DNS. Either way, which resolver is used is a privacy decision that the signup form did not make for you.

Where correlation actually happens

Traffic analysis does not need page contents. Connection timing, transfer volume and the pattern of which endpoint talks to which destination can line up a source connection with an exit connection when both sides are observed. A shared exit therefore protects you against a single observer and not against two that cooperate.

Transport encryption changes what is readable, not what is linkable.

Three questions that replace the slogan

Each of these has a different owner, which is why a promise made at one layer cannot cover another. The rows below are the whole argument in compact form.

ObserverWhat it can holdWhat actually changes it
Your access networkThe connection to the VPN endpoint, with volume and timingNothing on the account form
The VPN operatorSource address, session times, key-to-account mapping, names if it runs the resolverRetention policy, payment method, whether you contact support
The destination siteExit address, cookies, logged-in identity, request contentBrowser hygiene, logging out, separate profiles
An observer at both endsCorrelated timing and volume across the two connectionsPadding, cover traffic, a different exit at a different time

Only the middle row is about the account, and only partly. The rows above and below it are decided by routing, by retention and by your own browser.

Read the inventory instead of the label

A provider that publishes a data inventory, a retention window and an identity workflow has told you something checkable. A provider that says anonymous has told you a word. Look for what is collected at signup, what survives after the session ends, and under what process data is handed to a third party.

If those three are missing, the label is not evidence of anything.

Start from the observer you actually care about, then trace one row of the table: which address does it see, which identifier does it hold, how long is it kept. Fix the row that fails rather than renaming the account. That is the only step here that changes an outcome.

Skyldar greinar