Nothing is ever erased.

Wyrd is a decentralized drive where data keeps its identity, history, and permissions, no matter which machines happen to hold it.

Your devices keep what they need. Peers you approve can fetch the rest. No central service sits in the middle of that exchange.

Wyrd is the Old English word for fate: what has already happened, weighing on what comes next.

Pre-alpha. The on-disk format can still change between releases.

field-notes.txt across four snapshots store holds 3 objects
snapshot 0a13…e02

first write

field-notes.txt (3 chunks)
9be2…11 77ac…f0 c301…9d
held by laptop, vault; phone holds nothing yet

Three pieces land in the store, and the snapshot points at all three.

The file is not the thing. The history is.

A Wyrd drive is a chain of snapshots. Everything else follows from that.

Every file is split into pieces, and each piece is named after the hash of its own bytes. Two files that share a paragraph, or two backups a week apart with almost nothing changed, quietly share the same pieces. Nobody deduplicates anything by hand.

A snapshot is a small object pointing into a tree of those pieces, much like a Git commit points into its tree — except the snapshot describes the state of an entire drive. Writing never alters what is stored. It adds new pieces and publishes a new snapshot.

That gives storage and meaning separate lives. A NAS can keep the full history while a phone keeps a few files and fetches the rest on demand. Pinning and eviction change what a device holds, never what the drive contains. And because identity travels with the data, applications beyond filesystems can build on the same substrate.

What holds, always

Seven articles the system will not bend on, whatever else changes underneath.

§1

Every change is a new snapshot

Snapshots name their parents and form an append-only chain. When two devices write at once, the drive briefly has two heads, and that is shown rather than hidden.

§2

Deleting publishes; it does not erase

Removing a file publishes a snapshot that stops referencing it. The pieces stay in the store until a separate, explicit cleanup runs, so a bad script or a careless rm costs you nothing.

§3

What you hold is your choice

A NAS can keep everything forever. A laptop can keep a working set and fetch the rest. A phone holds a view into the drive, not a copy of it.

§4

Corruption is cheap to catch

Every piece is addressed by its own hash, so a damaged chunk announces itself. A good copy can be fetched from another holder; fully automatic repair is still being built.

§5

Storage peers stay blind

Everything is encrypted before it leaves your device. A vault on rented hardware sees ciphertext, sizes, and timing. Never names, folders, or which objects match.

§6

Conflicts stay visible

Two devices editing apart keep both versions as separate objects. You resolve the conflict. Nothing is silently merged or overwritten.

§7

The door stays open

The local store is ordinary files on disk, and any snapshot materializes into a plain directory. No export format stands between you and your data.

Where the other tools stop

Each of these nails one part. Wyrd is the bet that they belong in one system.

How Wyrd compares to Syncthing, borg and restic, git-annex, Time Machine, and object storage, and where each of those tools stops.

Syncthing

Keeps folders live across devices, but a deletion or a corrupted file races everywhere just as fast. No history sits underneath to fall back on.

borg, restic

Trusted backup with a one-way flow, device to repository. No peer roles, no live folder to work inside.

git-annex

The closest relative in spirit. Shaped like a repository to manage rather than a drive to live in.

Time Machine

The manners Wyrd wants: step back through time. Bound to one machine and one company's filesystem.

Object storage

Addressable and reachable, but identity, history, and access control are left to whatever gets built around it.

Git's object model, Syncthing's replication, Time Machine's manners.

Right now

Pre-alpha, stated plainly. What runs today, and what does not yet.

Working today

  • Content-addressed store and the append-only snapshot chain
  • Membership, capabilities, and per-epoch encryption keys
  • Encrypted sync between peers over a real peer-to-peer transport
  • A read-write mount to create, write, and browse like a folder
  • A serving endpoint other devices can fetch from

Not yet

  • Garbage collection, so the store only grows for now
  • Fully automatic repair of corrupted chunks
  • Recovery if every root-key holder is lost
  • Resilient multi-relay networking and remote signers
  • A dedicated export command, though materializing works

MIT licensed. Identity rides on Nostr-style keys; transport runs on iroh. The repository holds the full status and the normative format spec.

Run it yourself

The alpha gives you the local substrate first: create a drive, mount it, invite peers.

# needs Nix, or build from source per the README
nix run .#wyrd -- --help

# credentials, each a private file
head -c 32 /dev/urandom > identity.bin && chmod 600 identity.bin
printf 'my-passphrase' > passphrase.txt && chmod 600 passphrase.txt

# create a drive, then mount a live view of it
wyrd init ./mydrive --identity-file ./identity.bin --passphrase-file ./passphrase.txt
wyrd mount ./mydrive ./mnt --identity-file ./identity.bin --passphrase-file ./passphrase.txt

Mounting needs system FUSE, libfuse on Linux or macFUSE on macOS. Without a --relay flag the drive stays local-only. Full setup lives in the repository.