Keyboard shortcuts

Press ← or β†’ to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Documentation for World ID

  1. The Protocol’s primary source of documentation is directly in the codebase and particularly the foundational crates.
  • Primitives: https://docs.rs/world-id-primitives
  • Core: https://docs.rs/world-id-core
  1. The developer documentation and generally how to use World ID can be found in: https://docs.world.org/world-id

Supporting Documentation

This folder includes supporting documentation for World ID, particularly point-in-time product and technical specifications for discussion and reference. These docs differ from the primary sources (e.g. crates documentation) because they are static at the time of introduction.

  • World ID 4.0 product and technical specifications: High level product and technical specs of the World ID 4.0 Upgrade.
  • World ID 4.0 trusted setup: High level explanation of what a trusted setup is and how to contribute to it for World ID 4.0. After the trusted setup is done it will also contain a step by step guide to verify the provenance of the .zkey files used to power World ID ZK circuits.

World ID Improvement Proposals

SpecStatusDescription
WIP-100: Cryptographic Primitives for World ID Protocol🌿 LivingEstablishes the default cryptographic primitives used throughout the Protocol.
WIP-101: RP Request Authorization Method for Smart Contracts🟠 Last CallStandard to verify a relying party proof request for a World ID Proof in Smart Contracts
WIP-102: Simplified Optimistic Recovery Agent Update🟠 Last CallReplace the current Recovery Agent update mechanism with an immediate update and revert window, removing the need for a follow-up execute transaction.
WIP-103: Proof of Ownership🟠 Last CallMechanism to privately prove ownership of a registered leaf via a blinded leaf index commitment.
WIP-104: Proving and Admin Authenticators with Fixed Permission Setsβœ… FinalIntroduce two classes of authenticators where a Proving Authenticator is not allowed to perform any management operations on a World ID.
WIP-105: Authenticator Message Format🟑 DraftStandard format for messages exchanged between World ID authenticators.
WIP-106: Authenticator Assertions🟑 DraftMechanism for Authenticator Providers to attest the integrity of the environment in which a World ID Proof is generated.
WIP-107: Experimental Transactional Fees🟑 DraftPrepaid per-World-ID-per-period billing, initially for Deep Face proofs.
WIP-108: Authenticator State Sync🟑 DraftSynchronize credential vaults across authenticators using continuous group key agreement.
WIP-109: Authenticator Registration Protocol🟑 DraftProtocol for securely confirming and authorizing the registration of a new World ID authenticator.
WIP-110: Message Bridge🚧 PlannedGeneric encrypted messaging between protocol participants, with pairing and hybrid post-quantum key exchange.
WIP-111: Passkey Ownership Proof🟑 DraftProve control of a World ID using a WebAuthn ES256 passkey registered as a proving authenticator, without a PRF-derived BabyJubJub secret.
WIP-112: Authenticator Registration over irohπŸ—‘οΈ CancelledSecure bidirectional transport for WIP-109 authenticator registration using iroh.
WIP-201: Flamingo Verifier🟑 DraftA TEE-backed service that compares images or embeddings under a requested match strictness and signs a Flamingo Token committing to its inputs.
WIP-202: Proof of Embedding Similarity🟑 DraftMechanism to prove similarity between vector embeddings based on a World ID credential.