Field note 01

Security / Proof & trust 3 min read

Define the claim.
Then build the proof.

A zero-knowledge proof is only as useful as the statement it verifies. Start with the boundary between what stays private and what must be checked.

Write the statement first.

“We use zero-knowledge proofs” describes a mechanism, not a product guarantee. Begin with a sentence a reviewer can challenge: “The sender belongs to this group, without revealing which member they are.” Then name the public inputs, the private witness and the party that checks the result. If the team cannot agree on that sentence, implementation is premature.

Figure 01 / The information boundary What crosses. What stays. Choose a claim. The prover keeps the record; the statement and its proof cross to the verifier. Public inputs are not hidden by the proof.
1,000

01 / ProverPrivate witness

Identity secret
•••• •••• ••••
Date of birth
14 May 1994
Account balance
4,820.00
Name
Jordan Ellis
Email address
jordan@example.com

Stays with the prover. Not sent to the verifier.

02 / VerifierA defined check

Statement
“The sender belongs to this group, without revealing which member they are.”
Public inputs
The group · the message
Proof
π, checked against the statement and the verification parameters

Accepted, within the protocol’s assumptions.

An example record, not real data. The witness stays private in the proof protocol. That does not make surrounding accounts, network traffic or application logs private.

A proof system’s security properties and assumptions determine what verification establishes. The Ethereum introduction explains completeness, soundness and zero-knowledge. None of those properties makes unrelated application data private. An email address written to an analytics event is still an email address, regardless of how carefully the proof was constructed.

Make the assumptions inspectable.

Setup requirements differ between constructions. Some proof systems require a trusted setup; transparent constructions avoid that particular requirement. That distinction is a starting point, not a complete security assessment. Verification still depends on the chosen protocol and a correct implementation.

Prepare an explicit record for a security review: the claim, public inputs, proof-system version, verification parameters, dependencies and responsibility for upgrades. List what an attacker is allowed to control. Ask who could accept an invalid result through a configuration mistake, and which boundary would catch it. These questions connect the mathematics to the system people will actually operate.

Use a narrow example.

Semaphore is a concrete reference for anonymous group membership: a member can send a message without revealing their identity within the group. It also provides mechanisms for preventing repeated signaling. That is a useful example because both the claim and its boundary can be stated plainly.

For a hypothetical private feedback tool, first decide who maintains the group and what one allowed submission means. A proof of membership alone is not a universal answer to spam, eligibility or account recovery. Those are application rules. Document how the surrounding product enforces them, and what is intentionally outside the proof.

Map the whole journey before committing to an architecture: joining, generating a proof, submitting it, handling rejection and recovering from a lost credential. Include the waiting and failure states. A private workflow that silently loses a person’s contribution has not solved the experience.

Plan for the next version.

A proof and a verifier must belong to a compatible protocol version. Treat that compatibility as a release decision. Specify which versions remain accepted, how a client learns it must update and how the service behaves if the verifier is unavailable. Do not let an infrastructure error look like a successful submission.

  1. Test rejection deliberately. Include altered public inputs, malformed proofs and unsupported versions, alongside valid examples.
  2. Review what is recorded. Decide which operational signals are necessary and which values must never reach logs or analytics.
  3. Write the upgrade path. Keep an explicit acceptance policy for existing data and a recovery plan for a faulty deployment.

These are design and review questions, not evidence that a particular system is secure. Before production, the actual protocol, implementation and deployment need specialist review against the stated threat model. The aim is a guarantee that can be explained, inspected and maintained.

About this note

Sources are linked beside the relevant discussion. The diagrams explain concepts; they do not report a client project or a product benchmark.

Technical review / 22 September 2026