Your data should live on your devices, not in someone else's cloud. Your content should be served from hardware you control, addressed by who you are rather than where you signed up. And your messages should reach you even when your devices are asleep — carried by relays that hold sealed envelopes, not readable mail.
None of this requires everyone to become a system administrator. It requires protocols where delegation is safe: where the parties you rely on can be verified, replaced, and told as little as possible.
Data that lives on your own devices and syncs between them on your terms. Servers, where they exist at all, are replaceable relays — not the home of the truth.
CRDTs · sync protocolsPublishing from a machine you control — a home server, a small box on your shelf — and being findable through your identity, not a platform account.
DIDs · did:web · did:peerPersonal devices are not always on. Mediators accept encrypted envelopes for you while you're away and hand them over when you return — seeing ciphertext, never content. How little can a mediator be made to know? That question is our sharpest point.
DIDComm v2 · Coordinate Mediation · Message PickupEstoc Research is new — a set of questions before it is a set of answers. We are mapping the DIDComm mediator ecosystem, running interoperability experiments, and measuring what mediators can actually observe. Research notes are published here as they mature.
Announcing the did:key of our organization — signed with our own Ledger signer app.
Posts are signed by our current key: did:key:z6Mkp3dPTYg3WcQS4TRt1CCyeyUTuTukbMLjj8g38CeKSt7j
The working code so far is on GitHub:
A DIDComm v2 mediator anyone can run with one command — standard protocols over plain HTTP and WebSocket, no accounts, no vendor SDK. Runs as a single Node process or on Cloudflare Workers; ours is live at mediator.estoc.dev.
A see-through DIDComm v2 messenger. On the surface, a small chat app; underneath, every message keeps its envelopes, and an inspector peels them layer by layer to show exactly what each relay could see. Try it at didcomm-demo.estoc.dev.
DIDComm pack, unpack, and DID resolution behind a plain HTTP API with an OpenAPI spec — so any language can speak DIDComm without binding to a Rust or WASM toolchain. Stateless by design: it keeps no keys between requests.
Working on mediators, local-first software, or self-hosted identity? We'd like to compare notes: estoc@merely.ca