+
+### Run a Local Notary Server
+
+1. Clone the TLSNotary repository (defaults to the `main` branch, which points to the latest release):
+ ```shell
+ git clone https://github.com/tlsnotary/tlsn.git
+ ```
+2. Run the notary server:
+ ```sh
+ cd crates/notary/server
+ cargo run --release -- --tls-enabled false
+ ```
+
+The notary server will now be running in the background waiting for connections.
+
+## Notarize Twitter Account Access
+
+1. Open the extension, you should see the Twitter plugin:
+
+2. Click the Twitter Plugin
+3. The TLSNotary Extension sidebar should open and the browser will automatically navigate to Twitter
+4. If you haven't already, log in
+5. The sidebar should automatically proceeds through the steps
+
+Tip: If you use the hosted notary server, notarization will take multiple seconds. You can track progress by opening the *offscreen console*:
+* Open: chrome://extensions ▸ **TLSN Extension** ▸ **Details** ▸ **offscreen.html**
+
+## Verify
+
+When the notarization is ready, you can click the **View** button. If you closed the sidebar, you can find the proof by clicking the extension button and selecting the notarization request in the **History** tab.
+
+ 
+
+
+
+
+
+## Write your own Extension Plugins
+
+The TLSNotary Browser extension allows you to add custom plugins for more data sources. The repository at https://github.com/tlsnotary/tlsn-plugin-boilerplate shows how the Twitter plugin (see above) is built. The `examples` folder contains more examples.
diff --git a/docs/quick_start/images/chromewebstore.png b/docs/quick_start/images/chromewebstore.png
new file mode 100644
index 0000000..ae99ca6
Binary files /dev/null and b/docs/quick_start/images/chromewebstore.png differ
diff --git a/docs/quick_start/images/discord_authentication_token.png b/docs/quick_start/images/discord_authentication_token.png
new file mode 100644
index 0000000..b76ed12
Binary files /dev/null and b/docs/quick_start/images/discord_authentication_token.png differ
diff --git a/docs/quick_start/images/explorer.png b/docs/quick_start/images/explorer.png
new file mode 100644
index 0000000..ddf147b
Binary files /dev/null and b/docs/quick_start/images/explorer.png differ
diff --git a/docs/quick_start/images/explorer_redacted.png b/docs/quick_start/images/explorer_redacted.png
new file mode 100644
index 0000000..2460c66
Binary files /dev/null and b/docs/quick_start/images/explorer_redacted.png differ
diff --git a/docs/quick_start/images/extension_headers.png b/docs/quick_start/images/extension_headers.png
new file mode 100644
index 0000000..94fb315
Binary files /dev/null and b/docs/quick_start/images/extension_headers.png differ
diff --git a/docs/quick_start/images/extension_headers_reveal.png b/docs/quick_start/images/extension_headers_reveal.png
new file mode 100644
index 0000000..b50aeaa
Binary files /dev/null and b/docs/quick_start/images/extension_headers_reveal.png differ
diff --git a/docs/quick_start/images/extension_history.png b/docs/quick_start/images/extension_history.png
new file mode 100644
index 0000000..5b09dde
Binary files /dev/null and b/docs/quick_start/images/extension_history.png differ
diff --git a/docs/quick_start/images/extension_history_new.png b/docs/quick_start/images/extension_history_new.png
new file mode 100644
index 0000000..e26fff6
Binary files /dev/null and b/docs/quick_start/images/extension_history_new.png differ
diff --git a/docs/quick_start/images/extension_install.png b/docs/quick_start/images/extension_install.png
new file mode 100644
index 0000000..358dafb
Binary files /dev/null and b/docs/quick_start/images/extension_install.png differ
diff --git a/docs/quick_start/images/extension_notarize.png b/docs/quick_start/images/extension_notarize.png
new file mode 100644
index 0000000..803fccf
Binary files /dev/null and b/docs/quick_start/images/extension_notarize.png differ
diff --git a/docs/quick_start/images/extension_pin.png b/docs/quick_start/images/extension_pin.png
new file mode 100644
index 0000000..4adad8b
Binary files /dev/null and b/docs/quick_start/images/extension_pin.png differ
diff --git a/docs/quick_start/images/extension_plugins.png b/docs/quick_start/images/extension_plugins.png
new file mode 100644
index 0000000..7c5826c
Binary files /dev/null and b/docs/quick_start/images/extension_plugins.png differ
diff --git a/docs/quick_start/images/extension_process.png b/docs/quick_start/images/extension_process.png
new file mode 100644
index 0000000..78b496b
Binary files /dev/null and b/docs/quick_start/images/extension_process.png differ
diff --git a/docs/quick_start/images/extension_proxy.png b/docs/quick_start/images/extension_proxy.png
new file mode 100644
index 0000000..6e3e74c
Binary files /dev/null and b/docs/quick_start/images/extension_proxy.png differ
diff --git a/docs/quick_start/images/extension_request.png b/docs/quick_start/images/extension_request.png
new file mode 100644
index 0000000..be10066
Binary files /dev/null and b/docs/quick_start/images/extension_request.png differ
diff --git a/docs/quick_start/images/extension_requests.png b/docs/quick_start/images/extension_requests.png
new file mode 100644
index 0000000..fc1da61
Binary files /dev/null and b/docs/quick_start/images/extension_requests.png differ
diff --git a/docs/quick_start/images/extension_sidebar.png b/docs/quick_start/images/extension_sidebar.png
new file mode 100644
index 0000000..01e4f04
Binary files /dev/null and b/docs/quick_start/images/extension_sidebar.png differ
diff --git a/docs/quick_start/images/extension_text_reveal.png b/docs/quick_start/images/extension_text_reveal.png
new file mode 100644
index 0000000..cb307cb
Binary files /dev/null and b/docs/quick_start/images/extension_text_reveal.png differ
diff --git a/docs/quick_start/images/extension_twitter_requests.png b/docs/quick_start/images/extension_twitter_requests.png
new file mode 100644
index 0000000..e11ce5a
Binary files /dev/null and b/docs/quick_start/images/extension_twitter_requests.png differ
diff --git a/docs/quick_start/images/extesnion_notarize_pending.png b/docs/quick_start/images/extesnion_notarize_pending.png
new file mode 100644
index 0000000..8292287
Binary files /dev/null and b/docs/quick_start/images/extesnion_notarize_pending.png differ
diff --git a/docs/quick_start/images/notary_certificate.png b/docs/quick_start/images/notary_certificate.png
new file mode 100644
index 0000000..510796c
Binary files /dev/null and b/docs/quick_start/images/notary_certificate.png differ
diff --git a/docs/quick_start/images/notary_certificate_advanced.png b/docs/quick_start/images/notary_certificate_advanced.png
new file mode 100644
index 0000000..491727c
Binary files /dev/null and b/docs/quick_start/images/notary_certificate_advanced.png differ
diff --git a/docs/quick_start/images/proof_viz.png b/docs/quick_start/images/proof_viz.png
new file mode 100644
index 0000000..2aefd2c
Binary files /dev/null and b/docs/quick_start/images/proof_viz.png differ
diff --git a/docs/quick_start/images/run_vs_code.png b/docs/quick_start/images/run_vs_code.png
new file mode 100644
index 0000000..2767df7
Binary files /dev/null and b/docs/quick_start/images/run_vs_code.png differ
diff --git a/docs/quick_start/rust.md b/docs/quick_start/rust.md
new file mode 100644
index 0000000..b60c025
--- /dev/null
+++ b/docs/quick_start/rust.md
@@ -0,0 +1,37 @@
+---
+sidebar_position: 1
+sidebar_label: Rust
+---
+# Rust Quick Start
+
+This quick start demonstrates how to use TLSNotary with Rust code.
+
+## Requirements
+
+Before we start, make sure you have cloned the `tlsn` repository and have a recent version of Rust installed.
+
+1. Clone the `tlsn` repository (defaults to the `main` branch, which points to the latest release):
+ ```shell
+ git clone https://github.com/tlsnotary/tlsn.git
+ ```
+2. If you don't have Rust installed yet, you can install it using [rustup](https://rustup.rs/). If your Rust version is outdated, update it with `rustup update stable`.
+
+## Simple Interactive Verifier: Verifying Data from an API in Rust
+
+
+
+This example demonstrates how to use TLSNotary in a simple interactive session between a Prover and a Verifier. It involves the Verifier first verifying the MPC-TLS session and then confirming the correctness of the data.
+
+Follow the instructions from:
+https://github.com/tlsnotary/tlsn/tree/main/crates/examples/interactive#readme
+
+## Simple Attestation Example: Verifying Data from an API in Rust with a Notary
+
+
+
+TLSNotary can also be used in a setup where MPC-TLS verification is delegated to a notary server. In this example, the notary attests to the data served to the prover. Next, the prover can share this attestation with a Verifier who can verify the data.
+
+Follow the instructions from:
+https://github.com/tlsnotary/tlsn/tree/main/crates/examples/attestation#readme
+
+🍾 Great job! You have successfully used TLSNotary in Rust.
diff --git a/docs/quick_start/tlsn-js.md b/docs/quick_start/tlsn-js.md
new file mode 100644
index 0000000..a653657
--- /dev/null
+++ b/docs/quick_start/tlsn-js.md
@@ -0,0 +1,108 @@
+---
+sidebar_position: 1
+sidebar_label: Browser
+---
+# TLSNotary in React/Typescript with `tlsn-js`
+
+In this quick start you will learn how to use TLSNotary in React/Typescript with the [`tlsn-js`](https://github.com/tlsnotary/tlsn-js) NPM module in the browser.
+
+This quick start uses the react/typescript [demos in `tlsn-js`](https://github.com/tlsnotary/tlsn-js/tree/main/demo/). The `demo` directory contains three demos to quickly bootstrap a webpack app using `tlsn-js`:
+
+1. [`react-ts-webpack`: create an attestation with a Notary and render the result](#react-ts-webpack)
+2. [`interactive-demo`: prove data interactively to a Verifier](#interactive-demo)
+3. [`web-to-web-p2p`: prove data between two peers, in the browser](#web-to-web-p2p)
+
+## `tlsn-js` in a React/Typescript app
+
+In this demo, we will request JSON data from the Star Wars API at https://swapi.dev. We will use `tlsn-js` to notarize the TLS request with TLSNotary and store the result in a *proof*. Then, we will use `tlsn-js` again to verify this *proof*.
+
+> **_NOTE:_** ℹ️ This demo uses TLSNotary to notarize **public** data to simplify the quick start for everyone. For real-world applications, TLSNotary is particularly valuable for notarizing private and sensitive data.
+
+1. Clone the repository
+ ```sh
+ git clone https://github.com/tlsnotary/tlsn-js
+ ```
+2. Navigate to the demo directory:
+ ```sh
+ cd tlsn-js/demo/react-ts-webpack
+ ```
+3. Checkout the version of this quick start:
+ ```sh
+ git checkout v0.1.0-alpha.10
+ ```
+4. If you want to use a local TLSNotary server: [Run a local notary server and websocket proxy](#local), otherwise:
+ 1. Open `app.tsx` in your favorite editor.
+ 2. Replace `notaryUrl: 'http://localhost:7047',` with:
+ ```ts
+ notaryUrl: 'https://notary.pse.dev/v0.1.0-alpha.10',
+ ```
+ This makes this webpage use the [PSE](https://pse.dev) notary server to notarize the API request. Feel free to use different or [local notary](#local); a local server will be faster because it removes the bandwidth constraints between the user and the notary.
+ 3. Replace `websocketProxyUrl: 'ws://localhost:55688',` with:
+ ```ts
+ websocketProxyUrl: 'wss://notary.pse.dev/proxy?token=swapi.dev',
+ ```
+ Because a web browser doesn't have the ability to make TCP connection, we need to use a websocket proxy server. This uses a proxy hosted by [PSE](https://pse.dev). Feel free to use different or [local notary](#local) proxy.
+ 4. In `package.json`: check the version number:
+ ```json
+ "tlsn-js": "v0.1.0-alpha.10"
+ ```
+5. Install dependencies
+ ```sh
+ npm i
+ ```
+6. Start Webpack Dev Server:
+ ```sh
+ npm run dev
+ ```
+7. Open `http://localhost:8080` in your browser
+8. Click the **Start demo** button
+9. Open **Developer Tools** and monitor the console logs
+
+## Interactive verification with `tlsn-js`
+
+
+
+Follow the instructions from:
+https://github.com/tlsnotary/tlsn-js/blob/main/demo/interactive-demo/README.md
+
+## Web-to-web proofs with `tlsn-js`
+
+This demo showcases peer-to-peer communication between a web prover and a web verifier using TLSNotary. The prover fetches data from swapi.dev and proves it to the verifier.
+
+Follow the instructions from:
+https://github.com/tlsnotary/tlsn-js/blob/main/demo/web-to-web-p2p/README.md
+
+## Run a local notary server and websocket proxy (Optional)
+
+The instructions above, use the [PSE](https://pse.dev) hosted notary server and websocket proxy. This is easier for this quick start because it requires less setup. If you develop your own applications with `tlsn-js`, development will be easier with locally hosted services. This section explains how.
+
+### Websocket Proxy
+
+Since a web browser doesn't have the ability to make TCP connection, we need to use a websocket proxy server.
+
+1. Install [wstcp](https://github.com/sile/wstcp):
+```shell
+cargo install wstcp
+```
+2. Run a websocket proxy for `https://swapi.dev`:
+```shell
+wstcp --bind-addr 127.0.0.1:55688 swapi.dev:443
+```
+
+Note the `swapi.dev:443` argument on the last line, this is the server we will use in this quick start.
+
+### Run a Local Notary Server
+
+For this demo, we also need to run a local notary server.
+
+1. Clone the TLSNotary repository (defaults to the `main` branch, which points to the latest release):
+ ```sh
+ git clone https://github.com/tlsnotary/tlsn.git
+ ```
+2. Run the notary server:
+ ```sh
+ cd crates/notary/server
+ cargo run --release -- --tls-enabled false
+ ```
+
+The notary server will now be running in the background waiting for connections.
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 344c456..6a5fcda 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -1,24 +1,24 @@
-import {themes as prismThemes} from 'prism-react-renderer';
-import type {Config} from '@docusaurus/types';
+import { themes as prismThemes } from 'prism-react-renderer';
+import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
const config: Config = {
- title: 'My Site',
- tagline: 'Dinosaurs are cool',
+ title: 'TLSNotary',
+ tagline: 'Privacy-preserving data portability',
favicon: 'img/favicon.ico',
// Set the production url of your site here
- url: 'https://your-docusaurus-site.example.com',
+ url: 'https://tlsnotary.org/',
// Set the /