Sismo Docs
  • Welcome to Sismo
    • What is Sismo?
  • Build with Sismo Connect
    • Overview
    • Installation
    • Sismo Connect Cheatsheet
    • Tutorials
      • Get Your appId - Create a Sismo Connect App
      • Onchain Tutorial (1/2): Code Your Airdrop Contract With Privately-Aggregated Data
      • Onchain Tutorial (2/2): Deploy Your Airdrop Contract
    • Technical Documentation
      • Sismo Connect Configuration
      • Auths
      • Claims
      • Signature
      • Packages
        • Sismo Connect Client: Request
        • Sismo Connect React: Request
        • Sismo Connect Server: Verify Offchain
        • Sismo Connect Solidity Library: Verify Onchain
    • FAQ
  • Data Groups
    • Overview
    • Tutorials
      • Factory Guide: Create a Data Group in 5 Minutes
      • Sismo Hub Guide: Create Data Groups Programmatically
      • Sismo Hub Guide: Add a Data Provider to the Sismo Factory
    • Sismo Hub
      • Sismo Hub Repository
        • Group Generators
        • Data Providers
        • Data Operators
        • Command Line Interface
      • Accounts Registry Tree
  • Data Vault
    • Overview
    • Vault Identifiers
    • Proving Schemes
      • Hydra-S1
      • Hydra-S2
    • Commitment Mapper
  • Resources
    • Deployed Contract Addresses
    • Sismo API
      • API Links
      • Query From a Client
      • Group
        • Get groups
        • Get group snapshots
      • Common Parameters
      • Advanced Filtering
      • Transaction
  • Links
    • Sismo Landing Page
    • Sismo Factory
    • Sismo App Store
    • Sismo Builder Resources
    • GitHub
    • Discord
    • Twitter
    • Blog
Powered by GitBook
On this page
  • Data Vault: Sovereign Identity Aggregator
  • Sismo Connect: The Crypto-Native SSO
  • Case Study: Sybil-Resistant Airdrop from Privately Aggregated Data
  1. Welcome to Sismo

What is Sismo?

Sovereign identity aggregator and crypto-native SSO

NextOverview

Last updated 1 year ago

Sismo leverages zero-knowledge proofs (ZKPs) and privacy-preserving technologies to enable users to aggregate their identities and selectively disclose personal data to applications.

By using Sismo Connect, an easy-to-integrate single sign-on (SSO), applications can now obtain personal data that was previously inaccessible, while respecting user privacy.

aims to replace non-sovereign SSOs such as Google Connect and improve limited SSOs such as Wallet Connect.

Data Vault: Sovereign Identity Aggregator

The Data Vault currently supports the following types of Data Sources: Ethereum wallets, GitHub, Twitter or Telegram accounts. Users can generate ZK proofs from their Data Sources, enabling them to reveal data to applications in a sovereign way.

Sismo Connect: The Crypto-Native SSO

Sismo Connect is a crypto-native single sign-on (SSO) for onchain and offchain apps. Sismo Connect makes it easy for developers to access personal data without infringing on user privacy by requesting and verifying ZK proofs.

Integration is simple with just a few lines of code: import the front-end package or React button to make Sismo Connect requests, and verify proofs in your back end/smart contracts using Sismo’s Solidity or TypeScript package.

With Sismo Connect, applications can request data from multiple sources at once. There are two types of requests that can be made:

  • Authentication: ZK proof of Data Source ownership (e.g. Ethereum wallets, GitHub, Twitter or Telegram accounts).

  • Disclosure of anonymized personal data: ZK proofs of Data Source inclusion in a specific Data Group (e.g. GR15 contributor).

Data Groups are sets of Data Sources in which each Data Source has an associated value.

