hermes-site/index.html
Local Dev 7a38767afd hermes site: swap remaining svg icon refs for the webp mark
Finishes the icon sweep started in badce1bc. The branding pages'
download links now serve mark.webp (main) + mark-wings-both.webp
(variant); the Open Graph image for site-hermes-x points at the webp
too. Legacy .svg files stay on disk so any outside link to them keeps
working, but every page we control now references the webp assets.
2026-10-21 22:04:25 +03:00

172 lines
7.4 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 on-chain 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 on-chain name">
<meta property="og:description" content="End-to-end encrypted DMs over Nostr, addressed by your on-chain registered 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.webp">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="hermes.x — message anyone by their on-chain name">
<meta name="twitter:description" content="Sealed-sender DMs over Nostr, addressed by on-chain registered name.">
<link rel="stylesheet" href="assets/shared.css">
</head>
<body>
<nav class="topnav">
<a class="brand" href="./">
<img src="assets/mark.webp" alt="Hermes" width="5" height="22" style="display:block">
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">
<img src="assets/mark.webp" alt="Hermes" width="3" height="22" style="display:block">
</div>
<h1>Message by name<span class="x">.</span></h1>
<p class="tag">End-to-end encrypted DMs over Nostr, addressed by your
on-chain registered 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.x</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.x</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
on-chain registered 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.x</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.</div>
</footer>
</body>
</html>