Product

Cordelia

Your agent's memory on every machine you use

Claude Code remembers your preferences, your decisions and the reasons behind them, in one folder on one machine. Cordelia keeps that memory in step across your devices: end-to-end encrypted, matched by project, readable only by you.

Pre-release -- October 2026

End-to-End Encrypted

Memory is encrypted on the device that wrote it. Relays store ciphertext and hold no keys, in any form. A compromised relay yields encrypted blobs and nothing else.

A Key per Device

No account, no email, no registration. Each device has its own key. Add one by copying a key in each direction. A recovery phrase of twelve words, which only you hold, removes a device that is lost and brings your memory back to a new machine.

Follows the Project

Project memory is matched by git remote, not by folder path, so the same repository cloned in different places, or on different machines, shares one memory.

Nothing Silently Lost

If two machines edit the same memory while apart, both versions are kept, on every machine. The memory index is merged line by line where both changed the same version of it, and is otherwise kept whole beside the new one.

Works When a Machine Is Off

Relays carry encrypted items for your other machine to collect, so your devices need not be on at the same time. A relay is a cache: each device keeps everything, and sends again whatever a relay no longer has.

Small and Open

One binary on each machine, AGPL-3.0. The whitepaper describes only what is built, and exactly what it does and does not protect.

How It Works

# on each machine
cordelia init
cordelia start

# on one machine, once: your recovery phrase, twelve words that only you hold
laptop$  cordelia phrase

# add the other from it: one key copied in each direction
desktop$ cordelia id                      # prints cordelia_pk1...
laptop$  cordelia add-device cordelia_pk1... --name desktop
desktop$ cordelia accept cordelia_pk1...

# say what to sync, on both: the same name on each machine
cordelia sync claude
cordelia sync map ~/Work/my-project
cordelia sync status

What Relays Can and Cannot See

They see

Channel IDs, the public keys of your devices, the sizes (by class) and timing of encrypted entries, and whether an entry is a delete.

They never see

Content, file names, project names, the list of your devices, or any key. A relay stores an entry only if the channel's own key signed it, and hands a channel only to a connection that proves it holds that key.

If you lose a device

cordelia remove-device on a device that remains, with your recovery phrase, removes it. From the moment a device of yours applies the removal, the removed device reads nothing that device writes.

Architecture

Node

A Rust daemon on each device: its key, encrypted storage, QUIC to relays, and a local API on loopback.

Relays

Store-and-forward for ciphertext, and the addresses nodes dial first. They verify signatures and hold no keys. Anyone can run one.

Claude Code Adapter

Syncs the Claude Code memory folders you map, each under a name your devices share. A repository is named by its git remote; home memory has a channel of its own.

Next

Channels shared between people, for what is shared on purpose: messages between agents, then secrets. Skills that people share travel in a repository, where changes are reviewed. Memory itself is never shared: it stays with one person. Also adapters for more agents, so memory survives a change of agent as well as of machine.