Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

TLSNotary Proof

A cryptographic proof that allows a client to prove to a third party that specific data was fetched from a designated HTTPS endpoint at a precise time.
Chainscore © 2026
definition
TECHNICAL PROTOCOL

What is TLSNotary Proof?

A cryptographic protocol for generating verifiable, privacy-preserving proofs about data fetched from a web server via TLS.

A TLSNotary Proof is a cryptographic attestation that a specific piece of data was retrieved from a specific web server at a specific time, without revealing the full contents of the communication to the verifier. It leverages the Transport Layer Security (TLS) protocol, the same encryption standard securing HTTPS connections. The process involves a three-party model: a Client (the prover), a Server (the data source, like an API), and an Auditor (a semi-trusted third party). The Auditor holds a secret key that allows it to verify the TLS handshake and session keys without learning the actual plaintext data exchanged, enabling selective disclosure.

The core innovation is its use of commitment schemes and secure multi-party computation (MPC). During the TLS session setup, the Client and Auditor collaboratively generate the session keys. The Auditor cryptographically commits to its share of the key material. Later, to prove a specific data point (e.g., "the price of ETH on CoinGecko was $3,500 at block 20,000,000"), the Client can reveal only the relevant portions of the TLS transcript and the Auditor's commitment, allowing anyone to cryptographically verify that the data originated from the authentic server and was not tampered with.

This technology is crucial for blockchain oracles and trust-minimized applications. It allows smart contracts to consume real-world data with cryptographic guarantees of its provenance, moving beyond reliance on a single oracle's reputation. For example, a decentralized finance (DeFi) protocol can use a TLSNotary proof to verify an exchange rate from a public API before executing a trade, significantly reducing manipulation risk. It provides a strong, auditable link between the off-chain web and on-chain logic.

Compared to other oracle designs, TLSNotary offers a unique balance. It is more privacy-preserving than simply posting all API data on-chain, and more verifiably secure than designs relying solely on a committee's honesty. However, it introduces complexity and requires an active Auditor role. The protocol is a foundational component for projects building verifiable computation and decentralized attestation networks, aiming to make web2 data trustlessly consumable by web3 systems.

how-it-works
TECHNICAL DEEP DIVE

How TLSNotary Proof Works

TLSNotary is a protocol for generating cryptographic proofs of data retrieved from a web server over a TLS connection, enabling verifiable computation and data authenticity.

A TLSNotary proof is a cryptographic attestation that a specific piece of data was served by a specific web server at a specific point in time, without revealing the server's private key. It works by splitting the role of the TLS client during a session between an untrusted Prover and a trusted, auditable Notary. The Prover interacts with the web server, while the Notary observes and cryptographically signs the TLS handshake and key exchange messages. This split-client model allows the Notary to later verify that the data transmitted was authentic, creating a cryptographic proof of origin for the data.

The core mechanism relies on the Message Authentication Code (MAC) keys used in TLS. During the session, the Prover sends the Notary the encryption keys for the data stream except for the key used to compute the MAC. The Notary, holding the MAC key, can independently compute the MAC for any data the Prover claims to have received. If the Prover's data matches the Notary's computed MAC, it proves the data is unaltered and genuinely from that TLS session. This process creates a selective disclosure proof, where the Prover can reveal only the specific data points needed for verification.

In practice, a user (the Prover) runs a TLSNotary client to fetch data from a target website, such as a bank statement or a price feed from an API. The Notary service, often run by a separate entity to ensure trust minimization, participates in the TLS handshake. After the session, the Prover generates a proof containing the relevant data excerpts and the associated cryptographic signatures from the Notary. This proof can then be submitted to a verifier—like a smart contract or an auditor—who can cryptographically check its validity without needing to trust the Prover or access the original server.

This technology is foundational for trust-minimized oracles and verifiable computation. For example, a decentralized finance (DeFi) application can use a TLSNotary proof to verify that an off-chain asset price was correctly fetched from a reputable source like the Financial Times API, mitigating oracle manipulation risks. It enables blockchain applications to consume web data with cryptographic guarantees of authenticity, bridging the gap between the trustless blockchain environment and the traditional client-server web.

key-features
CORE MECHANICS

Key Features of TLSNotary Proof

TLSNotary is a cryptographic protocol that enables a client to prove to a third party the content of an HTTPS session, such as a web API call, without revealing their private keys. It is a foundational technology for creating verifiable off-chain data feeds.

01

Selective Disclosure

A TLSNotary proof allows a prover to cryptographically prove the content of a specific HTTPS request and response to a verifier, while keeping all other data from the TLS session private. This is achieved by using Merkle trees to commit to the session transcript, enabling the prover to reveal only the necessary path of hashes.

02

Trusted Hardware Requirement

The protocol's security relies on a Trusted Execution Environment (TEE), such as Intel SGX. The TEE acts as a neutral, auditable third party that:

  • Generates the TLS session keys.
  • Observes the entire encrypted session transcript.
  • Produces the attestable proof of the specific data. This prevents the prover from forging or tampering with the proven data.
03

Session Key Splitting

A core cryptographic primitive where the TLS session master secret is split between three parties using Shamir's Secret Sharing:

  • The Client holds one share.
  • The Notary (the TEE) holds one share.
  • The Server (implicitly) holds one share via the TLS handshake. All three shares are required to decrypt the session, ensuring no single party has unilateral access.
04

Verifiable Data Feed Output

The primary application is creating cryptographically verifiable data for smart contracts. For example, a DeFi oracle can prove it fetched a specific price from a reputable exchange's API. The resulting proof is a compact data structure that can be verified on-chain, enabling trust-minimized bridges between web2 data and web3 applications.

05

Comparison to Other Proof Systems

Unlike zk-SNARKs or zk-STARKs, which prove computational integrity, TLSNotary proves the authenticity of data fetched from a specific TLS session. It is complementary:

  • TLSNotary: Proves what data was received from a server.
  • zk-SNARKs: Can prove how that data was processed in a circuit. Together, they enable complete verifiable computation pipelines.
ecosystem-usage
TLSNotary Proof

Ecosystem Usage & Protocols

TLSNotary Proof is a cryptographic protocol that allows a client to prove to a third party that specific data was obtained from a specific TLS-secured web session, enabling verifiable off-chain data feeds for smart contracts.

01

Core Cryptographic Mechanism

A TLSNotary Proof leverages Secure Multi-Party Computation (MPC) to split the TLS session key between the client (the Prover) and a semi-trusted third party (the Notary). This allows the Notary to cryptographically attest that the data presented by the Prover was indeed the exact, unaltered data stream from a specific TLS session with a target server, without the Notary seeing the full data itself. The process hinges on the Page Signer component, which produces a verifiable signature over the HTTP request and response.

02

Primary Use Case: Oracle Data Verification

The primary application is providing verifiable off-chain data to blockchain oracles and smart contracts. For example, a DeFi protocol needing a stock price can use a service that generates a TLSNotary Proof to attest that the price was fetched directly from a reputable financial data API (like Bloomberg or Nasdaq). This creates a cryptographically verifiable data feed, reducing reliance on pure trust in oracle nodes and mitigating risks of data manipulation at the source-fetching layer.

03

Key Components: Prover, Notary, Verifier

The protocol involves three distinct roles:

  • Prover: The entity (e.g., an oracle node) that initiates the TLS session with the target website and wants to prove the data it received.
  • Notary: A separate, semi-trusted service that holds a share of the session key. It collaborates with the Prover via MPC to generate the attestation without learning the full session data.
  • Verifier: The entity (e.g., a smart contract or a user) that receives the final proof and can cryptographically verify its validity against the Notary's public key and the server's certificate.
04

Advantages Over Traditional Attestation

TLSNotary Proof offers specific advantages for trust-minimized systems:

  • Data Integrity: Provides cryptographic proof that data came unaltered from a specific TLS endpoint.
  • Source Authenticity: Binds the data to the official server's TLS certificate, verifying the source.
  • Privacy-Preserving: The Notary does not see the plaintext data, only cryptographic commitments.
  • Standard Compliance: Works with standard TLS 1.2/1.3, requiring no cooperation from the data source.
05

Limitations and Considerations

While powerful, the protocol has inherent constraints:

  • Notary Trust Assumption: Requires a semi-trusted Notary that does not collude with the Prover.
  • Prover Trust: The Verifier must trust the Prover to correctly execute the MPC protocol.
  • Source Trust: The proof only verifies data came from a server; it does not verify the correctness of the server's own data.
  • Complexity & Cost: The MPC process is computationally intensive, adding latency and cost compared to a simple API call.
visual-explainer
PROOF GENERATION

Visual Explainer: The TLSNotary Flow

A step-by-step walkthrough of the cryptographic protocol that allows a user to prove the authenticity of data fetched from a web server to a third-party verifier, without revealing the data itself.

The TLSNotary flow is a multi-party protocol involving a Client (the prover), a Server (the target website, e.g., a bank or API), and a Verifier. It leverages a modified TLS 1.3 session, where the Client and Verifier collaboratively generate the session keys. This setup is crucial because it allows the Verifier to cryptographically attest to the integrity of the data stream without ever seeing the plaintext content of the communication. The process begins with the Client and Verifier establishing a shared secret using a secure multi-party computation (MPC) protocol, which splits the TLS master secret between them.

During the TLS handshake, the Client and Verifier use their respective shares of the secret to independently derive the same set of TLS session keys. The Client then communicates with the Server as normal, encrypting and decrypting traffic locally. However, because the Verifier holds a key share, they can also independently compute the Message Authentication Code (MAC) for every encrypted record exchanged. This allows the Verifier to create an unforgeable, cryptographic proof that a specific data stream—identified by its MAC tags—was indeed transmitted, without learning the decrypted data. The core artifact of this flow is the TLSNotary proof, which contains these authenticated encryption tags.

The final step involves the Client presenting a specific piece of data from the session (e.g., a JSON field from an API response) to the Verifier. The Verifier can then verify that this exact data is consistent with the MAC tags they computed, proving the data's provenance and integrity. This flow enables powerful use cases such as trust-minimized oracles for DeFi, where a blockchain smart contract (the Verifier) can cryptographically verify that off-chain data was retrieved authentically from a specified source, moving beyond simple HTTPS requests to provide cryptographic guarantees.

examples
TLSNotary Proof

Primary Use Cases & Examples

TLSNotary proofs enable verifiable trust in data retrieved from any HTTPS website, creating a bridge between the authenticated web and on-chain applications.

02

Know-Your-Customer (KYC) & Compliance

Institutions can prove compliance with regulations without exposing sensitive user data. A TLSNotary proof can attest that a user's credentials were successfully verified against an official source (e.g., a government ID database) during a TLS session, providing a privacy-preserving attestation of KYC completion for DeFi or on-chain services.

03

Cross-Chain Asset Verification

Prove ownership or status of assets on another blockchain or traditional system. For example, a user could generate a proof showing their bank balance from their online banking portal, which a smart contract could use to mint a collateralized loan or grant access to a service, enabling trust-minimized bridges between legacy finance and crypto.

04

Verifiable Randomness & Entropy

Generate provably fair randomness for smart contracts by using a TLSNotary proof to fetch and attest to an external, high-entropy source. This could be a live satellite feed, a quantum random number generator API, or a public data stream. The proof ensures the randomness was not manipulated by the oracle or the requester before being committed on-chain.

05

Automated Agreement Settlement

Settle real-world agreements encoded in smart contracts. A TLSNotary proof can automatically verify fulfillment conditions by checking a trusted website. Examples include:

  • Confirming a flight delay on an airline's website for travel insurance payouts.
  • Verifying a product delivery status on a courier's tracking page.
  • Checking academic credential issuance on a university's portal.
06

Auditing & Transparency for DAOs

Decentralized Autonomous Organizations (DAOs) can use TLSNotary proofs to bring off-chain operational data on-chain in a verifiable way. This enables transparent auditing of:

  • Vendor invoices and payment confirmations from banking websites.
  • Service-level agreement (SLA) metrics from cloud provider dashboards.
  • Legal document filings on public court or registry websites.
security-considerations
TLSNotary Proof

Security Considerations & Limitations

TLSNotary is a cryptographic protocol for creating verifiable, privacy-preserving proofs of data retrieved from a TLS-secured web server. While powerful, its implementation and application involve specific security assumptions and constraints.

01

Trusted Third-Party (Notary) Requirement

The protocol's security model relies on a trusted third-party Notary server. This Notary holds a private key share and participates in a Multi-Party Computation (MPC) with the client to sign the proof. If the Notary is compromised or colludes with the server, it can forge proofs or violate client privacy. This introduces a semi-trusted or 1-of-N honest assumption, which is a central point of failure compared to trustless systems.

02

Limited to TLS 1.2 Session Secrets

TLSNotary's core mechanism depends on accessing the pre-master secret from a TLS 1.2 handshake. This creates two major limitations:

  • Protocol Dependency: It is incompatible with TLS 1.3, which fundamentally changed the key exchange to protect the master secret from all parties, including the client. This restricts its use to legacy or specific TLS 1.2 endpoints.
  • Client-Side Control: The client must be instrumented to extract and share the session secret, which is not possible with standard browsers or off-the-shelf HTTP clients.
03

Privacy Leakage to the Notary

While the web server sees only encrypted traffic, the Notary server learns the plaintext data during the proof generation process. This is a necessary part of the MPC protocol. Therefore, the client's query and the server's response are exposed to the Notary, requiring the client to trust the Notary not to misuse this information. Techniques like salting or encrypting sensitive payloads can mitigate but not eliminate this exposure.

04

Provenance vs. Content Validity

A TLSNotary proof cryptographically attests that a specific piece of data came from a specific web server at a specific time (data provenance). It does not cryptographically verify the semantic truth, accuracy, or business logic of the data itself. For example, a proof can verify that a JSON response containing {"price": 100} came from api.example.com, but it cannot prove that 100 is the correct or fair market price. This shifts the trust from the data source's integrity to its operational honesty.

05

Implementation & Setup Complexity

Deploying TLSNotary securely is operationally complex:

  • Notary Infrastructure: Running a secure, highly available Notary service with key management and protection against side-channel attacks is non-trivial.
  • Client Hardening: The client application must be modified to integrate the TLSNotary library, handle secret shares, and communicate with the Notary, increasing attack surface.
  • Auditability: The entire toolchain, including the MPC code and the instrumented TLS library, must be audited for correctness to ensure proofs are sound.
06

Comparison to Oracle Alternatives

Understanding TLSNotary's trade-offs is clearer when compared to other oracle designs:

  • Authenticated APIs: Require the data source to cryptographically sign data, but need their cooperation.
  • Committee-based Oracles: Use economic stakes and consensus among many nodes, avoiding a single Notary but introducing latency and cost.
  • Zero-Knowledge Oracles: Can prove statements about web data without revealing it to any third party, but are currently more computationally intensive and complex to construct for arbitrary websites.
PROOF MECHANISMS

Comparison: TLSNotary vs. Other Data Proofs

A technical comparison of cryptographic proof systems for verifying data from external sources (oracles).

Feature / MetricTLSNotary Proofzk-SNARK OracleOptimistic OracleCommittee-Based Oracle

Cryptographic Proof Type

Zero-Knowledge Proof (ZKP)

Zero-Knowledge Proof (ZKP)

Economic / Fraud Proof

Attestation / Signature

Data Provenance

Any TLS 1.3 Web Server

Pre-defined Prover Logic

Any Claim (Disputable)

Pre-defined Data Feeds

Trust Assumption

Trusted Hardware (SGX)

Trusted Setup & Prover

1-of-N Honest Verifier

Majority Honest Committee

Latency to Final Proof

~1-3 seconds

Minutes to hours (proving time)

Challenge Period (days)

< 1 second (pre-signed)

On-Chain Verification Cost

High (ZK verification)

Very High (ZK verification)

Low (store hash)

Low (signature check)

Prover Decentralization

Centralized Prover

Centralized Prover

Permissionless Verifiers

Permissioned Committee

Suitable For

One-off, arbitrary API calls

Complex, recurring computations

High-value, disputable events

High-frequency price feeds

FAQ

Common Misconceptions About TLSNotary

Clarifying frequent misunderstandings about the TLSNotary protocol, its capabilities, and its role in the web3 ecosystem.

No, TLSNotary is designed as a trust-minimized protocol, eliminating the need for a trusted third party in the verification process. The protocol uses a multi-party computation (MPC) scheme where the Prover (who fetches the data) and the Notary (who attests to it) are distinct, mutually distrusting parties. The Notary only sees encrypted traffic and helps generate a zero-knowledge proof, but cannot see the plaintext data or the final proof. The cryptographic guarantees ensure that a valid proof can only be produced if the Prover faithfully retrieved the data from the specified TLS session, making the system trustless for the Verifier.

TLSNotary PROOF

Frequently Asked Questions (FAQ)

Common questions about TLSNotary, a protocol for creating cryptographically verifiable proofs of web data.

A TLSNotary proof is a cryptographic attestation that a specific piece of data was retrieved from a specific website at a specific time. It works by splitting the TLS 1.3 session key between three parties: the Prover (client), the Notary, and the Auditor. During a session with a target server (e.g., a stock price API), the Notary signs commitments to the encrypted traffic without seeing the plaintext. The Prover can later reveal the session key to the Auditor, who verifies that the signed commitments match the decrypted data, creating an unforgeable proof of the HTTP request and response. This process leverages Secure Multi-Party Computation (MPC) to maintain privacy and integrity.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
TLSNotary Proof: Definition & Use in Blockchain | ChainScore Glossary