๐ŸŽ‰ Premium Proxies ยท 3-Day Free TrialClaim Now
Proxy Types

What Are Zero-Log Proxies and Why Logging Policy Matters

Zero-log proxies explained: what an operator must record to run a network at all, how to read a logging policy, and four tests that check the claim yourself.

S SparkProxy 1 21 min read
Share
What Are Zero-Log Proxies and Why Logging Policy Matters

Zero-log proxies are services sold on the promise that the operator keeps no record of what you sent through them, and in the strict sense that promise is unbuyable, because a network that records nothing cannot bill you, cannot answer an abuse complaint, and cannot stay peered.

That does not make every logging policy dishonest. It means the interesting question was never "do you log", which has one true answer, but "which fields, for how long, reachable by whom". This article takes the claim apart into the parts a buyer can actually verify, and applies the same test to the category we sell in.

What a Zero-Log Claim Actually Says

"Zero-log" has no definition in any standard, statute, or certification scheme. It is a marketing phrase, and every operator using it picks which data classes the word covers. Two providers can both say "zero logs" while one drops per-request destinations after 60 seconds and the other keeps a 90 day table of account ID, exit IP, target hostname, and byte counts, calling that "operational data" rather than logs.

The rename is the tell. Read any logging policy looking for the word carrying the exception: "operational metrics", "aggregated data", "diagnostic data", "connection records", "abuse prevention data". Those are all logs. Most are justified, and a provider that names them plainly is more honest than one that reaches zero by definition.

One version of the claim is meaningful and achievable: the operator does not retain, past a short and stated window, any record that links a specific customer to a specific destination. That is a real engineering commitment with real costs, and the only version worth a premium. It is not what most marketing pages assert.

What Every Proxy Operator Must Process

Before judging any policy, work out the floor. Some processing is not a privacy choice, it is what the service is.

