$SIGN powers Sign Protocol, the decentralized infrastructure for verifiable credentials and attestations across chains. Its zero-knowledge proofs (ZK-proofs) are a core privacy feature.
What are ZK-proofs in Sign Protocol?
ZK-proofs let you prove a statement is true (e.g., “I’m over 18” or “I live in this country”) without revealing any underlying data. Your passport scan or credential stays entirely on your device — nothing sensitive ever hits the blockchain or a verifier.
How Sign implements ZK-proofs
Local proof generation — You create a ZK-proof on your phone/wallet using your private data.
Schema Hooks + on-chain verification — When making an attestation, a custom ZK Solidity verifier (integrated into the schema hook) checks the proof. If it passes, the attestation is created; if not, it reverts. Large proofs go in the temporary extraData field (not stored permanently on-chain).
Redaction & selective disclosure — Combined with asymmetric encryption, you can redact/obfuscate sensitive parts so the attestation is publicly auditable while keeping private info hidden.4
Real-world example
Scan your passport → generate a ZK-proof that you’re over 18 or from a specific country → submit it. The protocol verifies the claim without ever seeing your actual passport data. Perfect for compliant yet private credentialing.25
Why it matters
Omnichain (EVM, Solana, Starknet, etc.)
Supports public, private, or ZK-based attestations
Makes records provable and auditable without compromising security
In short: Sign Protocol’s ZK-proofs turn verifiable credentials into truly private, cross-chain “trust without exposure” — the reason $SIGN exists.
Official docs even have full tutorials for building custom ZK attestations via schema hooks.