About

What MeshLine is, and what it isn't

about MeshLine.net

A messaging network with nothing listening in the middle.

Every "private" app still asks you to trust a company sitting between you and the person you're talking to. MeshLine is built around the opposite bet: the middle is a machine we own and run ourselves — not a company that watches.

What it actually is

MeshLine.net is a browser-based messaging and calling app. The parts most apps outsource to a rented cloud company — the server that routes your messages, the relays that move your media, the identity directory that tells people you exist — we run ourselves, on hardware we control, using the open Nostr protocol as the ledger beneath it all.

Concretely, that means four machines doing four different jobs, kept apart on purpose so a flood of one can never starve the others:

  • Our relay (relay.meshline.net) — the routing brain. Written in Go (Khatru), it delivers messages, tracks who is online, and enforces who may write. It holds no keys, no funds, and no readable content — direct messages reach it already-encrypted, and it cannot unpack them.
  • Our TURN (turn.meshline.net) — the media highway. When two browsers cannot reach each other directly (strict firewalls, symmetric NAT), calls route through our own relay server instead of borrowing a stranger's.
  • Our media cache (flower.meshline.net) — the fast lane for images and videos. It serves you cached copies of files people share, and fetches from public storage on a cache miss.
  • Your device — where everything is stored. Your messages, contacts and files live in an encrypted local store in your browser. You own the archive; the network is just how it moves.

Why it's built this way

Centralized apps are a single point of failure, a single point of surveillance, and a single point of shutdown. A server you rent from a company can be compelled, breached, or quietly changed — and the data on it was never yours to begin with.

MeshLine inverts that. Because the relay is ours, we can make it do things a public, rented relay never could: refuse unknown writers at the door (an allowlist), absorb presence and typing into memory so they never touch disk, and treat your read/write requests as sovereign rather than as something to mine. Because your data lives on your device, there are far fewer records to subpoena, leak or lose.

One network, ours end to end

Your browserdevice · keys · archiveTheir browserdevice · keys · archiverelay.meshline.netKhatru Go relay · routes · allowlistturn.meshline.netown TURN · media highwayflower.meshline.netmedia cache · proxied Blossom readssealed DM (end-to-end, NIP-17/59)

The honest trade-off, stated plainly: "ours" means we are responsible for keeping those machines up, and your IP address can be seen by the peers you connect to directly over WebRTC — the same as any real-time call. But it never means a company reading your messages, because the machine simply cannot decrypt them.

What it isn't

MeshLine isn't a company with a support line, a data-recovery team, or a moderation department that can read your messages. It's a protocol running in your tab, moving through machines we own. That means you carry more responsibility than you would behind a managed service:

  • If you lose your key, there is no "reset password" — no one else holds it. Your 24-word recovery phrase is the only way back.
  • If you're writing to a stranger's machine over a direct connection, that machine can learn your IP address.
  • No server exists to leak you — there is no database of profiles, no analytics pipeline, no ad network reading your habits. We build in public and hold nothing that could be stolen.

For the full picture of what a direct connection can reveal and what we deliberately do not collect, see the Privacy Policy.