Guide · WireGuard

WireGuard and privacy: what a WireGuard server remembers about you

You connected to a WireGuard VPN last night and disconnected before bed, but unless someone tidied up, the server still has your home's IP address in memory this morning. That's the best-known privacy criticism of WireGuard, and it's worth understanding properly before deciding how much it matters.

TL;DR: To do its job, a WireGuard server keeps a short entry for each device: its public key, its inside address, the internet address it last heard from, the time of the last handshake and how much data has passed. Disconnecting doesn't clear it; it lasts until the device is removed or the server's WireGuard interface restarts. It's a snapshot rather than a history, and what a VPN company chooses to log on top of it is usually the bigger question, ours included.

One evening, one phone, one server

Let's follow a single evening. At seven you're on the sofa, on your home Wi-Fi, and you connect your phone to a WireGuard VPN server in London. At nine you walk round to a friend's, and your phone swaps Wi-Fi for mobile data on the way. You're home again by eleven, back on your own Wi-Fi, and at half past you tap Disconnect and go to bed.

Several parties were part of that evening: your phone, your broadband and mobile networks, the server in London, the company that runs it, and the websites you visited. By breakfast, each of them remembers something different.

Most of this piece is about the server, because that's where the criticism points. To see why it remembers what it does, start with what it holds while you're connected.

Five things the server holds, and why

WireGuard knows devices by key, not by name or account. A server's configuration is a list of peers, WireGuard's word for the devices it will talk to, and while it runs it holds five things about each one:

  • Your device's public key. This is how the server recognises you: a handshake sealed with the matching private key is you, and anything else is ignored.
  • Your inside address, from a setting called AllowedIPs. It's the address your phone uses inside the tunnel, rather like a room number, and the server uses it to decide which peer a reply belongs to.
  • Your endpoint: the public internet address and port that your latest genuine packet came from. The server needs it to know where to send replies, and updates it whenever you move, which is how your tunnel survived the walk to your friend's.
  • The time of the latest handshake. WireGuard's timers use it to decide when keys need refreshing and when they're too old to use.
  • Transfer counts: running totals of the data passed in each direction, kept for whoever runs the server rather than for the protocol itself.

Note

Beyond those five, it holds only working material, such as the current session keys and packet counters, and any optional extra key or keepalive setting it's been given. WireGuard's own table holds no account, no name and no list of websites; it forwards each packet to wherever it's addressed and moves on.

Why it's all still there in the morning

Here's the part that surprises people: WireGuard has no goodbye. Its protocol has only four kinds of message, two for the handshake, one for coping with heavy load and one for data, and none of them means "I'm leaving". When you tap Disconnect, your phone simply stops sending.

The server tidies up what it can. When no fresh handshake arrives, it wipes the session keys from memory within minutes, so the keys that protected your evening are gone. The peer entry itself stays, though, and so does what it learned about you.

Run WireGuard's wg tool on that server at eight the next morning, and your entry would look something like this:

What the server shows the next morning (example values)
peer: <your phone's public key>
  endpoint: 198.51.100.23:49731
  allowed ips: 10.0.0.2/32, 2001:db8::2/128
  latest handshake: 8 hours, 31 minutes, 12 seconds ago
  transfer: 96.30 MiB received, 1.42 GiB sent

A whiteboard, not a diary

Read that entry the way the server does. The endpoint is your home broadband's address, because that's where your last genuine packet came from. The mobile network's address from nine o'clock has gone, overwritten the moment you got home. The handshake time shows roughly when you stopped, and "sent" is the big number because it counts what the server sent to you.

So WireGuard's memory is a whiteboard, not a diary. There's one line per device, and each change rubs out what was there before, so the server can't tell you where you were at nine. The catch is that nobody wipes the board when you leave. The line stays until someone removes your peer or the server's WireGuard interface restarts, and your inside address stays the same for as long as your peer is configured.

On a server you run for yourself, none of this matters: it's your machine, and the address on the board is your own. A VPN server shared by thousands of strangers is a different picture.

Why it matters on a commercial VPN

