Source decision 0031 — ✅ As a User, I want to join a site with my existing account
Original source · exact version bafyreifhl7nyboogxqhpcwjjaedlwgyiua4jdmqm6hjwv74hb63sp2gzwu · Read-derived block
Classification: story; source kind: story; decision: approve; confidence: high; review status: needs-review.
Rationale: A browser membership story with substantive criteria and edge cases, not new-account signup. A local design-correction note introduces unresolved single-account confirmation behavior but does not turn the whole record into a delivery log.
Review qualification: Uncertain identity/behavior/duplication remains a separate candidate; do not merge without review.
Canonical target (to be published after manifest): Proposed canonical target
Similar source candidates — kept separate
Evidence snapshot: original readable text and block backlinks
Heading Design source block
Heading Acceptance Criteria source block
Paragraph Entry & join trigger source block
Paragraph A Join button is visible in the site top bar when the user is not yet a member source block
Paragraph Tapping Join opens a modal within the site context. source block
Paragraph When a user tries to comment, follow, or bookmark, the same flow starts. source block
Paragraph The modal shows the site name (Ethosfera), explains it is built with Seed Hypermedia, and offers two options: Create identity or Already have a Hypermedia identity source block
Paragraph A third low-commitment option is visible: "I have a different identity domain" source block
Paragraph Tapping "Already have a Hypermedia identity" takes the user to the sign-in flow source block
Paragraph Sign in — email source block
Paragraph The sign-in screen is branded as Seed Hypermedia — distinct from the site UI source block
Paragraph The headline reads "Sign in to join [site name]" — the goal stays visible source block
Paragraph Email field is required and validates correct format before submission source block
Paragraph Submitting a valid email advances to the passkey screen source block
Paragraph Sign in — passkey source block
Paragraph The passkey screen shows the email the user is signing in as source block
Paragraph Primary action is "Sign in with passkey" using device biometrics or PIN source block
Paragraph A fallback "Use another email" option is available source block
Paragraph Successful passkey confirmation advances to the join confirmation screen source block
Paragraph Join confirmation source block
Paragraph The join confirmation screen shows the user's name and email so they can verify which identity they are joining with source block
Paragraph Copy changes depending if it is one account or +1 account. source block
Paragraph Primary CTA is "Continue as <account> which joins the site and returns the user to the site as a member source block
Paragraph Joined state source block
Paragraph The Join button disappears from the top bar source block
Paragraph The user's avatar appears in the top bar source block
Paragraph The comment and participation areas become active source block
Paragraph A confirmation alert appears: "You've joined [site name] — you can now comment and participate" and auto-dismisses after ~3 seconds source block
Paragraph Remove this step please if there is no more that one account! source block
Heading Basic Flow source block
Paragraph User arrives at Ethosfera as a guest and sees the Join button source block
Paragraph User taps Join — modal opens within the site source block
Paragraph User taps "Already have a Hypermedia identity" source block
Paragraph User enters email linked to their Seed identity source block
Paragraph User taps Continue — advances to passkey screen source block
Paragraph User confirms with passkey (Face ID, Touch ID, or PIN) source block
Paragraph Join confirmation screen shows name and email source block
Paragraph User taps "Start participating" — joined source block
Paragraph Returns to site as member — Join button gone, avatar visible, comment area active source block
Paragraph Confirmation alert appears and auto-dismisses source block
Heading Edge Cases source block
Paragraph Email source block
Paragraph ⚠️ Invalid email format → inline error: "That doesn't look like a valid email. Check for typos and try again." Button disabled until fixed source block
Paragraph ⚠️ Email not linked to any Seed identity → error with option to create one instead: "No Seed identity found for this email. Want to create one?" source block
Paragraph ⚠️User enters email from a different domain/site → redirect to "I have an identity from another site" path source block
Paragraph Passkey source block
Paragraph ⚠️ Passkey fails or is cancelled → returns to passkey screen with retry option and "Send a verification code instead" fallback source block
Paragraph ⚠️Device doesn't support passkey → verification code fallback offered automatically source block
Paragraph ⚠️User taps "Use another email" → returns to email screen, previous entry cleared source block
Paragraph Navigation source block
Paragraph ⚠️User closes the modal mid-flow → returns to site as guest, no partial state created source block
Paragraph ⚠️User presses browser back mid-flow → returns to previous step without losing email entry source block
Paragraph When user comes from commenting: source block
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime