Concepts & security
Security model
mix-fetch follows the shared mixnet exit security model: the IPR exit sees your destination, and you rely on TLS to keep the payload as ciphertext to it. What that means specifically for HTTP/S:
| At the IPR exit | What's visible |
|---|---|
HTTPS (https://) | Destination IP and port. Payload is TLS ciphertext, terminating at the destination rather than the IPR. |
HTTP (http://) | Destination IP and port, plus the full request and response in plaintext. |
⚠️
TLS terminates inside the WASM instance (via rustls (opens in a new tab) in smolmix-wasm), not in the browser. The Mozilla CA bundle is compiled into the WASM. Mixed content rules still apply at the page level, so serve your app over HTTPS.