New site-hermes-x/ — standalone .x site (own nav, own assets, own OG tags),
sibling to site-theseus-x and site-sirius-x. Internal nav stays on hermes.x:
Overview, Messenger (preview + UI mockup), Branding (brand kit). The only
cross-link is 'Get Theseus' pointing at theseus.x where appropriate.
Mark redesigned: tilted winged envelope with three tapered speed-trails on
the back-left (top longest, bottom shortest). Default colour sky #38BDF8 —
swappable via --sky in site-hermes-x/assets/shared.css. Alternate orange
palette documented but not applied by default. Mark propagated to:
- site-hermes-x/assets/mark.svg + mark-stroke.svg (16-20px variant)
- site/hermes/{index.html, branding/{index.html, mark.svg, mark-stroke.svg}}
- TheseusNavigator/bundled-addons/hermes/{addon.json, panel.html}
Theseus addon moves out of the top-right extensions dock and into the
left-strip sidebar: panels[].side = 'left' + registerSidebarPanel({side:'left'}).
Appears alongside Mail/Pithos/Telegram, excluded from rightPanels() so the
extensions dock no longer lists it. Verified via sidebarState() CDP query —
hermes:main is no longer in the right-panels list.
site/hermes/ (the nested silentmode.st/hermes page) also updated to the new
mark for consistency; both the sovereign hermes.x and the silentmode-nested
page now show the same winged envelope.
173 lines
7.8 KiB
HTML
173 lines
7.8 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>hermes.x — message anyone by their .bch name</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="icon" href="assets/favicon.svg" type="image/svg+xml">
|
|
<link rel="mask-icon" href="assets/favicon.svg" color="#38BDF8">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:site_name" content="hermes.x">
|
|
<meta property="og:title" content="hermes.x — message anyone by their .bch name">
|
|
<meta property="og:description" content="End-to-end encrypted DMs over Nostr, addressed by your .bch name. No email, no phone, no server that can delete your account.">
|
|
<meta property="og:url" content="https://hermes.x/">
|
|
<meta property="og:image" content="https://hermes.x/assets/mark.svg">
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:title" content="hermes.x — message anyone by their .bch name">
|
|
<meta name="twitter:description" content="Sealed-sender DMs over Nostr, addressed by .bch name.">
|
|
<link rel="stylesheet" href="assets/shared.css">
|
|
</head>
|
|
<body>
|
|
|
|
<nav class="topnav">
|
|
<a class="brand" href="./">
|
|
<svg viewBox="0 0 64 64" aria-hidden="true"><g fill="none" stroke="currentColor" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 36 L4 36"/></g></svg>
|
|
hermes<span class="x">.x</span>
|
|
</a>
|
|
<a href="./" class="here">Overview</a>
|
|
<a href="messenger/">Messenger</a>
|
|
<a href="branding/">Branding</a>
|
|
<a href="https://theseus.x/" class="get">Get Theseus</a>
|
|
</nav>
|
|
|
|
<header class="hero">
|
|
<div class="mark" aria-hidden="true">
|
|
<svg viewBox="0 0 64 64"><g fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" transform="rotate(-22 32 32)"><rect x="20" y="26" width="30" height="18" rx="1.5"/><path d="M20 27 L35 37 L50 27"/><path d="M20 30 L2 30"/><path d="M20 36 L10 36"/><path d="M20 42 L14 42"/></g></svg>
|
|
</div>
|
|
<h1>Message by name<span class="x">.</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.
|
|
Your name owns your key. No email, no phone number, no company, no server
|
|
that can delete your account.</p>
|
|
<div class="cta">
|
|
<a class="btn primary" href="messenger/">Open Messenger</a>
|
|
<a class="btn ghost" href="https://theseus.x/">Get Theseus (desktop)</a>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="wrap narrow">
|
|
|
|
<section class="plain">
|
|
<h2>What ships today</h2>
|
|
<p class="lede">Hermes is live inside the Theseus desktop browser. Web
|
|
messenger and Android follow.</p>
|
|
<div class="grid">
|
|
<div class="card">
|
|
<h3>Threaded chat <span class="src ok">live</span></h3>
|
|
<p>Contact list on the left (search + unread badges), selected
|
|
conversation on the right, inline reply. Enter to send.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Send by name <span class="src ok">live</span></h3>
|
|
<p>Type <code class="inline">alice.bch</code>. The client resolves the
|
|
name on-chain, wraps NIP-17 to the recipient's Nostr key, publishes
|
|
to their declared relays. Sealed-sender — the relay never sees who
|
|
sent what to whom.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Address book <span class="src ok">live</span></h3>
|
|
<p>Local contact list — add names, nicknames, import vCards. Nothing
|
|
uploaded; the book is on your device.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>History on your device <span class="src ok">live</span></h3>
|
|
<p>Messages persist to disk per identity. Close and reopen the panel —
|
|
your threads are still there, unread marks included.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Web Messenger <span class="src next">next</span></h3>
|
|
<p><a href="messenger/">hermes.x/messenger</a> — browser-side messenger
|
|
for anyone without the desktop app. Same crypto, same identity.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Mobile (Ariadne) <span class="src plan">planned</span></h3>
|
|
<p>Inside the Ariadne Android app: same wallet seed, same Nostr identity,
|
|
zero extra onboarding.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section>
|
|
<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
|
|
Bitcoin Cash names exist to escape.</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 on the chain, publish your Nostr pubkey as an
|
|
<code class="inline">np</code> record. The key is derived from the
|
|
same wallet seed as the name, 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.</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>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.</p>
|
|
</div>
|
|
<div class="card">
|
|
<h3>Relays are Nostr's soft spot</h3>
|
|
<p>A message lives only while some relay keeps it. We run one relay +
|
|
write to a handful of public relays for reach and redundancy.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="plain" style="text-align:center">
|
|
<h2>Try it</h2>
|
|
<p class="lede" style="margin-left:auto;margin-right:auto">
|
|
Open the web messenger right here, or install Theseus for the full
|
|
experience (persistent history, sidebar entry, keyboard shortcut).</p>
|
|
<div class="cta">
|
|
<a class="btn primary" href="messenger/">Open Messenger</a>
|
|
<a class="btn ghost" href="https://theseus.x/">Get Theseus</a>
|
|
<a class="btn ghost" href="branding/">Brand kit</a>
|
|
</div>
|
|
</section>
|
|
|
|
</div>
|
|
|
|
<footer>
|
|
<div>hermes.x — a <a href="https://silentmode.st/">Silent Mode</a> project.</div>
|
|
<div class="fine">Named for the messenger of the gods. Ermis in modern Greek.
|
|
Not Hermès (no accent, no horse, no orange luggage).</div>
|
|
</footer>
|
|
|
|
</body>
|
|
</html>
|