
Singlefact
A privacy-preserving ZK attestation management platform, enabling trusted parties to validate credentials without exposing sensitive data.
Built for Trifecta 2025.
Video demo: https://youtu.be/LYgvecyWRdM
Live Demo Url: https://singlefact.vercel.app (note should connect to Eth Sepolia testnet!)
Today, proving facts about ourselves often requires exposing more data than necessary.
Example attestation (hosted):
Example use cases
- Showing full bank statements to prove minimum balance
- Sharing entire passport to verify age
- Revealing complete transcripts for degree verification
- Any time you find yourself sharing a full document "This creates unnecessary privacy and security risks for just one piece of data"
And current solutions can be privacy invasive, Technically complex (especially ZK proofs), Not business-friendly, or lacking standardization
Solution
We wanted to evolve how personal information is verified while maintaining privacy. Common scenarios like:
- Proving minimum bank balance without revealing actual account details
- Verifying age/citizenship without exposing full passport information
- Confirming employment status without sharing sensitive payroll data
- Validating education credentials without revealing full transcripts
What Singlefact offers:
- Privacy-Preserving Verification – Businesses & individuals need ways to prove attributes (income, identity, ownership) without revealing full documents.
- Compliance & KYC Alternative – Financial institutions, HR, and Web3 platforms need privacy-preserving compliance solutions (e.g., proving accredited investor status without sharing bank statements).
- Web3 & Identity Integration – Decentralized apps (dApps) want on-chain proofs for things like DAO memberships, token-gated access, or voting eligibility.
- Enterprise Adoptability – Most companies don't want to manage zk-proof generation themselves (complex cryptography), making a plug-and-play API valuable.
These scenarios expose more personal data than necessary, creating security risks. We saw an opportunity to solve this with zero-knowledge proofs and blockchain technology.
More about zk proofs <a href="https://docs.succinct.xyz/docs/network/eli5" target="_blank">here</a>.
What it does
Singlefact is a decentralized attestation platform that allows organizations to:
- Create and manage zero knowledge verifications without requiring ZK expertise.
- Define specific verification requirements without accessing raw data
- Track and verify attestations on-chain
- Integrate with an AI-powered interface for attestation verification
Users can:
- Submit private data for verification without exposing raw information
- Maintain control over their personal information
- Receive on-chain attestations of verified claims
- Present verified credentials without revealing source documents
How it Works
Proof Registration and Issuance
- Organizations upload credential data (e.g., passports, bank statements, educational records).
- Data is digitally signed by the issuing authority.
- Document hashes and signatures are stored on-chain for verification (using Succinct).
- Original documents remain secure and private.
- Link to proof can be sent on the singlefact web app to the verifier. Verifier can log into and verify the validity of a statement with their connected wallet.
- Verifier or recipient user can prove they received a document via email without revealing its contents (using zkEmail).
Zero-Knowledge Proof Generation
Users can selectively prove facts like:
- Age verification from passport without revealing full document
- Account balance minimums without exposing actual amounts
- Educational achievement without sharing full transcripts
- Employment status without revealing salary details
Singlefact generates compact proofs that:
- Confirm specific facts exist within source documents
- Verify issuing authority signatures
- Validate document authenticity
- Maintain privacy of underlying data
Technologies used
Succinct SP1: Singlefact uses the EVM-compatible onchain verification with the Sepolia gateway to do the on chain proofs of the validated emails. The EVM-compatibility of Succinct made it possible for a contract to be able to manage both the full state of the app (and app methods such as generating and querying attestations) while not requiring a separate datasource for proofs and verification. Singlefact uses the onchain verifier to take a proof generated locally for an attestation, tie it to the created record on the Singlefact blockchain, and produce a verification via a contract call managed through the Singlefact UI.
https://docs.succinct.xyz/docs/network/developers/request-proofs
zkEmail: Authenticity of generated emails is critical when working with personal information and validations. Singlefact uses a defined email template that can be regex'd by a custom registry. zkEmail can be used to verify that emails sent with proofs came from authorized senders, with a body that contains the proper recipient, and content structure (proof + attestation title/description).
Registry entry here: https://registry.zk.email/60b8c051-cbcc-4a70-a92d-ae55fb8cc1cf
<b>Sepolia</b>: A deployed smart contract Singlefact.sol manages the state of the app and the generated attestations.
Potential future work
- Use the MVP – A simple API + Web UI for zk-proof generation.
- Talk to potential customers in fintech, HR, and Web3.
- Offer trials and free use to gauge demand.
- Usage-based pricing tied to number of attestations created and managed.
See full info on the github here: https://github.com/cbonoz/trifecta25