Sismo is a sovereign identity aggregator that issues zero-knowledge proofs over user-owned data ('Data Vaults'). Sismo Connect is a ZK-SSO that lets dapps request verified claims (group membership, reputation, age) without revealing the underlying source accounts.
- 01ZK-based gating and airdrops
- 02Sybil-resistant voting and quests
- 03selective disclosure of identity claims
- 04off-chain attestations bound to on-chain proofs
- 05anonymous reputation
- pnpm add @sismo-core/sismo-connect-react
- pnpm add @sismo-core/sismo-connect-server
- forge install sismo-core/sismo-connect-solidity
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_SISMO_APP_ID | Client | Sismo Connect appId registered in the Sismo factory. |
Use Sismo Connect for ZK identity proofs. On the client, render `<SismoConnectButton config={{ appId }} auths={[{ authType: AuthType.VAULT }]} claims={[{ groupId: '0x…' }]} onResponseBytes={setResponse} />` from `@sismo-core/sismo-connect-react`. Send the `response` bytes to your server and verify with `SismoConnectServer({ appId }).verify(response, { auths, claims })`, or verify on-chain by inheriting `SismoConnect` in Solidity and calling `verify(response, …)` to recover a unique `vaultId` and the proven claim values. Use `vaultId` as a Sybil-resistant pseudonymous user key.
- ⚑Sismo's hosted infra has been intermittently maintained since the team's 2024 pivot — verify the relayer / data-source endpoints are still serving your `groupId` before depending on it in production.
- ⚑On-chain verification has non-trivial gas cost (hundreds of thousands of gas per proof); batch or move verification off-chain when possible.
- ⚑`vaultId` is per-app — the same user gets a different `vaultId` in each appId, so do not try to correlate users across apps.
- ⚑Group membership snapshots are computed off-chain by the Sismo Hub; new members are not provable until the next snapshot is published.
- ⚑Browser proof generation pulls a sizeable WASM bundle and can be slow on mobile; show a progress UI.