On a public VPN server, that whiteboard pairs each device's key, which the service can link to an account, with the home or mobile address it last connected from. Anyone able to read the server's memory, whether through a break-in, a seizure or a legal demand, could read those pairs. And because the inside address doesn't change, anything else the server notes against that address points back to the same device night after night.

None of this is a weakness in WireGuard's security, since nothing on the board says what you did. WireGuard was built, much like SSH, to connect machines that already know each other, not to hide one end from the other. Services that worry about the leftover state describe a few kinds of fix, usually in some combination:

  • Removing a device's peer from the server when its session ends, or after a short idle spell, so its line goes with it.
  • Giving out a fresh inside address and key for each session, so neither becomes a long-term label.
  • Running servers from memory alone, with no disks, so a restart leaves nothing behind.
  • Keeping the account system apart from the tunnel servers, so a server sees keys rather than people.

Protocol state isn't the same as a log

Those fixes all deal with protocol state: what the software needs in memory to work at all. WireGuard can't send you a reply without your endpoint, so it has to hold one. A log is something else: a decision to write something down, usually with a time on it, and keep it.

The protocol neither requires logs nor prevents them. An operator could wipe WireGuard's table every few seconds and still record every connection somewhere else, while another could leave the table alone and keep very little beyond it.

So "does it use WireGuard?" tells you almost nothing about privacy. "What do you write down, and for how long?" tells you a great deal.

What we keep, and the morning after

Here we owe you a straight answer. Our records go well beyond anything WireGuard needs, so a story about how promptly we tidy WireGuard's table would be beside the point.

We keep connection records, including your account, the time, the server and how long each session lasted. Our exit servers send us hourly usage summaries for each inside address, with the amount of data and the addresses and domain names reached, and because we know which account and device each inside address belongs to, those summaries can be linked to you. Sign-ins and the apps' requests to our servers are recorded with the IP address they came from. Our privacy policy lists each record and how long it's kept, and some have no automatic deletion.

So here's the morning after with WrapVPN. Your broadband and mobile networks saw encrypted packets travelling to our server, and nothing of what was inside them. The websites saw our exit server's address rather than yours. Over IPv4, everyone connected to that server shares it; where the server also offers IPv6, sites reached that way see an address set aside for your device. And we hold the records above, which say far more than one line on a whiteboard. If that's a trade you're comfortable with, the free plan is the easiest way to try WrapVPN for yourself.

Plans and prices

Weekly and monthly plans renew automatically until cancelled, and there is no annual commitment. You can cancel at any time in your App Store or Google Play subscription settings.

$1.99per week

$3.99per month

There is no annual or multi-year plan.

The monthly plan may include a 7-day free trial for eligible new subscribers.

See all plans

Common questions

Does WireGuard store your IP address?

Yes, in memory. A WireGuard server holds the address and port of the latest genuine packet from each device, because it needs to know where to send replies, and it keeps that until the device's peer is removed or the interface restarts. Whether it's written down anywhere else is up to whoever runs the server.

Is WireGuard private?

It keeps your traffic private from the networks between you and the server, which see only sealed packets. It isn't designed to hide you from the server itself, which knows your device's key, its inside address and where you connected from. How private a WireGuard VPN is overall depends on what its operator records.

How long does a WireGuard server remember me?

The session keys are wiped within minutes of the tunnel going quiet. The rest of the entry, including your last address, the last handshake time and the data totals, stays until your peer is removed or the server's WireGuard interface restarts, which on a standard setup can be a long time.

Can my VPN provider see my real IP address?

Yes, whichever protocol it uses, because the server has to know where to send your traffic back. WireGuard's twist is that the last address can linger in memory after you disconnect unless the provider clears it. Providers also see your address when their apps sign in and make requests, and we record those with the IP address they came from.

Is OpenVPN more private than WireGuard?

Not inherently. An OpenVPN server also knows your address while you're connected, and either protocol can be run with extensive records or very few. WireGuard's quirk is that its last-seen address lingers after you leave; what the operator chooses to record matters far more.

Download WrapVPN

One account works on your phone, tablet and computer, with no device limit on any plan. Every server location is available on every plan, including the free plan.