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.
the oauth problem
Traditional social verification relies on OAuth. Here's the typical flow:
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.
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:
Visit your X profile
In your browser, as normal
Extension captures TLS session
Session data securely recorded
Zero-knowledge proof generated
Proof submitted
Without revealing full response
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
future extensions
zkTLS can verify almost any web content:
Prove you received email from a domain
Banking
Prove account balances privately
Employment
Prove you work somewhere
Any HTTPS site
Prove any web interaction
