The Sovereign Network

Whitepaper · Rubric Labs · October 2026

Abstract

The sovereign network carries bytes between people's devices with no server in the middle. A device is reached by its key, shares its address only with people it knows, and connects directly whenever it can. When it can't, a device of yours or of a friend relays the sealed bytes, or holds them until the recipient is back. This paper describes how it works today, what each party can see, and what it does not do yet.

1The idea

Most messages pass through a company's servers. The company sees who talks to whom, keeps what was sent, and can be compelled, breached or shut down. The sovereign network has no such middle. Its one job is to carry bytes from a device to the person they are for, using only the devices of the people involved and the people they know.

It is built for four things.

It rests on four ideas, each a section below: handshake identity (2, 3), decentralized addressing (4), end-to-end encryption (5) and trusted relays (6). There is no global user ID, no certificate authority, no central relay or addressing server, and no phone number or email.

The code holds itself to this with a test: a fresh node knows no host but its peers, and names no public relay, DNS lookup or discovery service.

2Keys

Each install of an app is a device. On first run it makes an Ed25519 key pair and keeps the private half in the system keychain. The public half is the device's address on the network, and the only thing anyone dials.

A person is a second key, shared by all of their devices. It signs the person's card: their name, their picture, their devices, and the devices they removed. A card never holds an IP address, and a newer card replaces an older one.

Adding a device. One of your devices shows a code that works once, for ten minutes. The new device opens it, both screens show the same six digits, and you confirm. The new device receives the person key, the card and your contacts. From then on a change on one of your devices reaches the others within about a second of them connecting.

Removing a device revokes it in the card. Every contact who receives the new card refuses that device's key.

3The handshake

Two people become contacts in a handshake: each gives the other their public keys and a way to reach them. Private keys never leave their devices.

A handshake starts with a link, shown as a QR code or sent as a message. It works once and expires after an hour. It carries the inviter's name, their person key, where to reach them and a random secret, all after the #, so a web page that opens the link never sends any of it to a server.

The person who opens the link dials the place it names and presents the secret with their own card. The inviter answers with theirs, which the opener accepts only if it matches the person key in the link. The secret is then spent, and each side holds the other's card.

Where to reach the inviter. The link names a meeting device: one of the inviter's devices that can be reached from the internet, or a reachable device of one of their friends, with a short token, signed by the inviter, that lets the holder in until the link expires. The inviter's own IP addresses stay out of the link unless no meeting device exists.

Safety numbers. Every person key has a 60-digit safety number. Two people who compare theirs in person or on a call know nobody swapped the link on the way.

4The address book

There is no directory. Each device keeps an address book: the latest address record of every device it knows. An address record is a device's own signed description of where it is: its IP addresses and ports, whether it can be reached from outside, its relay, and whether the app is open. A newer record replaces an older one.

Records go only to mutuals: your own devices, your contacts' devices, and the members of a space you joined. They spread four ways.

A device keeps dialing every mutual it holds a record for, backing off from one second to a minute, and starts again the moment a fresh record arrives or its network changes. A device is online to you exactly when you hold a live connection to it: a friend who comes online is seen within seconds, and one who leaves is marked offline within thirty.

5Connecting

Devices talk over QUIC, using iroh. Every connection is encrypted with TLS 1.3 between the two devices' keys, so it is end to end even when a relay forwards it. A device accepts a connection only from a device listed, and not revoked, in a card it holds, or from someone holding a live invite. Anyone else is turned away as soon as they identify themselves.

A direct connection is the goal: it is the fastest path, and nobody else is involved. Every device listens on IPv4 and IPv6 on the same port, so an address a friend saved stays good across restarts, and a dial tries every address at once: the same Wi-Fi, IPv6, IPv4. Whichever answers first and fastest is kept. Most devices sit behind a router or a firewall, so a device has three more ways through.

When none of these works, the bytes go through a trusted relay. A punch fails where both sides sit behind a router that picks a new port for every destination, as many cellular networks do over IPv4, or where a network blocks UDP.

Three paths: direct, through a trusted relay, and carried while the recipient is offline. DIRECT YouAna THROUGH A TRUSTED RELAY YouJoAna CARRIED YouJoAnaLATER
Figure 1 Direct whenever routers allow it, or once a mutual introduces the two devices. Otherwise through a trusted relay, which forwards encrypted packets. If Ana is offline, a device that knows her holds the sealed bytes and hands them over when she returns.

6Trusted relays

A trusted relay is always a device of yours or of someone you know, never a public server. Your own devices help first, then your friends'. A relay helps in two ways.

Forward. A device that can be reached from outside, usually a computer at home with a port open, admits only devices it knows and people holding an invite that names it. It forwards the encrypted packets of two devices that couldn't punch through to each other. It forwards up to 1 GB a day for each friend, and without limit for its own person's devices.

Carry. When the recipient is offline, the sender seals the bytes to the recipient device's key, with X25519, HKDF-SHA256 and ChaCha20-Poly1305, and hands copies to connected devices that know the recipient. A carrier holds the envelope for up to fourteen days, within a 200 MB budget, and passes it at most three hops. When the recipient connects to any carrier, it takes the envelope and acknowledges it. Every carrier then drops its copy, and the sender learns it was delivered.

Every connection also declares a class, and the network enforces it, so nobody's bandwidth is spent on someone else's heavy traffic.

ClassForMay travel
LiveCalls, typingDirect, or through a device of one of the two people. Never through a third person.
BulkFiles over 50 MBThe same as live. A transfer waits rather than use a friend's bandwidth.
SmallMessages, records, envelopesThrough any trusted relay.

You can also mark a friend relay only. Their copy of your record then names a relay and no addresses, so they never learn your IP.

7What others can see

WhoWhat they learn
A strangerNothing. Your address never reaches them, and your devices refuse their connections.
Your internet providerThat your device exchanges encrypted packets with certain IP addresses, how much and when.
A contactYour name, your devices, when you are online, and your IP addresses unless you marked them relay only.
A go-betweenThat two devices it already knows want to connect, and the addresses it already sees them at.
A relayWhich two devices are talking, how much and when. Not what they say.
A carrierWhich device an envelope is for, who handed it over, its size and its expiry. Not what it says.
Rubric LabsNothing. It runs no part of the network.

8On your device

Three keys live in the system keychain: the device key, the person key, and a key for the local store. On iPhone they stay on that phone: they don't sync to iCloud and can't be restored onto another phone. Everything else, including contacts, records and envelopes held for others, is kept in a database encrypted with SQLCipher under the store key.

9Limits

10Apps

The network carries opaque bytes, and apps give them meaning. baud, a messenger, seals each conversation with its own key before handing it to the network. Darkroom, Computer and Health OS run on the same network as separate nodes with their own keys, so removing one changes nothing for the others.

The implementation is peer, a Rust library built on iroh, with bindings for Swift and JavaScript and a command-line node for a computer that stays on.