SigilSigil

Technical Deep Dive

how zktls powers trustless social verification

Understanding the cryptographic magic behind Sigil's X (Twitter) verification—how zkTLS proves you own an account without OAuth, APIs, or trusting anyone.

Sigil Team
Jan 28, 2026
10-12 min read
Understanding zkTLS

the oauth problem

Traditional social verification relies on OAuth. Here's the typical flow:

1User clicks "Connect with X"
2X redirects to authorization page
3User approves access
4X sends access token to verifier
5Verifier calls X API to confirm identity
The Problems
Requires X's cooperation (they can revoke)
API rate limits and costs
Trust in verifier's API handling
X knows who's verifying

enter zktls

zkTLS (Zero-Knowledge TLS) allows you to prove facts about HTTPS responses without revealing the full response or requiring any cooperation from the server.

How TLS Works

1. Handshake

Client and server establish encrypted channel

2. Data Exchange

Encrypted request/response

3. Verification

Both parties can verify authenticity

Key insight: TLS responses are cryptographically signed. If we can prove a signature is valid without revealing the full content, we can verify claims trustlessly.

the zktls flow

When you verify X with Sigil:

1

Visit your X profile

In your browser, as normal

2

Extension captures TLS session

Session data securely recorded

3

Zero-knowledge proof generated

Valid TLS response from x.com
Response contained your profile
Your handle is what you claim
4

Proof submitted

Without revealing full response

5

Verifier validates proof

Cryptographically verified onchain

what this enables

No OAuth Required

X doesn't need to approve anything. Proof comes from their existing TLS responses.

True Privacy

We only see specific claims you prove (handle), not full profile, DMs, or activity.

Censorship Resistant

X cannot selectively deny verification to users they don't like.

No API Dependencies

No rate limits, costs, or access tokens to manage.

proof properties (zk-snarks)

Succinct

Small constant size regardless of data

Non-interactive

No back-and-forth required

Zero-knowledge

Only proves what you choose to reveal

comparison to alternatives

Method
OAuth
zkTLS
Screenshot
X cooperation
Required
No
No
Privacy
Moderate
High
Low
Trustless
No
Yes
No
Censorship resistant
No
Yes
No

future extensions

zkTLS can verify almost any web content:

Email

Prove you received email from a domain

Banking

Prove account balances privately

Employment

Prove you work somewhere

Any HTTPS site

Prove any web interaction

Try It Yourself

verify your x account

Ready to verify your X account trustlessly? Start now and get your onchain attestation.