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" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< title > Hermes — messaging by on-chain name — Silent Mode< / title >
< meta name = "description" content = "Hermes: end-to-end encrypted messaging where your on-chain registered name is your identity. Live in Theseus desktop and at hermes.x/messenger. NIP-17 sealed DMs over Nostr, no email, no phone number, no company account." >
2026-09-07 23:01:57 +02:00
< meta property = "og:type" content = "website" >
< meta property = "og:site_name" content = "Silent Mode" >
< meta property = "og:title" content = "Hermes — messaging by name — Silent Mode" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< meta property = "og:description" content = "Hermes: end-to-end encrypted messaging where your on-chain registered name is your identity. Live in Theseus desktop and at hermes.x/messenger. NIP-17 sealed DMs over Nostr, no email, no phone number, no company account." >
site: slash-less page URLs; /theseus is the Theseus page, /tools the overview
Canonical silentmode.st URLs no longer carry a trailing slash (/tools, not
/tools/). nginx (tracked now in VPS/SilentMode/silentmode-st.nginx) 301s
the old form and serves <dir>/index.html; sub-sites deployed from other
repos with relative asset paths (deviant, sirius-x, theseus-x, hephaestus.x,
fly.x, code) keep their directory URLs. Every page's internal links are
now site-root-relative, which resolves correctly both at /x on nginx and
under the BNS gateway's injected <base href="/bns/silentmode.bch/"> — the
old ../x/ links were already broken on the gateway route.
/theseus becomes the Silent Mode-headered Theseus page (what it is, what's
inside, Windows + Android downloads with manifest hashes, verify), linking
out to the sovereign theseus.x whose VPS mirror moves to /theseus-x/, the
same split as /sirius vs /sirius-x/. /tools is repurposed as the overview:
every site, the on-chain twins, the other clients (relay, Firefox, the
standalone Ariadne Resolver) and the machine endpoints. The old tools page
carried stale APK and resolver hashes; the new pages use the manifest's,
verified against the files on dl.silentmode.st.
scripts/serve-site.mjs mirrors the nginx rules for local preview.
2026-09-20 17:21:30 +02:00
< meta property = "og:url" content = "https://silentmode.st/hermes" >
2026-09-07 23:01:57 +02:00
< meta property = "og:image" content = "https://silentmode.st/brand/og.png" >
< meta property = "og:image:width" content = "1200" >
< meta property = "og:image:height" content = "630" >
< meta name = "twitter:card" content = "summary_large_image" >
site: slash-less page URLs; /theseus is the Theseus page, /tools the overview
Canonical silentmode.st URLs no longer carry a trailing slash (/tools, not
/tools/). nginx (tracked now in VPS/SilentMode/silentmode-st.nginx) 301s
the old form and serves <dir>/index.html; sub-sites deployed from other
repos with relative asset paths (deviant, sirius-x, theseus-x, hephaestus.x,
fly.x, code) keep their directory URLs. Every page's internal links are
now site-root-relative, which resolves correctly both at /x on nginx and
under the BNS gateway's injected <base href="/bns/silentmode.bch/"> — the
old ../x/ links were already broken on the gateway route.
/theseus becomes the Silent Mode-headered Theseus page (what it is, what's
inside, Windows + Android downloads with manifest hashes, verify), linking
out to the sovereign theseus.x whose VPS mirror moves to /theseus-x/, the
same split as /sirius vs /sirius-x/. /tools is repurposed as the overview:
every site, the on-chain twins, the other clients (relay, Firefox, the
standalone Ariadne Resolver) and the machine endpoints. The old tools page
carried stale APK and resolver hashes; the new pages use the manifest's,
verified against the files on dl.silentmode.st.
scripts/serve-site.mjs mirrors the nginx rules for local preview.
2026-09-20 17:21:30 +02:00
< link rel = "stylesheet" href = "shared.css?v=20260910" >
< link rel = "icon" type = "image/svg+xml" href = "favicon.svg" >
2026-07-29 13:54:34 +02:00
< / head >
< body >
< nav class = "topnav" >
site: slash-less page URLs; /theseus is the Theseus page, /tools the overview
Canonical silentmode.st URLs no longer carry a trailing slash (/tools, not
/tools/). nginx (tracked now in VPS/SilentMode/silentmode-st.nginx) 301s
the old form and serves <dir>/index.html; sub-sites deployed from other
repos with relative asset paths (deviant, sirius-x, theseus-x, hephaestus.x,
fly.x, code) keep their directory URLs. Every page's internal links are
now site-root-relative, which resolves correctly both at /x on nginx and
under the BNS gateway's injected <base href="/bns/silentmode.bch/"> — the
old ../x/ links were already broken on the gateway route.
/theseus becomes the Silent Mode-headered Theseus page (what it is, what's
inside, Windows + Android downloads with manifest hashes, verify), linking
out to the sovereign theseus.x whose VPS mirror moves to /theseus-x/, the
same split as /sirius vs /sirius-x/. /tools is repurposed as the overview:
every site, the on-chain twins, the other clients (relay, Firefox, the
standalone Ariadne Resolver) and the machine endpoints. The old tools page
carried stale APK and resolver hashes; the new pages use the manifest's,
verified against the files on dl.silentmode.st.
scripts/serve-site.mjs mirrors the nginx rules for local preview.
2026-09-20 17:21:30 +02:00
< a class = "brand" href = "./" > < svg class = "logo" viewBox = "0 0 32 20" aria-hidden = "true" > < rect class = "l1" x = "1.5" y = "3.5" width = "17" height = "13" rx = "6.5" ry = "6.5" fill = "none" stroke-width = "2.6" / > < rect class = "l2" x = "13.5" y = "3.5" width = "17" height = "13" rx = "6.5" ry = "6.5" fill = "none" stroke-width = "2.6" / > < / svg > Silent < span class = "g" > Mode< / span > < / a >
< a href = "theseus" > Theseus< / a >
< a href = "prometheus" > Prometheus< / a >
< a href = "sirius" > Sirius< / a >
< a href = "hephaestus" > Hephaestus< / a >
< a href = "helios" > Helios< / a >
< a href = "hermes" class = "here" > Hermes< / a >
< a href = "tools" > Tools< / a >
2026-07-29 13:54:34 +02:00
< / nav >
< header class = "hero" >
hermes: use the user's own mark.webp as the icon, drop the SVG attempts
User-authored artwork wins. mark.webp is the main icon; two sibling variants
(mark-wings-both.webp, mark-variant.webp) ship alongside for brand uses.
- bundled-addons/hermes/addon.json: version 0.2.2, icon/panels[0].icon are
now data:image/webp;base64,... from the main mark.
- bundled-addons/hermes/assets/mark.webp: served by the host via the panel
page's relative path (seedBundledAddons' fs.cpSync recursive carries it).
- bundled-addons/hermes/panel.html: both top-bar and signin inline SVGs
become <img src="assets/mark.webp"> at 24 and 72 px.
- site/hermes/index.html: hero SVG → <img> at 120 px.
- site/hermes/branding/{index.html,mark.webp,mark-wings-both.webp,mark-variant.webp}:
branding kit now carries the three webp files; the inline hero SVG uses
the main one.
- site-hermes-x/{index,branding,messenger}/index.html: same SVG → <img>
swap with the appropriate assets/ relative path.
- site-hermes-x/assets/mark{,-wings-both,-variant}.webp: sibling of the
existing favicon.svg and mark SVGs (kept for backward refs that still
point at them).
Legacy mark.svg + mark-stroke.svg + favicon.svg stay in place for any
external references; nothing in-repo points at them for the primary icon
slots anymore. favicons still point at the SVG files — safe to leave;
flipping those to webp is a one-liner if you want it.
2026-10-21 21:32:14 +03:00
< div class = "mark" style = "line-height:0; display:inline-flex" >
< img src = "branding/mark.webp" alt = "Hermes" width = "120" height = "120" style = "display:block" >
hermes.x: standalone site + sidebar addon side:left + mark v2 (tapered trails)
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.
2026-10-21 02:19:58 +03:00
< / div >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< h1 > Hermes < span class = "pill p-shipped" style = "vertical-align:middle;font-size:12px;margin-left:.6rem;background:rgba(79,209,165,.12);color:#4fd1a5;padding:2px 10px;border-radius:999px" > live · desktop & web< / span > < / h1 >
2026-07-29 13:54:34 +02:00
< p class = "tag" > End-to-end encrypted DMs over Nostr, addressed by your
2026-10-21 18:39:37 +03:00
on-chain registered name instead of a public-key string. Same wallet
2026-07-29 13:54:34 +02:00
is your identity — no email, no phone number, no company, no server that can delete
your account.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< p class = "tag" style = "font-size:.95rem;margin-top:.8rem" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
Lives inside < a href = "theseus" > < b > Theseus< / b > < / a > (Hermes icon in the left sidebar, or < kbd style = "background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px" > Ctrl< / kbd > +< kbd style = "background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px" > Shift< / kbd > +< kbd style = "background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:12px" > E< / kbd >
E as in < i > Ermis< / i > ) and in any browser at < a href = "https://navigate.st/bns/hermes.x/messenger/" > < b > hermes.x/messenger< / b > < / a > . Brand kit at
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< a href = "hermes/branding" > < code class = "inline" > /hermes/branding< / code > < / a > .
< / p >
2026-10-21 17:17:05 +03:00
< p style = "margin:1.4rem 0 0;color:var(--dim);font-size:13px" >
< b style = "color:var(--mut)" > Hermes.X< / b > is the messenger's sovereign site, served from its own on-chain name.
Mirror: < a href = "/hermes-x/" > silentmode.st/hermes-x/< / a > ·
gateway: < a href = "https://navigate.st/bns/hermes.x/" > navigate.st/bns/hermes.x/< / a > ·
native with a resolver: < a href = "https://hermes.x/" > < code class = "inline" > https://hermes.x/< / code > < / a >
< / p >
2026-07-29 13:54:34 +02:00
< / header >
< div class = "wrap narrow" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ WHAT SHIPS TODAY ============ -->
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< section class = "plain" >
< h2 > What ships today< / h2 >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< p class = "lede" > Hermes is live inside the Theseus desktop browser and as a web messenger at
< a href = "https://navigate.st/bns/hermes.x/messenger/" > hermes.x/messenger< / a > . Core messaging,
sign-in, profiles and the address book work end to end. Mobile and Tor transport follow.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< div class = "grid" >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Threaded chat< / h3 >
< p > Contact list on the left with search and unread badges, the selected conversation on the
right with bubbles and inline reply. Enter to send, Shift-Enter for a new line.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Send and receive by name< / h3 >
< p > Type < code class = "inline" > alice.x< / code > . The client resolves the name on-chain, wraps the
message NIP-17 to the recipient's Nostr key and publishes to their declared relays.
Sealed-sender: the relay never sees who sent what to whom.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Three ways to sign in< / h3 >
< p > Open with < b > Theseus ID< / b > (the browser's own identity), a < b > name and password< / b > ,
or a < b > seed phrase< / b > (12 or 24 words, or an nsec). You stay signed in on the device;
a new device needs the seed phrase.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Handles the way you like them< / h3 >
< p > One identity, three spellings: < code class = "inline" > hermes:alice< / code > ,
< code class = "inline" > alice.x< / code > , or the email form. Paste any of them; pick which
one the client shows in Settings.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Profiles< / h3 >
< p > Display name, picture and a short bio as a standard Nostr profile, so other clients see
them too. Non-unique and display-only; the name is the identity.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > Address book and vCard import< / h3 >
< p > Named contacts stored locally, with optional vCard import from an existing address book.
You preview who gets added; nothing is uploaded.< / p >
< / div >
< div class = "card" >
< span class = "pill p-live" > live · opt-in< / span >
< h3 > Phone discovery< / h3 >
< p > Link a phone number and let contacts who know it find you. Off unless you turn it on;
lookups work the other way too, by number.< / p >
< / div >
< div class = "card" >
< span class = "pill p-live" > live< / span >
< h3 > History on your device< / h3 >
< p > Messages persist to disk per identity. Close and reopen the panel and your threads are
still there, unread marks included. Seed backup lives behind your password.< / p >
< / div >
< div class = "card" >
< span class = "pill p-alpha" > preview< / span >
< h3 > Web messenger< / h3 >
< p > The same panel wrapped as a stand-alone web app at hermes.x/messenger, for anyone without
the desktop browser. Same crypto, same identity, signs in with an nsec or a mnemonic.< / p >
< / div >
< div class = "card" >
< span class = "pill p-upcoming" > next< / span >
< h3 > Mobile< / h3 >
< p > Ariadne for Android already opens hermes.x from its menu. A native Messages tab is a
multi-release port of its own (Schnorr signatures, NIP-44 and a WebSocket client inside
the JDK-8 build); it ships in slices.< / p >
< / div >
< div class = "card" >
< span class = "pill p-upcoming" > planned< / span >
< h3 > Tor transport< / h3 >
< p > Relay traffic over the Tor client Theseus already runs, so even your connection IP leaves
the relay. The UI will say when it is on.< / p >
Hermes: Ermis shortcut (Ctrl+Shift+E), sidebar add-on, vCard import, brand kit
Shortcut: Ctrl+Shift+M -> Ctrl+Shift+E. Chrome owns Ctrl+Shift+M as
'switch profile' and E matches the Greek spelling (Ermis).
Sidebar discoverability: new bundled add-on at bundled-addons/hermes/
registers a left-strip icon + launcher panel. The panel is a thin chrome
(mark + 'Open Messages' + shortcut hint) that forwards clicks through
api.onMessage -> ipcMain.emit('hermes-open-request') -> openHermesWindow.
All real messaging code stays in main.js — add-on is purely for discovery.
Address book: opt-in vCard (.vcf) import. Dialog in the Add Contact modal
lets the user pick a file; main.js parses BEGIN:VCARD blocks for X-BNS-NAME
/ X-NOSTR-NPUB / X-NOSTR-PUBKEY plus .bch names and npubs mentioned in
NOTE fields. Candidates are previewed per-contact with checkboxes; nothing
is added until the user confirms. Non-matching vCards are returned too (so
the user can still add manually) rather than silently dropped. Nothing is
uploaded; parsing is local.
site/hermes: status badge flipped from 'designed - not yet built' to
'MVP - desktop'. New 'What ships today' grid covers threaded chat, send by
name, address book, local history (all live) and mobile + Tor (next /
planned). Hero carries the new Ctrl+Shift+E shortcut and a link to
/hermes/branding.
site/hermes/branding: new page. Mark SVG (winged envelope, two variants
for 16-20px and 24-160px display sizes), palette (reuses Silent Mode
tokens + an amber accent that's distinctly warm-yellow, not Hermes-orange
— so it never collides with Hermès the fashion house), name explanation
(English Hermes / Greek Ermis), voice notes, do/don't table, MPL-2.0
attribution.
Hermes/MOBILE-RECOMMENDATION.md: analysis of three mobile paths (inside
Ariadne / standalone / hybrid). Recommendation is Option 1: ship as a
screen inside Ariadne. Reuses the wallet seed, aligns with the design
doc's 'one seed many purposes' architecture, lowest total cost.
2026-10-21 00:45:25 +03:00
< / div >
< / div >
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ THE IDEA ============ -->
2026-07-29 13:54:34 +02:00
< 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
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< 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-plus-server chain Silent Mode exists to escape: decentralized messaging
bolted onto centralized identity.< / p >
2026-07-29 13:54:34 +02:00
< div class = "note" > < b > The Hermes pitch.< / b > < br >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< code class = "inline" > alice.x< / code > publishes her Nostr pubkey as an on-chain record. Her name
certificate is her verified, seizure-resistant identity. Message anyone by their on-chain
registered name, with no phone number, no email, no ICANN, no company, and no server that can
delete your account.< / div >
2026-07-29 13:54:34 +02:00
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ HOW IT WORKS ============ -->
2026-07-29 13:54:34 +02:00
< section >
< h2 > How it works< / h2 >
< ol class = "steps" >
< li > < b > Your name owns your key.< / b >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span > Register any name on the chain, or reuse one you already own, and publish your Nostr
pubkey to it 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 >
2026-07-29 13:54:34 +02:00
< li > < b > Find people by name.< / b >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< 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 >
2026-07-29 13:54:34 +02:00
< li > < b > Send the message sealed.< / b >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< 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 >
2026-07-29 13:54:34 +02:00
< li > < b > The name shows, not the pubkey.< / b >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span > Incoming messages reverse-resolve pubkey to name where possible, so your chat list
looks like a normal chat list rather than a wall of hex.< / span > < / li >
2026-07-29 13:54:34 +02:00
< / ol >
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ NAMES ============ -->
< section >
< h2 > Getting a name< / h2 >
< p class = "lede" > Today a Hermes identity is any on-chain registered name, such as one under
< code class = "inline" > .x< / code > from < a href = "sirius" > Sirius< / a > . Two more paths are designed
and wait for the mainnet launch, when the Hermes top-level domains get minted.< / p >
< div class = "grid" >
< div class = "card" >
< span class = "pill p-live" > today< / span >
< h3 > Your own on-chain name< / h3 >
< p > Register < code class = "inline" > alice.x< / code > at Sirius, publish the Nostr pubkey to it,
sign in to Hermes with the same seed. One transaction, yours for good.< / p >
< / div >
< div class = "card" >
< span class = "pill p-designed" > designed< / span >
< h3 > Free sub-identity< / h3 >
< p > A name under the Hermes parent, issued through its signed-records manifest on Sia with
no chain fee, for people who have no Bitcoin Cash on hand. Promote it to a sovereign name
later from Settings in one transaction; the chain wins once both exist.< / p >
< / div >
< div class = "card" >
< span class = "pill p-designed" > designed< / span >
< h3 > Hermes TLDs< / h3 >
< p > A short Hermes TLD for the dotted form and a second one for the email form, both minted on
mainnet rather than the test network. The client already parses all three spellings, so
the switch is a configuration change.< / p >
< / div >
< / div >
< / section >
<!-- ============ WHERE IT LIVES ============ -->
2026-07-29 13:54:34 +02:00
< section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< h2 > Where it lives< / h2 >
2026-07-29 13:54:34 +02:00
< div class = "grid" >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > live< / span >
< h3 > In Theseus desktop< / h3 >
< p > A Messages panel in the left sidebar of the browser you already have. Reuses the
built-in wallet's seed as the messaging identity.< / p >
< / div >
< div class = "card" >
< span class = "pill p-alpha" > preview< / span >
< h3 > In any browser< / h3 >
< p > hermes.x/messenger, served from the name itself over Sia. Sign in with a seed phrase;
history stays in that browser's storage.< / p >
2026-07-29 13:54:34 +02:00
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-upcoming" > next< / span >
< h3 > In Ariadne mobile< / h3 >
< p > Opens hermes.x from the menu today. The native Messages screen, with the same seed and the
same identity so you can message from either device, arrives in later releases.< / p >
2026-07-29 13:54:34 +02:00
< / div >
< / div >
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ HISTORY ============ -->
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 >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< 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 >
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
< div class = "grid" >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-live" > default< / span >
< h3 > Local only< / h3 >
< p > The client keeps your message history on the device. Nothing else knows it exists. The
same seed on two devices gives two-device redundancy; lose both and history is gone.
Signal's model, on purpose.< / p >
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
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-designed" > designed< / span >
< h3 > Silent Mode cloud backup< / h3 >
< p > Toggle on and the client encrypts your history with a key derived from your wallet seed,
then backs it up to the Sia network. Only you can read it. Text only, no media.< / p >
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
< / div >
< div class = "card" >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< span class = "pill p-designed" > designed< / span >
< h3 > Your own Sia account< / h3 >
< p > Prefer to own the storage? Hermes sets up your own Sia account and routes backups there
instead. Same encryption, and media backup becomes possible.< / p >
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
< / div >
< / div >
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
<!-- ============ BOUNDARIES ============ -->
2026-07-29 13:54:34 +02:00
< section >
< h2 > Honest boundaries< / h2 >
< div class = "grid" >
< div class = "card" >
< h3 > Messaging, not email< / h3 >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< p > No Gmail interop, by design. A separate anonymous-mailbox product covers signing up on
services without leaking a real address.< / p >
2026-07-29 13:54:34 +02:00
< / div >
< div class = "card" >
< h3 > Metadata resistance is good, not perfect< / h3 >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< p > NIP-17 hides sender and content from relays. Relays still see the recipient pubkey, timing,
and your connection IP until Tor transport lands.< / p >
2026-07-29 13:54:34 +02:00
< / div >
< div class = "card" >
< h3 > Relays are Nostr's soft spot< / h3 >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< p > A message lives only while some relay keeps it. Silent Mode runs one relay and writes to a
few public relays for reach and redundancy.< / p >
2026-07-29 13:54:34 +02:00
< / div >
< / div >
< / section >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< div class = "note" > < b > Design documents.< / b > The protocol design is in
< a href = "https://code.silentmode.st/silentmode/silentmode/src/branch/master/Hermes/DESIGN-hermes.md" > Hermes/DESIGN-hermes.md< / a > ,
the Android plan in < code class = "inline" > DESIGN-mobile-hermes.md< / code > , and the free
sub-identity scheme in < code class = "inline" > DESIGN-sub-identity-manifest.md< / code > , all in the
same folder. The desktop client ships as a bundled Theseus add-on and updates on its own channel,
independent of browser releases.< / div >
2026-07-29 13:54:34 +02:00
< / div >
< footer >
< div > Silent Mode — a Deviant project.< / div >
releases: keep recent only, generate the page from the manifest; Hermes page catches up
The releases manifest had grown to 63 entries (every Theseus build back to
0.3.59) and the hand-edited page had drifted: Android was two versions
behind and Pithos was never listed. scripts/releases-page.mjs now trims the
manifest to recent versions per product (5 Theseus, 2 others) and rewrites
the page's release blocks from it. Consumers read only the first entry per
product, so nothing they see changes; older builds stay on Sia.
The Hermes subpage still said "designed, not built" and "MVP · desktop".
It now reflects what shipped: web messenger at hermes.x/messenger, three
sign-in paths incl. Theseus ID, three handle spellings, Nostr profiles,
vCard import, opt-in phone discovery, Ariadne's menu entry, and the planned
free sub-identity + Hermes TLDs (mainnet) as designed items.
2026-10-22 03:31:24 +03:00
< div class = "fine" > Named for the messenger of the gods; Ermis in modern Greek. Alpha software on
a test network. Nothing here is a service, product guarantee, or investment.< / div >
2026-07-29 13:54:34 +02:00
< / footer >
< / body >
< / html >