From b82b5de677c2a6fca2a55abe0ff37613ee32086f Mon Sep 17 00:00:00 2001 From: Paul Hitt Date: Mon, 28 Sep 2026 17:01:49 -0400 Subject: [PATCH] Describe what a shared-account server keeps, with no email The privacy page and the metadata page said every account holds an email address and a password hash. On a server that uses the shared FlameNet account service, which the default relay does, the account holds a username, a verifier derived on the phone from the password, and an optional hashed recovery code; the account service's table has no email column, and the relay's own row has the email empty and no password hash. A server that keeps its own accounts still holds all three, and the pages now say so. English only. The Spanish pages change after a native speaker checks the wording. Co-Authored-By: Claude Opus 5.5 --- Resources/Views/metadata.leaf | 4 ++-- Resources/Views/privacy.leaf | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Resources/Views/metadata.leaf b/Resources/Views/metadata.leaf index a52276b..74b8a2f 100644 --- a/Resources/Views/metadata.leaf +++ b/Resources/Views/metadata.leaf @@ -14,7 +14,7 @@ @@ -43,7 +43,7 @@ - + diff --git a/Resources/Views/privacy.leaf b/Resources/Views/privacy.leaf index a54379c..d2a7bde 100644 --- a/Resources/Views/privacy.leaf +++ b/Resources/Views/privacy.leaf @@ -55,8 +55,12 @@

Account information

- An account holds a username, an email address, and a password hash. Each device you - register publishes its public keys. Private keys are generated on your device and + On a server that uses the shared FlameNet account service, as this one does, your + account holds a username and a value your phone derives from your password, which + cannot be turned back into it, plus a hashed recovery code if you set one up. There + is no email address, and your password never leaves your phone. A server that keeps + its own accounts holds a username, an email address and a password hash. Each device + you register publishes its public keys. Private keys are generated on your device and are never transmitted.

-- 2.54.0
KeptWhy
Username, email, password hash, display nameIt is an account
Username, display name; email and password hash only on a server with its own accountsIt is an account
Public keys per deviceThey are published on purpose, that is what a prekey bundle is
Buddy list, until you take it offPresence is shown only to people on your list, so the server holds it to enforce that. Settings offers "Take my contact list off the server": the list then lives only in your devices' encrypted stores (and rides your encrypted history export), and the honest cost is that buddies see you as offline, a presence design that needs no stored graph is the planned replacement. One more limit, because it is a limit and not a detail: removing your list also clears the per-conversation rows that name the same people, in both directions, except where such a row is also carrying a read position or a per-conversation setting. Those stay, with the acceptance cleared, because deleting them would lose state you never asked to lose and bring threads back unread on your other devices. So where you have read a conversation, the fact that it exists survives the removal.
BlocksThe server enforces them, so it has to know them. It cannot enforce one against a message that does not name its sender, blocking someone also cancels the passes you gave them, which is the part that can be aimed at one person.