2026-07-29 13:54:34 +02:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< title > Hermes — messaging by name — Silent Mode< / title >
< meta name = "description" content = "Hermes: end-to-end encrypted messaging where your Bitcoin Cash name is your identity. NIP-17 sealed DMs over Nostr, no email, no phone number, no company account." >
< link rel = "stylesheet" href = "../shared.css" >
< / head >
< body >
< nav class = "topnav" >
< a class = "brand" href = "../" > ⛓️ Silent < span class = "g" > Mode< / span > < / a >
2026-07-31 08:43:31 +02:00
< a href = "../tools/" > Tools< / a >
< a href = "../prometheus/" > Prometheus< / a >
< a href = "../sirius/" > Sirius< / a >
2026-08-31 04:06:28 +02:00
< a href = "../hephaestus/" > Hephaestus< / a >
2026-07-31 08:43:31 +02:00
< a href = "../helios/" > Helios< / a >
< a href = "./" class = "here" > Hermes< / a >
2026-07-29 13:54:34 +02:00
< / nav >
< header class = "hero" >
< div class = "mark" > ⛓️✉️< / div >
< h1 > Hermes < span class = "pill p-designed" style = "vertical-align:middle;font-size:12px;margin-left:.6rem" > designed · not yet built< / span > < / h1 >
< p class = "tag" > End-to-end encrypted DMs over Nostr, addressed by your
< code class = "inline" > .bch< / code > name instead of a public-key string. Same wallet
is your identity — no email, no phone number, no company, no server that can delete
your account.< / p >
< / header >
< div class = "wrap narrow" >
< section class = "plain" >
< h2 > The one idea that makes this different< / h2 >
< p class = "lede" > Every existing Nostr client has the same wart: identity is
< code class = "inline" > npub1q8s7f3k…< / code > gibberish. The human-name fix — NIP-05 —
resolves < code class = "inline" > alice@example.com< / code > through a DNS domain and a
web server. That is exactly the ICANN + server chain Silent Mode exists to escape.
Decentralized messaging bolted onto centralized identity.< / p >
< div class = "note" > < b > The Hermes pitch.< / b > < br >
< code class = "inline" > alice.bch< / code > publishes her Nostr pubkey as an on-chain
record. Her name certificate < i > is< / i > her verified, seizure-resistant identity.
Message anyone by their < code class = "inline" > .bch< / code > name — no phone number, no
email, no ICANN, no company, no server that can delete your account.< / div >
< / section >
< section >
< h2 > How it works< / h2 >
< ol class = "steps" >
< li > < b > Your name owns your key.< / b >
< span > Register any name you like on the chain (or reuse one you already own),
publish your Nostr pubkey to it as a new < code class = "inline" > np< / code > record.
The key is derived from the same wallet seed as the name itself, so one seed
backs both.< / span > < / li >
< li > < b > Find people by name.< / b >
< span > Type < code class = "inline" > bob.bch< / code > . The client resolves it against
the chain, pulls < code class = "inline" > np< / code > (Nostr pubkey) and
< code class = "inline" > nr< / code > (preferred relays). No directory server involved.< / span > < / li >
< li > < b > Send the message sealed.< / b >
< span > NIP-17 gift-wrapped DMs — the relay sees neither sender nor content, only
that a wrap addressed to some pubkey exists. Route over Tor to also hide your
IP; Theseus already can.< / span > < / li >
< li > < b > The name shows, not the pubkey.< / b >
< span > Incoming messages reverse-resolve pubkey → name where possible, so your
chat list looks like a normal chat list — not a wall of hex.< / span > < / li >
< / ol >
< / section >
< section >
< h2 > Where it will live< / h2 >
< div class = "grid" >
< div class = "card" >
< h3 > In Theseus < span class = "src s-chain" > desktop< / span > < / h3 >
< p > A Messages panel inside the browser you already have. Routes relay traffic over
Tor. Reuses the built-in wallet's seed as the messaging identity.< / p >
< / div >
< div class = "card" >
< h3 > In Ariadne mobile < span class = "src s-chain" > phone< / span > < / h3 >
< p > A Messages screen in the existing Android app. Same seed, same identity — you
can message from either device without a linked-account handshake.< / p >
< / div >
< / div >
< / section >
Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus
Several concurrent workstreams committed together as a checkpoint:
- Ariadne mobile resolver — BchFetcher/Bns/MainActivity resolution logic,
AndroidManifest + build.ps1
- Theseus password manager — settings.html/chrome.html/settings-preload.js UI +
main.js wiring + package.json resource; Argus password-vault.js, record-picker.js
(+ tests) and resolver-web.d.ts
- Hephaestus — new BCH-wallet OIDC auth-proxy + Forgejo docker-compose and
restic/S3 scripts (secrets referenced via env only; Hephaestus/.env is gitignored)
- Argus public-gateway.mjs updates
- Docs — root README, Email README/RUNBOOK, VPS access runbooks (Checkers/Deviant),
site/hermes, WebsiteDev registry + faster-blocks, Failures/ AAAA-mangle writeup,
Decentralized Storage map, coordination notes
- .gitignore — exclude /.keys/ and Hephaestus/.env
2026-08-14 23:17:18 +02:00
< section >
< h2 > Where your history lives< / h2 >
< p class = "lede" > Three modes, one toggle. The default assumes no cloud at all — every
later option is opt-in, and none of them let anyone but you read your messages.< / p >
< div class = "grid" >
< div class = "card" >
< h3 > Local only < span class = "src s-chain" > default< / span > < / h3 >
< p > The client keeps your message history on the device. Nothing else knows it
exists. Same seed on Theseus and Ariadne gives you two-device redundancy for
free — lose one, restore from the other. Lose both, history is gone. Signal's
model, on purpose.< / p >
< / div >
< div class = "card" >
< h3 > Silent Mode cloud backup < span class = "src s-chain" > opt-in< / span > < / h3 >
< p > Toggle on and the client encrypts your message history with a key derived
from your wallet seed, then backs it up to decentralized cloud storage on
the Sia network. Only you can read it. < b > Text messages only< / b > — no
pictures, no video, no attachments.< / p >
< / div >
< div class = "card" >
< h3 > Your own Sia account < span class = "src s-chain" > advanced< / span > < / h3 >
< p > Prefer to own the storage yourself? Hermes sets up your own Sia account
and routes your backups there instead. Same encryption from your wallet
seed — and this time media backup is on the table too.< / p >
< / div >
< / div >
< / section >
2026-07-29 13:54:34 +02:00
< section >
< h2 > Honest boundaries< / h2 >
< div class = "grid" >
< div class = "card" >
< h3 > Messaging, not email< / h3 >
< p > No Gmail interop — by design. A separate anonymous-mailbox product covers
"sign up on services without leaking a real address."< / p >
< / div >
< div class = "card" >
< h3 > Metadata resistance is good, not perfect< / h3 >
< p > NIP-17 hides sender and content from relays. Relays still see the recipient
pubkey, timing, and your connection IP unless you route over Tor. The UI will
tell you when it's on.< / p >
< / div >
< div class = "card" >
< h3 > Relays are Nostr's soft spot< / h3 >
< p > A message lives only while some relay keeps it. Silent Mode runs one relay on
the same anonymous VPS as the gateway, and writes to a few public relays for
reach and redundancy.< / p >
< / div >
< / div >
< / section >
< div class = "note warn" > < b > Status: designed, not built.< / b > The full protocol design is
in < a href = "https://github.com/deviant" > < code class = "inline" > Hermes/DESIGN-hermes.md< / code > < / a >
(mirror). Nothing to install yet — this page exists to say what is coming, and to
make it possible to ask for updates in the messaging panel of a future Theseus or
Ariadne build.< / div >
< / div >
< footer >
< div > Silent Mode — a Deviant project.< / div >
< div class = "fine" > Named for the messenger of the gods. Not yet built. Contents subject
to change until the first client ships.< / div >
< / footer >
< / body >
< / html >