eleven / messenger Public

home: passkey account label is just "Eleven", not "Eleven backup" (#365)

The system passkey sheet reads «Sign in to "Eleven" with your passkey for
"Eleven backup"» — that second string is the constant, anonymous account label
home bakes into every credential at enrolment, named when home was framed as
the backup store. Home is the front door now; the label is just "Eleven".
Existing passkeys keep the old label (it lives in the credential) unless
renamed in the user's passkey manager.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Paul Campbell 4fcf2e72ca560b01973114fae9dd73b1d4300960 parent 398af6f
1 file changed, +8 −4
  • home/webauthn.go +8 −4
diff --git a/home/webauthn.go b/home/webauthn.go
index a03ea12..8b07a5d 100644
--- a/home/webauthn.go
+++ b/home/webauthn.go
@@ -30,8 +30,12 @@ type waRelyingParty struct{ *webauthn.WebAuthn }
func newRelyingParty(rpID, origin string) (*waRelyingParty, error) {
wa, err := webauthn.New(&webauthn.Config{
// The display name is deliberately constant and generic: passkey managers
- // show it, and it must not carry anything user-identifying.
- RPDisplayName: "Eleven backup",
+ // show it, and it must not carry anything user-identifying. Just "Eleven" —
+ // home is the front door now, and "Eleven backup" read as a mystery account
+ // in the system passkey sheet. (The label is baked into a credential at
+ // enrolment, so existing passkeys keep the old name unless renamed in the
+ // user's passkey manager.)
+ RPDisplayName: "Eleven",
RPID: rpID,
RPOrigins: []string{origin},
})
@@ -50,8 +54,8 @@ type homeUser struct {
}
func (u *homeUser) WebAuthnID() []byte { return []byte(u.id) }
-func (u *homeUser) WebAuthnName() string { return "Eleven backup" }
-func (u *homeUser) WebAuthnDisplayName() string { return "Eleven backup" }
+func (u *homeUser) WebAuthnName() string { return "Eleven" }
+func (u *homeUser) WebAuthnDisplayName() string { return "Eleven" }
func (u *homeUser) WebAuthnCredentials() []webauthn.Credential { return u.creds }
// ---- in-flight ceremony sessions -------------------------------------------