zkMe zkTLS

What is zkTLS?

zkTLS (Zero Knowledge Transport Layer Security) is a privacy preserving protocol that transforms a standard HTTPS session into a zero knowledge attestable interaction. It breaks the traditional Web2 data enclosure model by allowing users to locally decrypt TLS traffic, extract only the fields they need, and generate a verifiable proof without exposing the full plaintext session.

By combining the TLS protocol with zero knowledge proofs, zkTLS enables a user to prove that they accessed a specific HTTPS endpoint and obtained a particular piece of structured data while keeping all other page content and personal information completely hidden. The resulting proof can be verified on chain or off chain, ensuring both the authenticity of the data source and minimal disclosure.


Why zkTLS Matters?

In today's digital world, much of our important information, such as financial status, citizenship, and academic credentials, exists on Web2 platforms. However, these platforms were not designed to interact with decentralized systems in a privacy preserving way, and users often lack real control over how their data is accessed or verified.

zkTLS bridges this gap by enabling trustless, verifiable, and privacy preserving extraction of Web2 data while maintaining full user autonomy. Users can locally decrypt their own TLS sessions, select only the fields they wish to disclose, and generate a proof that can be independently verified. This restores genuine ownership of both identity and data without requiring cooperation from the original platforms and without exposing unnecessary information.

zkTLS supports a wide range of use cases, including:

  • University enrollment or graduation status

  • Government issued residency or citizenship

  • Regulatory eligibility for token sales such as accredited investor checks

  • Credit score thresholds from financial platforms

In addition to identity and compliance scenarios, zkTLS can also function as a privacy preserving alternative to traditional financial data aggregators. It allows users to prove:

  • Bank account ownership and balance

  • Verified income streams and income level

  • Transaction history summaries such as salary inflows or recurring expenses

  • Identity and address confirmation from banking or utility portals

All of this is achieved without exposing raw data, without granting API keys, and without relying on centralized intermediaries. zkTLS empowers users with true control over their identity and personal data and aligns verification with the principles of data autonomy and user sovereignty.


Value Proposition of zkTLS

zkTLS delivers several core properties that define its privacy, performance, and integration advantages.

Property
Description

Confidentiality

Users prove sensitive facts without revealing actual data

Compatibility

Built on top of standard TLS (v1.2/v1.3), no backend modifications needed

Scalability

zk-SNARKs enable fast verification (~200ms typical)

Compliance

Enables privacy-preserving onboarding aligned with GDPR, HIPAA, etc.

Cross-Chain Ready

Proofs can be consumed across different chains.


How zkTLS Works

zkTLS relies on a combination of client side TLS session capture, structured data extraction, and zero knowledge proof generation. The process consists of the following steps.

1

Establishing a Secure Session via the Local zkTLS Module

The user connects to a target HTTPS website (e.g. creditkarma.com) through the Local zkTLS Module, which:

  • Records the TLS handshake, including the server’s certificate and session metadata

  • Captures encrypted segments of the server response without decrypting or modifying any content

The module operates entirely on the user’s device and does not transmit or store any raw data.

2

Defining the Target Value

The user specifies the exact value they want to prove exists in the response using a Provider Schema. This schema defines the target URL, method, and rules for matching and redacting data using selectors like JSONPath, XPath, or regex.

3

Zero-Knowledge Proof Generation

The zkTLS engine constructs a ZK-SNARK proof that attests:

  • The TLS session was established with a valid certificate, bound to the correct domain

  • The specified value exists within the server's response payload

  • No other content from the session was revealed

4

Proof Submission & Verification

The resulting proof is a short cryptographic object designed to support multiple verification flows:

  • Submitted on-chain, to trigger smart contract logic (e.g., issue a credential)

  • Verified off-chain, by a service provider or application

At no point does the verifier see the user’s browsing session or original data, only a valid cryptographic proof.


Technical Foundations of zkTLS

The diagram below outlines the core components of the zkTLS architecture and how data flows across layers.

zkTLS is built on a tightly integrated set of components that work together to guarantee privacy, integrity, authenticity, and verifiability.

These foundations include structured data extraction, TLS-layer cryptographic isolation, lightweight zero-knowledge proof circuits, and a decentralized attestor network.

The sections below break down each layer of the architecture in detail.

