Skip to content

Privacy Chain

pq-cybarg edited this page May 29, 2026 · 1 revision

Privacy Chain

The Privacy tab lets you compose a sequence of hops between the phone's traffic and the internet. Each hop is independently configured. They can be combined arbitrarily — for example, you can chain Mullvad through Tor through Nym for maximum unlinkability, at the cost of speed.

Hop types

Hop What it does Strengths Tradeoffs
WireGuard Generic WG endpoint via BoringTun Fast, lightweight, standard Single point of trust
Mullvad Wire­Guard configured against Mullvad's relay network Optional post-quantum tunnel (ML-KEM-1024), DAITA traffic shaping, multihop, app-level split-tunnel Requires a Mullvad subscription
NymVPN Sphinx-format three-hop mixnet Breaks address-association (entry node and exit node don't share state); resists traffic analysis Higher latency; needs zk-nym mnemonic for paid bandwidth
Tor Embedded Arti client with bridge support and vanguards Anti-censorship, .onion routing, pluggable transports TCP only; some sites block exit nodes

WireGuard hop

Paste a standard [Interface] / [Peer] configuration block. Any config a normal WireGuard client would accept works here.

[Interface]
PrivateKey = <base64>
Address = 10.66.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <base64>
Endpoint = endpoint.example:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Mullvad hop

Enter your sixteen-digit Mullvad account number, tap Fetch servers, pick an entry server, then choose the extras you want:

  • Post-quantum tunnel — uses Mullvad's ML-KEM-1024 quantum-resistant key exchange layered on top of the WireGuard handshake.
  • Multihop — adds a separate exit server. Traffic enters via the entry server and emerges from the exit server.
  • DAITA — Defense Against AI-guided Traffic Analysis. Reshapes packet timing and sizes via the maybenot framework to defeat machine-learning-based traffic classifiers.
  • Obfuscation transport — wrap the WireGuard tunnel in one of:
    • UDP-over-TCP (length-prefixed)
    • Shadowsocks
    • QUIC (via quinn)
  • Exclude apps from VPN — opens a picker for split-tunnel. Selected apps bypass the VPN entirely.

NymVPN hop

The mixnet uses zk-nym credentials paid in NYM tokens for the bandwidth. To configure:

  1. Generate or import a wallet mnemonic at nymtech.net.
  2. Paste it into the mnemonic field on the Privacy tab.
  3. Optionally pin a specific entry and exit gateway by ID. If left blank, the SDK picks defaults from the topology.

Without a mnemonic the SDK falls back to testnet credentials, which is fine for testing but not for real use.

Tor hop

Paste BridgeDB-format bridge lines into the bridges field, one per line. Plain vanilla bridges (no obfs4/meek/etc prefix) work without any extra setup. Pluggable transports need the corresponding binary bundled in the APK:

  • obfs4, meek, webtunnel — bundled in libtetherand_pt.so automatically.
  • conjure — bundled as libconjure_client.so from upstream gotapdance.
  • snowflake — not bundled in v0.1; awaiting an upstream fix for Go 1.26 compatibility.

Two toggles:

  • Vanguards — engages Tor's anti-Sybil entry-guard hardening.
  • Prefer PQ-NTor handshake — wires the prop362 / NTor-ML-KEM-v1 hybrid handshake preference. The setting is in place; the actual on-the-wire engagement lights up automatically once upstream Arti exposes the cipher-suite knob in a release crate.

Chaining hops

The chain orchestrator processes hops in the order they are enabled. A typical paranoid stack for DEFCON might be:

Apps → Tetherand TUN → Tor → Mullvad PQ → Internet

Each hop adds latency. Measure with the small ping/throughput counter at the top of the Privacy tab and trim hops you don't need.

Privacy posture (hard rules)

These are non-negotiable:

  • No telemetry. Tetherand never phones home.
  • Model and bridge updates flow only through whatever chain is currently active. There is no out-of-band update path.
  • DNS goes through the last enabled hop. No host-resolver leaks.

Clone this wiki locally