aboutsummaryrefslogtreecommitdiffstats
path: root/docs/MESHBAY_NODE_PROTOCOL.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-25 17:10:15 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-25 17:10:15 +0200
commit90c69477d5f701158112b3c294eff26312f89da6 (patch)
tree2691ca096da5cf93482bc750c7a03599fbc44dc8 /docs/MESHBAY_NODE_PROTOCOL.md
parent8bb94a39609f57be2c486f579849eebb04606808 (diff)
downloadmeshbay-90c69477d5f701158112b3c294eff26312f89da6.tar.gz
feat: invitation links no longer bound to an e-mail addressHEADmain
A link is redeemable by whoever opens it first, so it can be sent by any messaging app. The address is optional (mail + label only); a link lives 7 days, fixed. Adds a Share button; see MESHBAY_DESIGN.md §3.4. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/MESHBAY_NODE_PROTOCOL.md')
-rw-r--r--docs/MESHBAY_NODE_PROTOCOL.md9
1 files changed, 5 insertions, 4 deletions
diff --git a/docs/MESHBAY_NODE_PROTOCOL.md b/docs/MESHBAY_NODE_PROTOCOL.md
index 2206971..3351793 100644
--- a/docs/MESHBAY_NODE_PROTOCOL.md
+++ b/docs/MESHBAY_NODE_PROTOCOL.md
@@ -866,10 +866,11 @@ source of authority is a second thing to get wrong.
### 8.6 Invitation links (`kind = "link"`)
A code for someone who may have no account yet, so it names none: it is bound to the
-first account that redeems it (`invite_link_create`, §10.4). What stops a stranger
-holding it is not the node but the hub, which lets only the account whose verified
-address the inviter named reach the node at all (`MESHBAY_DESIGN.md` §3.4). At the
-node it is therefore a **bearer code**, and everything else about it is fixed:
+first account that redeems it (`invite_link_create`, §10.4). Nothing stops a
+stranger holding the whole link — the hub's ticket is a bearer secret too
+(`MESHBAY_DESIGN.md` §3.4) — so what bounds it is that it works once, for seven
+days, and can be cancelled. At the node it is a **bearer code**, and everything else
+about it is fixed:
* role `member`, never `operator`; a row that says otherwise is refused, not honoured;
* one named group, never node-wide, and only redeemed on a connection authenticated to