Search

Search for projects and tokens by name or address

Publications

Publication

Research

5 min read • Published on 20 Oct 2026

How we assess privacy protocols

The privacy promise, the adversaries each protocol is tested against, the verdicts and the other columns of the privacy summary.

Avatar of L2BEAT Research

L2BEAT Research

How we assess privacy protocols publication thumbnail

Privacy tools can hide activity from the public yet still leak it to specific parties. Our five adversary archetypes reveal who can learn what an app promises to hide, and whom users must trust. They assess the live protocol and a released client, using source code, onchain data and observed behaviour.

Each project promises at least one private field: sender, recipient, amount, asset or the link between two actions. We rate that field against each adversary independently and report other exposed fields separately. An adversary is a capability that different people or companies may have.

Withdrawals can be linked to their deposit

Public observer: Private

Every deposit and every withdrawal, but nothing that ties one to the other.

Public observer reads public transactions and follows explicit links.

Ratings

The ratings assume a careful user follows ordinary hygiene and the review’s advice, using settings offered by the assessed client. Each review names at least one client, usually the strongest functional released open-source client available.

  • Private (green): the promised field stays hidden from this adversary.
  • At risk (yellow): protection is limited, private use can be denied, or keeping the field hidden takes substantial effort beyond the client’s options. A workaround must preserve ordinary use of the protocol.
  • Exposed (red): the field is exposed with no reasonable workaround, or no usable, verifiable client supports private use. A custodian who can require disclosure to release funds also earns red.

When privacy depends on hiding among other users, the size of that group (anonymity set) affects the adversary who sees the later action.

No deposits to hide among

0deposits

A live pool. Every withdrawal could have come from any deposit before it, so it fans out to all of them. Turn the traffic down and see how quickly a withdrawal stands alone; make a deposit and withdraw it to see your own crowd.

Adversaries

  • Public observer: reads public transactions and follows explicit links.
  • Chain analyst: combines public data to correlate timing, amounts, gas payments and addresses.
  • Network observer: sees traffic to third parties, including public RPCs and relayers. An operator’s own services count as the insider.
  • Privileged insider: controls or serves part of the system, holds keys or plaintext, custodies funds, or delivers the client.
  • Future adversary: archives public data, then runs the known quantum attacks and uses every key they recover. Other schemes stand until an attack on them is known, and the cell names the assumption that remains. Retained logs, insider keys and recorded traffic are outside this scenario.

The public observer, chain analyst and future adversary see the same public data with increasing ability.

Categories

Categories describe how a protocol tries to hide data. Pools, shielded ledgers and anonymous access usually promise to hide a link. Stealth addresses hide a recipient. Confidential amounts hide an amount. Secret ballots hide how each voter voted. A project keeps its category even when it fails that promise.

Pool hides the link

Funds enter a shared pool and leave it later, with no actions inside. Hides which deposit became which withdrawal.

Shielded ledger hides the link

A pool with transfers or DeFi inside. Hides who pays whom and which deposit became which withdrawal.

Anonymous access hides the link

Proves eligibility to use a service without revealing which account or deposit grants access.

Stealth address hides the recipient

Payments land on fresh one-time addresses. Hides which recipient a payment is for.

Confidential amounts hides the amount

Accounts and counterparties are public, balances and transfer amounts are encrypted.

Secret ballot hides the vote

Voters and their voting power are public, ballots are encrypted and only the tally is decrypted. Hides which option each voter chose.

Summary table

Next to the adversary ratings, the privacy summary shows:

  • Anonymity set: For link privacy, unique depositors over the last 30 complete UTC days, in the largest tracked pool. For recipient privacy, unique addresses that registered stealth keys in the last 30 complete UTC days.
  • Trusted setup: Trusted setup used by the project’s proving system and its risk. Risks follow the Trusted Setups Risk Framework.
  • Exit window: Time users have to withdraw before a malicious upgrade can take effect.
  • Walkaway test: The walkaway test says whether users can still fully use the protocol if every centralized participant disappears.
  • Reproducibility: Whether all source code needed to audit the protocol and participate in it is published and can be used locally.

Feedback on the framework is welcome in the Privacy adversaries framework thread on the L2BEAT forum.