Provider Schema: Structured, Verifiable Data Extraction

To precisely define what users are proving, zkTLS uses a schema-based extraction system similar to JSON Schema, combined with modern selectors such as XPath, JSONPath, and regex.

A Provider Schema specifies:

  • the target HTTPS endpoint

  • how the response should be matched

  • what part of the response may be selectively disclosed

  • optional hashing (OPRF) for sensitive fields

Selectors follow a priority order (XPathJSONPathRegex), ensuring reliable extraction even in complex Web2 pages. This guarantees that only the intended data is disclosed, and no additional context can be injected by adversaries.

Provider Schema Structure

Field
Type
Description

url

string

The target URL (must be HTTPS).

method

string

HTTP method (GET, POST, etc.).

responseMatches

object

Rules for matching the response, using regex or contains.

responseRedactions

object

(Optional) Selectors for redacting content, using XPath, jsonPath, or regex.

TLS-Level Security & Selective Disclosure

zkTLS leverages native properties of the TLS protocol to isolate and protect sensitive data regions.

TLS 1.3 KeyUpdate Mode

TLS 1.3 supports dynamic key rotation. zkTLS uses this mechanism to bracket the part of the response containing the target data: a new session key is created before the sensitive region, and another key update follows immediately afterward. Only the ciphertext under that specific key version is eligible for disclosure. This enables selective disclosure without exposing the rest of the session.

TLS 1.2 Compatibility Mode

Because TLS 1.2 does not support KeyUpdate, zkTLS instead uses a full zero-knowledge redaction proof verifying that the disclosed plaintext is a valid decryption of the redacted ciphertext and that no additional content is leaked. Supported cipher suites include AES-GCM and ChaCha20-Poly1305.

Zero-Knowledge Circuit Design

zkTLS adopts a minimalistic ZK circuit that focuses exclusively on verifying the correctness of selective decryption.

Rather than re-implementing TLS internally, the circuit works with two classes of information:

  • Public information that the verifier sees (redacted ciphertext fragment + TLS metadata)

  • Private information held only by the user (TLS session key material)

The circuit proves a single essential statement:

The disclosed plaintext is the only valid decryption of the corresponding ciphertext segment using the private session key.

This design keeps proving lightweight, auditable, and compatible with both browser-friendly and high-performance backends.

Circuit Overview Diagram

Attestor Network: Verification & Economic Security

Attestors act as independent verifiers, ensuring that claims originate from authentic TLS sessions.

Each attestor:

  • relays encrypted TLS traffic without accessing plaintext

  • validates ZK proofs and schema rules

  • signs claims once validation succeeds

The network is governed by on-chain staking and slashing:

  • nodes must stake to participate

  • malicious behavior results in penalties

  • all events are auditable

  • a threshold of signatures is required for final validity

This design prevents single-point compromise and mitigates user–attestor collusion.

Security & Threat Mitigation

zkTLS is designed to operate securely in adversarial environments. Protections include MITM resistance via TLS authentication, strict domain binding, replay resistance, schema-based extraction preventing data injection, multi-attestor consensus, and ephemeral session keys.

Security Matrix

Threat
Mitigation

MITM Attack

TLS is used to encrypt communication between the proxy and the Attestor, combined with certificate pinning.

Phishing Attack

The Attestor verifies the target host, preventing spoofing.

Replay Attack

A timestamp and unique ID are bound to the session to prevent reuse.

Collusion Attack

Multiple Attestor nodes and a slashing mechanism disincentivize collusion.

Injection Attack

The Provider Schema validates the location of the disclosed data.

DoS Attack

Rate limiting and service fees are implemented to deter denial-of-service attacks.


zkTLS by zkMe

Live, Private, Powerful

  • Proven in Production zkTLS is already live in real-world applications, powering regulatory compliance, token sales, and identity verification for education and finance.

  • No Data Provider Required Users extract proofs directly from any HTTPS site, no need for API keys, platform integrations, or third-party approvals.

  • Native to zkMe Identity Stack zkTLS is fully integrated into zkMe’s Self-Sovereign Identity system, enabling seamless, automated issuance of verifiable credentials from Web2 sources.

  • End-to-End User Privacy The entire flow, from data access to ZK proof generation, runs locally on the user’s device. No data is stored, shared, or exposed at any point.

Last updated