a70e68c7bd
* Smolmix documentation * Add smolmix docs: landing page, tutorials, and developer page links * Add Exit Gateway services page (NR vs IPR) and link from existing docs * Update auto-generated command and API outputs * Reorg of tutorials and architecture pages * License information + remove TODO from docs.rs visibile comment + reorg readme * Add versions file for doc-wide versioning * Relative -> absolute links * Relative -> absolute links * Update license + add old tutorial code as examples * Streamline smolmix docs * Clippy * Clean up doc comments * Last pass * Add larger file download to list * set new versions * Clippy * Remove blake pin from docs + add version range to root Cargo.toml * Format example logging * Remove crate blocked component * Loose whitespace * Add doc verification script for inline mdx * Formatting * Components regen * Reorg + tighten text * Voicing cohesion pass + remove bloated examples * Voicing cont. * Reduce max download size * Small suggested clarifications * Max/docs voicing consistency (#6769) * Reduce max download size * voicing consistency across docs * New landing order w smolmix * Tweaks * Final tweaks
24 lines
1.6 KiB
Plaintext
24 lines
1.6 KiB
Plaintext
# Webassembly Client
|
|
|
|
## Overview
|
|
The Nym webassembly client lets any webassembly-capable runtime build and send Sphinx packets to the Nym network, for use in edge computing and browser-based applications.
|
|
|
|
It is packaged and distributed via the [Nym Typescript SDK library](/developers/typescript). Most developers consume it through the SDK.
|
|
|
|
The client supports building Sphinx packets from mobile apps and browser-based client-side apps (including Electron or similar).
|
|
|
|
## Building apps with Webassembly Client
|
|
See the [Typescript SDK docs](/developers/typescript) for examples of usage.
|
|
|
|
## Think about what you're sending
|
|
|
|
import { Callout } from 'nextra/components'
|
|
|
|
<Callout type="warning">
|
|
Think about what information your app sends. That covers whatever you put into your Sphinx packet messages as well as what your app's environment may leak.
|
|
</Callout>
|
|
|
|
When writing client apps in HTML/JavaScript, we recommend you **do not load external resources from CDNs**. Webapp developers often do this to save load time for common resources, or for convenience. For privacy apps it's better not to make these kinds of requests. Pack everything locally.
|
|
|
|
If you use only local resources within your Electron app or your browser extensions, encoding request data in a Sphinx packet protects you from the normal leakage that gets sent in a browser HTTP request. [A lot of metadata leaks when you make an HTTP request from a browser window](https://panopticlick.eff.org/). That leakage doesn't happen in Nym, because you control what gets encoded into Sphinx packets, rather than sending a whole browser environment by default.
|