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>
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 ------------------------------------------- |