Privacy, precisely
What a "no logs" claim can and cannot mean
"No logs" tells you very little on its own. The phrase covers at least five different kinds of record, and a provider can discard one, keep the rest and still say it. The useful questions are narrower. Which categories, written where, and for how long?
This page separates those categories and explains the one thing no policy can change about how a relay works. Then it states what we write down ourselves. Some of that reflects well on us and some of it doesn't. Both are here, because a page about honest claims that wasn't honest about its own would be worthless.
Choosing not to keep something isn't the same as being unable to
There are two quite different claims hiding under one phrase. The first is a policy. The provider's systems could record something, and they've been configured not to.
The second is structural. The provider's design means the data doesn't exist in a form anyone could hand over. That holds even under compulsion, and even if the people running it changed their minds tomorrow.
The second is worth far more, and the sentence in a policy rarely tells you which of the two is on offer. A policy can be amended, misapplied or overridden by whoever holds the root credentials. It survives only as long as the current owners and the current legal position do.
A structural limit holds regardless of intent. End-to-end messaging is the familiar analogy. A provider that can't read your message contents is in a different position from one that has decided not to look.
Connection metadata is the hardest of these categories to be structurally incapable of holding. It's worth understanding why before you hold it against any provider. A provider has to authenticate paying accounts, know which exit a device may use, bill for it, and notice when a node is failing.
Each of those jobs is a reason for an account identifier and a timestamp to meet somewhere. Say you open a VPN app and pick an exit. Before the tunnel comes up, something has to check that your account may use that exit, and the check happens at a particular moment.
Limit
Our own nodes run a permanent packet capture to build usage figures. The hourly aggregate includes resolved domains, keyed to the tunnel address. The ledger on our home page states this. Treat any provider's "no logs" phrasing as a question. It isn't an answer.
Five categories, routinely collapsed into one phrase
When a claim is vague, it's usually being made about the first category and read as though it were about all of them. Separating them is most of the work.
- Contents: the data inside the connection. For a modern web session, this is encrypted between your browser and the site with or without a VPN. So a provider declining to keep it is declining something it mostly couldn't read anyway.
- Destinations: which hosts or addresses you reached, and when. This is the category that would reconstruct your browsing. It's the one most people have in mind when they read the phrase.
- DNS queries: the names your device asked to resolve. They're nearly as revealing as destinations and easier to log. Resolution is a small, text-shaped event, and it passes through infrastructure the provider often runs itself.
- Connection metadata: which account connected, at what time, for how long, to which exit, from which platform. There are no destinations in it at all. It's still a substantial amount of information about your habits and whereabouts.
- Account and billing records: your email address, your plan, your payment history. Nobody claims to discard these, because a subscription can't run without them. They're the thread tying your identity to everything above.
A provider can keep the last two and still say no logs
This is the gap worth noticing. Suppose a policy discards contents, destinations and DNS queries, and keeps connection metadata and billing records. It can be described as no logs, and the description isn't strictly false.
So what does it leave out? That the remaining records can still show a particular paying account was connected to a particular exit between two particular times.
Whether that matters depends on what you're worried about. Against a hotel network, a mobile operator or an advertising intermediary building a profile from DNS lookups, it matters hardly at all. None of them sees the provider's records.
Now say you're worried about a party who can compel the provider, and who already holds a time and an exit address to correlate against. For them, connection metadata is the informative part. It's exactly what the reassuring phrase wasn't addressing.
At the moment it forwards a packet, the exit knows where it's going
A VPN exit is a relay. Say you load a page. A packet arrives from your device inside an encrypted tunnel, the server decrypts the outer layer, and it sends the contents onward to the destination address written in the header.
It can't do that without reading the address. The same applies in reverse for the reply. That's no weakness in a particular implementation. It's what forwarding is, and no policy, protocol or jurisdiction alters it.
So what's the honest framing of a no-logs position? The provider knows where your traffic went at the moment it forwarded it. It doesn't write that down.
That distinction does a lot of work. Momentary handling leaves nothing behind once the packet has moved on. A written record persists, can be searched and can be demanded.
So encryption relocates trust. It doesn't remove it. Your local network loses its view and the exit operator gains one. The question to ask is what gets persisted, not what's seen in passing.
What WrapVPN writes down, stated plainly
Our connection service writes one row when your device connects and one when it disconnects. Each row carries an account identifier, a timestamp, the event type, a status, the exit used, the platform and the client version. The disconnect row also records how long the session lasted, and a row can carry an error message, a session ID and a disconnect reason.
Each row also carries a session identifier that ties a connect to its matching disconnect. Where something failed, there's an error detail and a reason. That's the shape of the table.
Say you connect to Tokyo at 9:00 and disconnect at 9:40. That's two rows, tied together by one session identifier. Between them they hold your account identifier, the Tokyo exit, the two times and the 40-minute duration. The event type, status, platform and client version are on each row too.
Those rows have no column for browsing activity, destination addresses or DNS queries. That's true of that table. It isn't the whole picture.
Here's the rest. Every node runs a permanent packet capture on the tunnel interface, and a second one on DNS traffic. We use them to build usage figures.
Once an hour, a node turns its capture into an aggregate and sends it to our usage warehouse. For each client it holds totals of its TCP traffic, the outside addresses it reached over TCP, the country, city and network of each one, and the domains matched to those addresses. Traffic over UDP, which includes HTTP/3, isn't in it, and neither is the Android app's AmneziaWG mode.
The aggregate isn't keyed to your account. It's keyed to the 10.x address your device is given inside the tunnel. But each node names those addresses by account and device, so the aggregate can be linked to your account.
The domain list is inferred, not a record of your own lookups. Each hour, the node maps every plain DNS answer it sees, from any device on it, to the addresses in that answer. Then it labels the outside addresses your tunnel address reached with those names. Encrypted DNS keeps your own lookups out of the capture, but a name can still land on your row if anyone else on that node looked up the same address. Partial isn't the same as absent.
Clean Web is part of the same story. When it's on, it refuses known ad and tracker hostnames at name resolution, and the resolver on each node runs with its own query log switched off. That doesn't hide your lookups from us, because the capture sees the same queries on the node. The app shows you a running Blocked counter. It doesn't show you a list of names.
Your originating public address is stored as well. It's saved with the session token that keeps your app signed in, in a record we write each time you sign in, and in our API's request log, all tied to your account.
One detail is easy to blur, so here it is precisely. The usage warehouse has a field named client_ip. That's the 10.x tunnel address. It isn't the address your connection comes from, which lives with the session token and in the sign-in records.
So what can our records show? That your account connected to a particular exit, when, for how long, and on what platform. Through the usage aggregate, they can also show which outside addresses and domains a tunnel address reached in a given hour. On top of that there's a record of each device, a log of each sign-in with the address it came from, and the analytics our apps send to Google's Firebase under your account ID. If you're weighing us up, assume all of that is available.
The parts of this that argue against WrapVPN
Three things here deserve to be held against us, and we won't explain them away. The first is the capture itself. Our nodes record enough to say which outside addresses and domains a tunnel address reached each hour. A service that can't produce that is in a stronger position than one that can, and we can.
The second is retention. Our connection table has no automatic purge, so rows written for diagnostics stay until something deletes them. The usage aggregate is different: our warehouse drops it after 90 days. That's a setting today, and we could change it. A provider that discards this data after a short, published window is stronger on this axis. If that's decisive for you, you should prefer that provider.
The third concerns key material. In our flow, the server issues the tunnel configuration, and that configuration includes the private key. Your device doesn't generate its own key pair and keep the private half locally.
A design where the client generates its own pair can say the private half never leaves the device. Ours can't, and the opposite is closer to the truth.
It's a defensible arrangement. It's what lets our apps configure a tunnel without key generation on the client. But if you're comparing designs, you should know which one you're looking at.
Set against that, there's one thing we can say cleanly. We can't read the contents of your HTTPS traffic. Destinations and DNS are a different matter, as you've just read.
If you weigh these three problems more heavily and go elsewhere, you're reading the facts correctly. That's the point of listing them.
What an audit establishes, and what it doesn't
An independent audit is better than no audit. It's also weaker evidence than its usual presentation suggests.
An auditor examines the systems made available to them, at a point in time, against a scope the provider agreed to. A clean result says that during that window, on that scope, the described practice matched the stated one.
It doesn't establish what happens in the months afterwards, what sat outside the scope, or what a later operator would do with the same infrastructure. It doesn't usually reach the upstream providers whose hardware the exits run on, either.
Suppose the scope covered a provider's exit servers and left out its account database. A clean result tells you nothing about the account database.
The questions you should ask are narrow. Who performed it? What was in scope? Is the full report published, and how old is it? An audit whose scope is unpublished is close to uninformative, because the scope is where the interesting choices live.
Jurisdiction claims are weaker than they sound
A great deal of marketing rests on where a company is registered. It's usually phrased as being outside any mandatory data retention regime. Here's the limitation. The absence of a law requiring retention isn't, by itself, the presence of one forbidding disclosure.
A provider in such a place is free not to keep records. It's generally not immune to a request for whatever it does keep. And it may operate exit servers in countries whose rules differ from its own.
The infrastructure tends to go unmentioned. Exits sit in data centres run by other companies. Suppose a provider is registered in one country and its exit stands in another. The rules that reach that building are generally the rules of the place it stands in.
So jurisdiction is worth something as context and little as a guarantee. A short, specific statement of which records exist tells you more than a long one about where a company is incorporated.
How to evaluate anyone's claim, including ours
The pattern that holds up is specificity. A provider that enumerates its records is making a statement that can be falsified, and that's a meaningful thing to offer. One that asserts a quality, such as private, anonymous or zero-knowledge, is making a statement that can't be checked at all.
So when you read any policy, including ours, ask the questions below. They're the ones that separate the two.
- Which categories are named. A policy that says no logs without listing contents, destinations, DNS, connection metadata and billing separately hasn't answered the question.
- Whether connection metadata is addressed explicitly or passed over. Silence here usually means it's kept.
- How long anything is kept and what deletes it. A stated window with a mechanism behind it beats an unqualified assurance.
- Whether the provider could produce the data if compelled, or the schema has nowhere to put it. Structural answers survive changes of ownership and policy. Promises don't.
- What the account itself reveals. An email address and a payment record tie your identity to whatever else exists, and no tunnel changes that.
- If there's an audit: who did it, what was the scope, is the full report published, and when?
What it costs
Short plans, priced so a week costs what a week is worth. Cancel any time in your store settings.
$1.99per week
$3.99per month
No annual subscription. No long-term commitment.
7-day free trial
See all plansCommon questions
Does WrapVPN log the websites I visit?
Partly, and it can be tied to your account. The connection records tied to your account have no column for browsing activity, destination addresses or DNS queries. But our nodes capture traffic to build usage figures, and the hourly aggregate includes the outside addresses and domains a tunnel address reached. That aggregate is keyed to the tunnel address we assign, so treat it as linkable to your account. It doesn't hold page contents.
If destinations aren't logged, how can the exit send my traffic anywhere?
Because forwarding and recording are separate things. The exit reads the destination address on each packet so it can send it onward. That's what a relay does, and no policy changes it. A logging policy answers what gets written down and kept afterwards, not what's handled momentarily in passing.
What could WrapVPN's records show about me?
That your account connected to a particular exit at a particular time, stayed connected for a particular duration, and did so from a particular platform and client version. Through the hourly usage aggregate, they could also show which outside addresses and domains your tunnel address reached. Your originating address is stored with your session token, in a log we write each time you sign in, and in our API's request log. We keep your account email and plan, the name and photo your Apple or Google sign-in shares, and a record of each device. Our apps also send usage events and crash reports to Google's Firebase under your account ID.
Does a no-logs audit prove a provider is safe?
It establishes that at one point in time, within an agreed scope, the practice matched the policy. It doesn't cover what happens afterwards, what was left outside the scope, or what a future operator might do. An audit with a published full report and a stated scope is informative. A summary citing neither is close to meaningless.
Does being based in a country with no data retention law make a VPN private?
It's useful context and a weak guarantee. Having no requirement to retain data doesn't prohibit disclosing what's already held. And exit servers sit in data centres governed by the law where the building is, wherever the company is registered. A specific list of which records exist tells you more.
Does my private key stay on my device with WrapVPN?
No. Our server issues the tunnel configuration, and the private key is part of what it issues. So your device isn't generating its own key pair and keeping the private half locally. A design where the client generates its own pair works the other way. If that's the deciding factor for you, weigh it against the rest of this page.
Get WrapVPN
One account covers your phone, tablet and computer. Connect in a tap, from any of our regions.
Keep reading
Closely related pages, chosen because they answer the question this one raises next.
Guide
What you are actually paying for with a VPN
Where the money goes in a consumer VPN, and what that explains about free tiers, annual discounts and the server counts in the advertising.
Guide
What WireGuard is, and why it connects instantly
WireGuard fixes its cipher suite instead of negotiating one and shakes hands in a single round trip. What that buys you, what it costs, and where the promise ends.
Guide
Blocking ads and trackers at the DNS layer
Why declining a name lookup stops an ad before it is requested, what hostname filtering genuinely cannot do, and why it reaches apps no browser extension can see.
Guide
Why almost every VPN is sold by the year
Why VPN pricing converged on discounted annual terms, how to read a per-month figure, what changes at renewal, and when a short plan is the wrong purchase.