Manav.id
Compliance · 4 min read

Zero-knowledge proofs and the audit that needs to see the data

Zero-knowledge proofs and the audit that needs to see the data

The property that makes zero-knowledge valuable for privacy is the property that makes it unsuitable as an enterprise audit record: it deliberately does not say what happened, only that a rule was satisfied.

Why are zero-knowledge proofs wrong for approval records?

Because audit, regulation and litigation all need the facts the proof deliberately omits. A proof shows a constraint held without revealing the inputs. An auditor asks who approved it, for how much, to whom, and wants to see it — which is the opposite property.

Key takeaways
  • A proof shows a statement is true without revealing why. Audit and litigation need the why.
  • Proof systems carry assumptions — trusted setup, circuit correctness, library versions — that must be explained to a non-technical audience years later.
  • There are genuine applications in identity and eligibility; approval records are not among them.

What a proof establishes

A proof establishesA constraint was satisfiedBy some valid witnessWithout revealing itVerifiablyAn auditor asksWho approved it?How much, to whom?What were they shown?Show mevs

That some witness exists satisfying a defined circuit, without revealing the witness. Verification confirms the constraint held.

# What a proof can establish
  "An approver with authority above the threshold approved
   a payment under the applicable limit."

# What an auditor asks
  "Who approved it? How much? To whom? At which account?
   What were they shown? Show me."

# The proof deliberately does not contain any of that.

The three audiences

AudienceWhat they needDoes a proof serve it?
Internal auditTransaction detail to test the controlNo
RegulatorRecords of specific decisions and who made themNo
CourtThe payee, the amount, the instructionNo
Counterparty checking eligibilityThat a condition holds, nothing moreYes
Individual proving an attributeThat they are over an age, resident somewhereYes

The bottom two rows are real and valuable. The top three are where enterprise approval records live, and they want the opposite property.

The explainability problem

Beyond the content question there is a practical one. A signature verification is explainable to a judge or an examiner in two sentences: this public key belongs to that person, and only the matching private key could have produced this signature.

A zero-knowledge proof requires explaining the circuit, what it constrains, the setup assumptions, and why the implementation is faithful to the intended statement. Each of those is a place for a competent opposing expert to introduce doubt.

None of these is unanswerable. All of them take an expert witness and a day of testimony, which is a cost the signature approach does not incur.

Where the two combine well

The productive pattern keeps them in separate roles rather than choosing.

# Identity layer  — privacy matters
  proof: "this person is an authorised approver at tier 3"
  → the counterparty learns the authority, not the identity

# Record layer   — auditability matters
  signed statement: full payee, amount, account, approver
  → retained internally, disclosed to auditors and courts

# Different parties see different things, and the record
# that must be produced in litigation contains the facts.

This is close to how the paper world worked. A counterparty sees a signature block; the internal file contains the full authorisation.

Being fair about the criticism

This argument is about a specific application, not about the technology. Zero-knowledge proofs are an important construction with real deployments doing things nothing else can do.

The error is a category one, and it is usually made by people who understand the cryptography and have not sat through an audit. The requirement for an approval record is disclosure, not privacy, and a tool optimised for the opposite is the wrong tool however elegant it is.

A test worth applying

Before choosing a privacy-preserving construction for a record, ask one question: who will need to read this, and what will they need to see?

If the answer includes a regulator, an auditor, an insurer or a court, the record needs to contain the facts. If the answer is a counterparty who needs only to know a condition holds, a proof is exactly right.

The explainability cost

What each requires to establish in a hearing
ConstructionExplanation needed
Signature verificationThis key belongs to that person; only the matching private key could produce this
Zero-knowledge proofThe circuit, its constraints, setup assumptions, library fidelity

Each item in the right-hand cell is a place a competent opposing expert can introduce doubt. None is unanswerable; all of them cost an expert witness and a day of testimony that the signature approach does not.

Objections and honest limits

“This dismisses a valuable technology.” It does not. Proofs are the right tool for identity and eligibility, where a counterparty needs to know a condition holds without learning the data. The error is a category one.

“Both could be used.” They should be, in separate roles: a proof at the identity layer where privacy matters, a signed statement at the record layer where disclosure is required. That is close to how the paper world worked.

A test before choosing a construction

  1. Who will need to read this record? Name them.
  2. What will they need to see? Facts, or a satisfied condition?
  3. Does the list include a regulator, auditor or court? Then the record needs the facts.
  4. Is the counterparty only checking a condition? Then a proof is exactly right.

Terms used here

Zero-knowledge proof
A proof that a statement is true without revealing why it is true.
Trusted setup
A parameter generation ceremony some proof systems require, and an assumption an opposing expert will examine.
Circuit
The encoded constraint a proof demonstrates satisfaction of — whose correctness is a separate question from the proof's validity.

Frequently asked questions

Are zero-knowledge proofs useless for enterprises? No. They are well suited to identity and eligibility, where a counterparty needs to know a condition holds without learning the underlying data.

Why are they wrong for approval records? Audit, regulation and litigation need the payee, the amount and the approver. A proof deliberately omits exactly that.

What is the explainability problem? A signature is explainable in two sentences. A proof requires explaining the circuit, setup assumptions and implementation fidelity — each an opening for doubt.

Can both be used? Yes, in separate roles. A proof at the identity layer where privacy matters, a signed statement at the record layer where disclosure is required.

Can both be used together? Yes, in separate roles: a proof at the identity layer, a signed statement at the record layer where disclosure is required.

Where this fits in Manav

Manav's receipt is deliberately small: RFC 8785 canonicalisation, one algorithm, keys at a well-known URL, and a verifier short enough to audit or reimplement.

Read the architecture →

Sources and further reading