site/hermes/index.html
Local Dev 9fb72c10e8 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

151 lines
6.7 KiB
HTML

<!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>
<a href="../tools/">Tools</a>
<a href="../prometheus/">Prometheus</a>
<a href="../sirius/">Sirius</a>
<a href="../helios/">Helios</a>
<a href="./" class="here">Hermes</a>
</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>
<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>
<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>