124 lines
5.3 KiB
HTML
124 lines
5.3 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="../nav/">Tools</a>
|
||
|
|
<a href="../apps/">Apps</a>
|
||
|
|
<a href="../register.html">Names</a>
|
||
|
|
<a href="../store/">Store</a>
|
||
|
|
<a href="./" class="here">Messenger</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>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>
|