FunctionData it requiresCan it be dropped?
Bandwidth billingBytes in and out, attributed to an account, per periodNo. Per-GB pricing is arithmetic over an identified account
AuthenticationCredential check, or source IP matched against an allowlistNo. The customer's own IP is processed on every connection
Concurrency limitsLive count of open sessions per accountLive state only. Does not have to be persisted
Abuse handlingMapping of (exit IP, timestamp, destination) back to an accountNot if the operator wants to keep its upstream transit
Capacity and healthError rates, latency, exit node status, usually by target hostCan be aggregated without account attribution
Fraud and chargebacksPayment records, retained under card scheme and AML rulesNo. Retention here is often years, set by the processor
Breach responseEnough trail to determine what was accessed and whenNo. See the [GDPR section](#gdpr) below

The abuse row quietly kills the strict reading. When a target site or an upstream network sends a complaint naming an exit IP, a timestamp, and a destination, the operator has to act on it. A provider retaining nothing could not identify which customer to suspend, leaving it to null-route the exit IP or ignore the complaint. Do that at volume and transit providers stop wanting the relationship.

So the honest floor is: some window exists in which traffic is attributable. How long that window is, and who can reach into it, are the two numbers the rest of a logging policy hangs off.

Free trial

Scraping at scale? Skip the blocks.

Fast, unblockable datacentre proxies with unlimited bandwidth.

Connection Logs, Request Logs, Content Logs

Most confusion here comes from treating "logs" as one thing. There are three classes with very different privacy weight, and providers routinely answer a question about one using a fact about another.

ClassTypical fieldsPrivacy weightRealistic status
Connection / metadataTimestamp, account ID, source IP, exit IP, bytes, duration, protocolMedium. Reveals who, when, how much, from whereAlways exists in some form. Retention varies from minutes to months
RequestTarget hostname or full URL, method, status code, request headersHigh. Reveals what you were doingGenuinely optional for a forward proxy. Structurally unavoidable for a scraping API
ContentRequest bodies, response bodies, credentials in transitVery highShould not exist for a forward proxy. Exists by design in a fetch-and-return API

"We never log your traffic" almost always means the content class, the easiest one to not have. "We do not store browsing history" is about the request class and is a stronger claim. Neither says anything about the connection class, where billing and abuse data live and where a subpoena is aimed. Sort every sentence in a policy into one of these three rows before deciding what you were told, and notice that the sentences nobody writes are usually the connection ones.

Why "We Don't Log URLs" Is Nearly Free to Say

For HTTPS traffic through a forward proxy, the operator cannot see the URL path. The client opens a tunnel with the CONNECT method defined in RFC 9110, which carries only host and port, then negotiates TLS end to end inside it. The path, query string, headers, and body are inside the encrypted stream.

So "we do not log the URLs you visit" is, for almost all modern traffic, a description of what the protocol already prevents rather than a policy choice. The operator still sees the hostname, from the CONNECT line and again from the TLS Server Name Indication extension in RFC 6066. Hostname plus timestamp plus account is usually all an investigator needs.

Two consequences worth holding onto:

  • Ask about destination hostnames, not URLs. That is the field with the actual signal, and it is the one that survives TLS.
  • Encrypted Client Hello removes plaintext SNI where both ends support it, but the proxy still learns the host from CONNECT. ECH changes what passive observers on the wire see, not what a forward proxy sees.

Plain HTTP is the exception: full URLs and query strings are visible to the proxy. If you still have unencrypted traffic in a workload, the logging policy is not your first problem. The related failure mode is DNS resolving outside the tunnel, covered in our guide to proxy DNS leak testing and mitigation.

Retention Is the Real Question

Given that some data must exist, the only variables that change your exposure are how long it survives and how many copies exist. "We delete connection records after 24 hours" describes one table. Data has more homes than that.

Where the data livesTypical survivalUsually disclosed?
Primary database tableThe stated retentionYes
Read replica or analytics warehouseOften longer, separate policyRarely
Automated backups and point-in-time restore7 to 35 days on managed database servicesAlmost never
Log shipping to a SIEM or observability vendor30 to 90 days by default planRarely
Payment processor recordsYears, set by card scheme and AML rulesSometimes
Upstream transit or hosting provider netflowOutside the operator's control entirelyNo

The backup window is the real retention floor, and almost no buyer asks about it. Deleting rows from a live table does nothing to a snapshot taken before the deletion. A provider running a managed database with a 30 day point-in-time restore window while claiming 24 hour retention is stating two literally true things whose practical answer is 30 days. Ask explicitly. A provider that has thought about it will have shortened the window on those tables, excluded them from backups, or told you the honest number.

The second underasked question is whether retention is enforced by a mechanism or by a document. "We delete after 72 hours" backed by a cron job someone can pause is weaker than a TTL on the storage engine, which is weaker again than never writing the field. Ranked by strength: not collected, dropped in memory, storage-enforced TTL, cron job, deleted on request.

Jurisdiction and Lawful Access

A logging policy is a promise the operator makes. Lawful access is an obligation a court imposes. When they conflict, the court wins and the policy quietly acquires an exception.

Four jurisdictions matter, often four different countries: where the legal entity is incorporated, where the servers sit, where the staff holding production credentials live, and where the payment processor operates. A provider incorporated somewhere with no retention mandate, but with engineers and infrastructure inside the EU or the US, is reachable through those.

In the United States, stored records are compelled through the Stored Communications Act. 18 U.S.C. section 2703 sets out the tiers, from subpoena for basic subscriber information up to warrant for content, and subsection (f) lets an agency require a provider to preserve existing records for 90 days, renewable once, before any legal process arrives. That preservation power matters more than it looks: a provider with a 24 hour retention policy that receives a preservation letter today keeps whatever it holds today. The CLOUD Act reach, codified at 18 U.S.C. section 2713, extends this to records in the provider's possession, custody, or control regardless of where they are stored.

In the EU, blanket retention mandates have repeatedly failed at the Court of Justice. Digital Rights Ireland (C-293/12) invalidated the Data Retention Directive in April 2014, and Tele2 Sverige and Watson (C-203/15) struck down general and indiscriminate national retention in December 2016. Traffic data handling for billing purposes remains permitted under Article 6 of the ePrivacy Directive 2002/58/EC, which is the legal hook under which connection metadata legitimately persists.

The "eyes" country framing on comparison pages is mostly noise. Intelligence sharing arrangements are not the mechanism that produces a specific customer's records. Compulsion through a court with jurisdiction over the entity is. Ask which courts those are, and whether the provider publishes a transparency report with request counts, since one that never has offers no track record to evaluate.

What an Independent Audit Proves

Audits are the strongest evidence available in this market, and they are systematically overread. What an assurance engagement delivers depends on three things: who set the scope, which standard was used, and whether it covered a point in time or a period.

A SOC 2 report under the AICPA Trust Services Criteria tests controls that the service organisation itself described. A Type I opinion covers design at a point in time. A Type II covers operating effectiveness across a period, typically 3 to 12 months. Many privacy attestations outside the US are performed under ISAE 3000, the IAASB standard for assurance engagements other than audits of historical financial information, with a similarly client-defined scope.

What that structure does prove, when the report is real:

  • The controls listed in the report existed and, for a Type II, operated over the stated period.
  • An independent firm inspected configuration and records rather than taking management's word.
  • Someone is on the hook professionally for the opinion.

What it cannot prove:

  • That no data exists outside the audited systems. Scope is set by the client, and anything excluded is invisible to the report.
  • That the state persists after the report date. An audit is a photograph.
  • That the operator would not comply with a lawful order. No audit tests that, and none claims to.

Ask for the report, not the badge, and read the scope section and system description first to see which systems and which period are inside them. If the provider will only share a marketing summary, you have a marketing summary. Also: a penetration test is not a logging audit, and a code review of a client application says nothing about server-side retention.

The counterexamples are instructive. In the 2017 US prosecution described in the Department of Justice announcement in United States v. Ryan Lin, records obtained from a VPN provider that publicly advertised a no-log policy contributed to the investigation. Policy pages are not architecture.

The GDPR Angle: Processor, Controller, Article 30

If your traffic touches EU or UK data, roles matter more than marketing. Under the GDPR, the controller determines purposes and means of processing and the processor acts on the controller's instructions. For a normal proxy or scraping engagement the split runs like this:

  • You are the controller for the data you collect through the proxy. You chose the targets, the fields, and the retention. If you scrape personal data, that is your processing and your legal basis to justify.
  • The provider is a processor for the traffic it carries on your instruction, which triggers Article 28 and requires a written data processing agreement covering subject matter, duration, sub-processors, security measures, and deletion or return at the end of the service.
  • The provider is simultaneously a controller for its own account, billing, security, and abuse records. Those exist for the provider's purposes, not yours. This dual role is the part almost no logging policy explains, and it is where "we hold nothing about you" and "we invoice you monthly" collide.

The EDPB Guidelines 07/2020 on the concepts of controller and processor are the reference for drawing this line, and they make clear that the label in a contract does not decide the role. Actual influence over purposes and means does.

Two provisions make an absolute zero-log claim legally incoherent for a provider in scope. Article 30 requires processors to maintain records of processing activities carried out on behalf of each controller. Article 33 requires notification of a personal data breach to the supervisory authority within 72 hours where feasible, including the categories and approximate number of records concerned, which is impossible to establish without a trail. A provider claiming to keep literally nothing is claiming either that it is out of scope or that it is non-compliant.

One more piece of doctrine is load bearing. In Breyer (C-582/14), decided 19 October 2016, the Court of Justice held that a dynamic IP address is personal data in the hands of an online service provider with legal means to identify the person behind it. The exit IP and timestamp pairs in a proxy operator's abuse table are therefore not neutral technical data. They are personal data, with everything that follows: a lawful basis, usually legitimate interests under Article 6(1)(f), a defined retention period, and data subject rights. That last point makes the first test below work.

Four Tests You Can Run Yourself

Reading policies is weak evidence. These four probes produce evidence, and none of them require trusting the answer at face value.

1. File a subject access request against your own account

Under Article 15, a data subject can obtain confirmation of whether personal data concerning them is processed, plus a copy, and the controller must respond within one month. You are a data subject for the provider's account, billing, and security records, because those are held about you as an identified customer.

Send it in writing to the privacy contact and keep it narrow:

To: privacy@example-provider.tld
Subject: Article 15 subject access request, account 4471

Under Article 15 GDPR I request confirmation of whether personal data
concerning me is processed, and a copy of it. Specifically:

1. All records associating my account with connection metadata
   (timestamps, source IP addresses, assigned exit IP addresses,
   destination hostnames, byte counts) for the last 90 days.
2. The retention period applied to each category, and the criteria
   used to set it.
3. The recipients or categories of recipient to whom the data has
   been or will be disclosed, including sub-processors.

Please respond within one month under Article 12(3).

The answer beats any policy page as evidence. It is a legal statement rather than marketing copy, it enumerates categories never written down publicly, and a refusal or a silence is itself a result. Point 3 is the sharpest: sub-processor disclosure often reveals a logging or observability vendor the privacy page never mentioned.

2. Ask the abuse question, not the logging question

Send this: "You receive an abuse complaint naming exit IP 203.0.113.40, timestamp 14 days ago, destination example.com. Walk me through what happens." The reply is the retention policy stated operationally, and it is much harder to spin. If they can identify and suspend the account, they had 14 days of attribution data whatever the policy says. If they cannot, ask what they tell the complainant and how they keep transit.

3. Ask for the backup and restore window

One question: "What is the point-in-time restore window on the database holding connection records, and are those tables excluded from backups?" That is the retention floor. It doubles as a competence test, since a provider that cannot answer quickly has not thought about retention at the storage layer.

4. Read what the API itself returns

Product surfaces disclose their own architecture. Job identifiers, session labels, and usage counters imply persisted records, whatever the policy says. SparkProxy's own Scraping API returns identifiers in the response headers:

curl -sD - -o /dev/null \
  -H "X-API-Key: $SPARKPROXY_API_KEY" \
  "https://scrape.sparkproxy.io/api/v1?url=https%3A%2F%2Fexample.com&render_js=false&tag=audit-check"
HTTP/2 200
x-job-id: 9f2c41ae-1b77-4a3d-9d0e-2c8e51f0a6b1
x-credits-used: 1
x-duration-ms: 412

A job ID means a job record. A credit counter means metered usage tied to an account. Run the same check against any provider's API before you read their privacy page, and you will know which questions to ask.

Questions to Ask, and What a Good Answer Sounds Like

Ask thisA good answer sounds likeRed flag
Which fields do you associate with my account, and for how long?A field-by-field list with per-field retention, including the ones kept longest"We are a zero-log provider" with no field list
What is the backup or point-in-time restore window on those tables?A specific number of days, or a statement that those tables are excluded from backupsConfusion, or a policy answer to a storage question
Do you retain destination hostnames tied to an account?A direct yes with a window, or a direct no with the abuse workaround explainedAn answer about URLs, or about content, when you asked about hostnames
Which entity holds the data, and which courts have jurisdiction over it?Named legal entity, named hosting regions, named jurisdictionsOnly a marketing country, or an "eyes" argument in place of an entity
Have you received lawful access requests, and do you publish counts?A transparency report with numbers and dates, including zeroes"We would never comply", which is a promise no operator can keep
Can I see the full audit report, including the scope section?The report under NDA, with the system description and period visibleA badge image, or a summary page with no scope
Will you sign an Article 28 DPA with your sub-processor list attached?A standard DPA and a current, dated sub-processor listReluctance, or a list that omits observability vendors
Is retention enforced by a mechanism or by a document?A storage-level TTL, or fields that are never written"Our policy states that we delete"

A provider that answers seven of these well and admits a weakness on the eighth is more trustworthy than one that answers all eight perfectly and vaguely. Precision about limits is the signal, the same principle that governs evaluating a residential or datacenter proxy service, where the specific number always beats the superlative.

Where Our Own Category Is Constrained

Applying the article to ourselves, since a buyer should be able to use it on us.

We meter bandwidth and credits per account, so byte and request counts are attributed to an identified customer. That is how usage-based pricing works, and every provider billing per gigabyte does the same whatever its homepage says.

We answer abuse complaints, so a window exists during which traffic is attributable to an account. A residential or mobile pool strengthens that obligation rather than weakening it, because the addresses belong to real subscribers whose ISPs escalate. An operator claiming it runs a residential pool while retaining nothing is describing a network that would lose its supply.

Our Scraping API is structurally not a zero-log product, and we would rather say so than word around it. It takes a URL, fetches it, and returns the body, so processing the destination and the content is the function rather than an accident of implementation. The response headers above carry a job ID and a credit count, and the session_id and tag parameters in the Scraping API documentation exist to label records for grouping. Anyone buying a managed fetch service from anyone, us included, buys a product whose provider sees the request. The honest question for that class is retention and access control, not existence.

A plain forward proxy is a different shape. There the request class is genuinely optional, since the operator need not parse anything above the transport to move bytes, and TLS puts the path out of reach anyway as covered in the CONNECT section. Anonymity and logging are therefore separate axes. A proxy can be elite by the proxy anonymity levels taxonomy, stripping identifying request headers, while the operator still keeps a full connection table. The reverse holds too: a transparent proxy announces itself in headers and might retain very little. Header behaviour is what the target sees. Logging is what the operator keeps. Conflating them is the most common error in this subject.

Two constraints apply to every operator in the market. Payment records outlive traffic records by years because card schemes and anti-money-laundering rules require it, so the account-to-identity link survives long after any connection table. And authentication method matters: IP allowlisting means your own source addresses are processed on every connection, a data point that username and password authentication never creates.

None of this argues for indifference. It argues for buying on stated fields, stated windows, stated jurisdictions, and a signed Article 28 agreement rather than a two-word claim. Pair that with a defensible collection posture on your own side, the subject of our guide on ethical scraping and rate limiting, and you have something to put in front of a compliance reviewer.

Frequently asked questions

FAQ

Not in the strict sense. A provider that bills per gigabyte, enforces concurrency limits, and answers abuse complaints necessarily processes records tied to an account. The achievable version is that no record links a specific customer to a specific destination beyond a short, stated window.

Connection logs record the session: timestamp, account, source IP, exit IP, bytes, duration. Request logs record what you asked for: destination hostname or URL, method, status code. Connection logs almost always exist because billing and abuse handling depend on them. Request logs are genuinely optional for a forward proxy.

No. A SOC 2 or ISAE 3000 engagement tests controls the provider itself described, over a defined scope and period. It is meaningful evidence that those controls operated, and it says nothing about systems outside the scope, about the period after the report date, or about the provider's response to a lawful order.

Indirectly, yes. Article 30 requires processors to maintain records of processing carried out for each controller, and Article 33 requires breach notification within 72 hours including the categories and approximate number of records affected. Neither obligation can be met by a provider holding nothing.

They interact. Jurisdiction determines who can compel production, retention determines what is there to produce. Short retention with an unfavourable jurisdiction usually beats long retention with a favourable one, since a preservation order under 18 U.S.C. 2703(f) freezes only what exists at the moment it arrives.

File an Article 15 subject access request against your own account, ask them to walk through handling a 14 day old abuse complaint, ask for the backup and point-in-time restore window on the tables holding connection records, and inspect the identifiers their API returns. Those four produce evidence rather than assurances.

Special Discount ยท 20% off

Get 20% off your first month

Premium datacentre proxies with unlimited bandwidth. Use the code at checkout.

Save up to 15% more on quarterly, half-yearly and yearly plans

Claim Discount

About the Author

The SparkProxy Technical Team builds and operates SparkProxy's datacenter, residential, and mobile proxy networks and the SparkProxy Scraping API. Most of our time goes to exit node health, IP reputation, and the operational side of running pools at scale, which includes handling abuse reports and data requests. This article reflects how those systems work rather than how they are marketed, including the parts of our own product that cannot be zero-log. Full API parameters are documented at sparkproxy.io/docs/scraping-api. Nothing here is legal advice; have counsel review any compliance position against your own processing.

Keep reading

Related articles

What Are Sneaker Proxies and How They Work

What Are Sneaker Proxies and How They Work

Sneaker proxies explained: what makes an IP survive a limited release, why /24 subnet concentration gets whole pools banned, and where the legal line sits.

SparkProxyยทProxy Types
What Are HTTP/3 and QUIC Proxies?

What Are HTTP/3 and QUIC Proxies?

HTTP/3 and QUIC proxies carry UDP, so a classic HTTP CONNECT proxy cannot relay them. How connect-udp and MASQUE work, and why silent h3 downgrades leak.

SparkProxyยทProxy Types