How Plum Box Works: A Technical Deep Dive
Introduction
We've received a lot of great technical questions from our community about how Plum Box actually works under the hood. In this post we break down the architecture: how remote access is established, what happens to your data if Plum disappears, and exactly how your files are stored on the SSD.
1. Remote access architecture
Plum Box connects to your local network and provides access to your files from anywhere in the world. When you open the Plum app outside your home network, the connection happens in three phases.
- Signaling: the client initiates a connection request through the signal server, and the two peers exchange connection metadata.
- Discovery: ICE works out the optimal path while a STUN server discovers the public IP and NAT type of both devices.
- Connection: a direct peer-to-peer connection is attempted via UDP hole punching. On success an encrypted WireGuard tunnel carries your data; if P2P fails, the connection routes through the TURN relay automatically.
Default mode: Plum Relay
For most users, Plum Relay handles connectivity automatically with zero configuration. Three lightweight services make it work:
- Signal server: facilitates peer discovery and exchanges connection metadata. No user data passes through it.
- STUN server: discovers your public IP address and NAT type for P2P negotiation.
- TURN relay: a fallback used only when a direct P2P connection isn't possible, such as behind symmetric or carrier-grade NAT.
- P2P first: the system always attempts a direct peer-to-peer connection. The relay is only ever a fallback.
- End-to-end encryption: all traffic runs through a WireGuard tunnel (ChaCha20-Poly1305). Even when relayed, Plum's servers cannot decrypt your data.
- No port forwarding required: it works behind any NAT or firewall.
Advanced mode: port forwarding + DDNS
For users who want complete independence from Plum's infrastructure, port forwarding with a static IP or DDNS gives you a direct connection.
- Requirements: a static IP or Dynamic DNS service, a router that supports port forwarding, and your Plum Box's local IP.
- Configuration: forward external port 443 (or a custom port) to your Plum Box's local IP on internal port 443, over TCP/UDP.
- Advantages: zero dependency on Plum servers, the lowest possible latency, and full operational independence.
A detailed port-forwarding setup tutorial will be published before shipping starts in 2026.
Your account lives on your box
Your Plum account, your email, your password, and your sessions, is created and verified on your box, not on a Plum server. Plum runs no central account database, so there is no master list of users to leak and no central login that could expose everyone at once.
Routing is zero-knowledge too. When you sign in, the relay matches you to your box through a directory of random-looking tokens, never your identity, so it can move your encrypted traffic to the right box without ever learning your email, your password, or which box is yours. We cover the cryptography behind this in our deep dive, Zero-Knowledge by Design.
2. What happens if Plum shuts down?
This is one of the most common concerns we hear. Plum Box is built on local-first principles: your data never leaves your device unless you explicitly access it remotely.
- Plum servers online: local and remote access both work, and your data is intact.
- Plum servers offline: local access still works, and remote access keeps working through port forwarding.
- Internet outage: local access works; remote access waits until you're back online.
- Plum Box hardware failure: the device is offline, but the SSD is removable, so your data comes with you.
The key takeaway: your data exists only on your SSD. Plum servers handle connection routing, not data storage. Local backup and local file access never require a Plum server at all.
3. SSD data storage
Plum Box formats your SSD with ext4, the mature, journaled Linux filesystem, and protects it with full-disk encryption that only you and your box can unlock (more on that below).
The directory structure in the Plum app mirrors exactly what's on the SSD. What you see in the app is what you get on disk.
- /Photos: photo and video backups, organized in a year and month hierarchy.
- /Files: your uploaded files, in folders you define.
Encryption and self-custody
Plum Box offers full-disk encryption built on LUKS2, the Linux disk-encryption standard. When you turn it on, the keys live with you and your box, never with Plum: your box holds a local key, and you hold a passphrase plus a single recovery code. Plum stores none of them, so we cannot decrypt your disk, and neither can anyone who seizes our servers.
Because it is standard LUKS2, you can unlock the drive on any computer with your passphrase, independently of Plum Box or Plum servers. Your data stays readable on your terms, not ours.
4. Storage expansion
Plum Box has a single M.2 NVMe SSD slot (M-key), which keeps the device compact, affordable, and simple.
- Supported drives: M.2 NVMe (M-key).
- When storage fills up: swap the SSD inside your Plum Box, or read the old drive through an external enclosure.
- Accessing old drives: re-insert into Plum Box for quick browsing, use a $10-15 M.2 USB enclosure to read on any PC, or plug into a motherboard M.2 slot for the fastest transfer.
If encryption is enabled, you'll need your passphrase to unlock the drive no matter how you access it.
Coming soon: Remote RAID
Remote RAID is on the way. It binds several Plum Boxes linked to the same account into a single RAID, expanding your storage while protecting against data loss from a physically damaged SSD. It's in active development, and we'll share news the moment it's ready.
Summary
- Remote access: peer-to-peer first, with an encrypted relay fallback.
- Transit encryption: end-to-end encrypted.
- Accounts and routing: box-local accounts and zero-knowledge routing, so Plum keeps no user database.
- Storage encryption: optional LUKS2 full-disk encryption; the keys are yours alone (box key + passphrase + one recovery code).
- File system: ext4, the mature Linux standard.
- Directory structure: /Photos and /Files, mirroring the app UI.
- Server dependency: none for local access; relay or port forwarding for remote.
- Storage expansion: swap the SSD, or read old drives via an enclosure.
Design philosophy
Plum Box is built on four principles:
- Your data stays yours: 100% local storage, no cloud dependency.
- Zero standing trust: your account, your keys, and your data stay with you, not with Plum.
- No lock-in: a standard file system, a removable SSD, and open protocols.
- Graceful degradation: if Plum disappears, your data and your access remain.