Concrete examples Data Groups and ZK proofs you can request from users
{ // "Stand With Crypto" NFT Minters Data Group
  "0xa2bf1b0a7e079767b4701b5a1d9d5700eb42d1d1": "2", // minted 2 NFTs
  "0xd03ad690ed8065edfdc1e08197a3ebc71535a7ff": "4", // minted 24 NFTs
  "0x70ddb5abf21202602b57f4860ee1262a594a0086": "21",// minted 21 NFTs
  "0x0e440bd9798ad22cb8fd6f1a433f2f16e8786770": "3", 
  "0x1e8cbbbfb827785ecc23dd0426a8907c7cdcca3a": "3",
  "0x4101ec64896fa8afda5be145b6321275bb375fe0": "3",
  "0x600f9faa8a2d39a710b28e2d0ec8a5dacc12b00f": "11",
  "0xc643c9411a6b489e9833b16631140f42bbfcb6d1": "2",
  "0x750f565251228a561d8ce8cceb03731a7a2430f8": "2",
  "0x2245be89fc8fab94ed982e859aa3212a4e4eb7e5": "14",
  [...]
}
  • All owners of these wallets can generate a ZK proof attesting that they are part of this group

  • The owner of 0x70ddb5abf21202602b57f4860ee1262a594a0086 can generate a ZK proof attesting that they are part of this group with a value > 10 (e.g, minted more than 10 NFTs)

  • The owner of 0xa2bf1b0a7e079767b4701b5a1d9d5700eb42d1d1 can generate a ZK proof attesting that they are part of this group with a value = 2 (e.g, minted exactly 2 NFTs)

{ // Sismo Community Data Group, created by Sismo
  // It regroups all community members, organized in 3 levels
  // level 1 = supporter, level 2 = contributor, level 3 = builder
  "0x32108e5f09f0df35aefc2ef4c520bbd06a57dae5": "2", // level 2 
  "0x53deea1808b6d2b8681241e3857b6c6ed1e7e103": "1", // level 1
  "0x1c494f1919c1512ebe74a5dcc17dac9a64069023": "2", // level 2
  "dhadrien.eth": "3", // level 3
  "github:yum0e": "2",
  "github:leosayous21": "2",
  "telegram:sampolgar": "2",
  "telegram:zpedro": "2",
  "twitter:wojtekwtf": "3",
  "twitter:albiverse": "3",
  [...]
}
  • All owners of these wallets can generate a ZK proof attesting that they are part of this group

  • The owner of dhadrien.eth can generate a ZK proof attesting that they are part of the group with a value > 2 (e.g, community member with level > 2)

  • The owner of @wojtekwtf on Twitter can generate a ZK proof attesting that they are part of the group with a value = 3 (e.g, community member with level 3)

Examples of Data Groups:

Data Group Examples
Members (Data Sources)
Value for each Data Source

Wallets of minters

Number of NFT minted

Wallets of Gitcoin Passport holders

Sybil-resistant score

GitHub accounts of contributors to sismo-core/sismo-hub repo

Number of contributions

Wallets of voters in ENS DAO

Number of votes

Wallets, GitHub, Telegram and Twitter accounts of all people that helped Sismo

Level of their contributions (1, 2 or 3)

Case Study: Sybil-Resistant Airdrop from Privately Aggregated Data

SafeDrop is a Sybil-resistant and privacy-preserving ERC20 airdrop that distributes $AIR tokens to users proportionally based on their reputation, aggregated from diverse sources of data (EVM wallets, Telegram, Twitter and GitHub accounts).

By integrating Sismo Connect, SafeDrop users can generate a ZK proof to establish ownership of the data that makes them eligible for the airdrop. No connection between these accounts and the airdrop destination address is ever made.

Users aggregate their identity by adding Data Sources to their private, local and sovereign .

You can create your own Data Vault and start aggregating your identity .

Experience Sismo Connect on the !

Anyone can .

Read the full case study .

Learn how to build the Sybil-resistant airdrop . Alternatively, check out the onchain boilerplate.

Data Vault
here
Demo App Store
create a new Data Group
here
here
"Stand With Crypto" NFT Minters
Gitcoin Passport Holders
Sismo Hub GitHub Contributors
ENS DAO Voters
Sismo Community Members
Sismo Connect
Page cover image
Sismo: Personal Data Aggregation and Selective Disclosure
What a Data Vault looks like
Cover
Build with Sismo Connect
Cover
https://apps.sismo.io
Cover
https://case-studies.sismo.io