composewith.eth
Protocol record · production

Semaphore

Generic Ethereum zero-knowledge privacy layer for anonymous group membership proofs, anonymous signaling, double-signaling prevention, and private identity use cases.

85readiness / 100
integration: mediumethereum

Also available as JSON · Markdown

Resources

Good for

Avoid for

Readiness score

85/100

Readiness measures how much verified integration surface exists for builders and agents. It does not mean the protocol is easy to use — integration difficulty is tracked separately.

Docs10/10

Docs URL present

SDK8/8

SDK URL present

Template6/6

Template/quickstart present

Support6/6

Support channel present

Capability depth13/20

Anonymous group membership proofs: ecosystem_primitive; Double-signaling prevention: integration_workflow

Production-ready15/15

Has a production-ready capability

Confidence5/5

Protocol provenance confidence is high

Chain coverage2/10

1 chain(s) (capped at 5)

Freshness10/10

Last verified 6 day(s) ago

No critical issues10/10

No open critical issues

No hard caps applied.

Capabilities

Anonymous group membership proofs production-ready

Best for: proving a user belongs to a group without revealing which member they are, anonymous endorsements or private access control

  • The app must design group admission, group updates, and nullifier scope correctly.

Double-signaling prevention production-ready

Best for: anonymous one-vote/one-action systems, whistleblowing or DAO signaling where identity should remain private

  • Semaphore is not a full tally/coordinator voting protocol by itself.

Composes with

maci governance_and_voting supports

MACI adds a full private voting and tally workflow when anonymous signaling is not enough.

  • coercion-resistant voting with public verifiable tallies

the-graph indexing_and_data supports

The Graph can index group, signal, and nullifier events for application state and auditability.

  • anonymous signaling dashboards and double-action monitoring

Known issues

Semaphore is a primitive, not a complete governance stack low confirmed Workaround: Use Semaphore for anonymous membership/signaling primitives; use MACI when the product needs private, coercion-resistant voting with verifiable tally proofs.

Provenance

Last verified 2026-06-04 by composewith.eth research (Semaphore docs live-verified via WebFetch 2026-06-04) (confidence: high). Score computed by score.v2.