Hosted onsgr-archive.hyper.mediavia theHypermedia Protocol

Document cover

US-3.1 β€”As a returning user, I want to sign in to my existing Hypermedia identity from the browser avatar icon so that I can access my account across any site.

Acceptance Criteria

Avatar icon β€” not signed in state

  • The avatar icon is always visible in the top bar regardless of sign-in state

  • When not signed in the avatar displays as an outlined/dashed circle β€” no photo, no colour

  • Tapping the avatar opens the identity modal β€” no join language appears anywhere in this flow

  • The modal title is "Your Seed identity" not "Join [site]"

Sign in flow

  • The modal offers two options: "Create identity in Hypermedia" and "Already have a Hypermedia identity"

  • A third option "I have an identity from another site?" is available as a quiet link

  • Tapping "Already have a Hypermedia identity" takes user to the email screen inside Seed Hypermedia

  • The email screen headline is "Sign in to [site name]" β€” site context is maintained

  • Email field validates correct format before submission

  • Valid email advances to passkey screen showing "Good to see you again" and the email address

  • Primary action is "Sign in with passkey" using device biometrics or PIN

  • "Use another email" is available to go back

Return to site β€” two outcomes resolved silently

  • On successful sign in the avatar updates immediately β€” shows user photo if set, filled state if not

  • The system checks site membership silently on return β€” no extra screen or prompt

  • If the user has not joined this site β†’ avatar fills, Join button remains visible, no participation access yet

  • If the user has already joined this site β†’ avatar fills, Join button disappears, full participation unlocked immediately

  • No confirmation screen is shown for sign in alone β€” the UI state change is the confirmation

  • A toast alert appears only if the user was already a member: "You're back, [name] β€” you can comment and participate" and auto-dismisses

Basic Flow

  1. User lands on Ethosfera β€” avatar icon is outlined, Join button visible

  2. User taps avatar icon

  3. "Your Seed identity" modal opens β€” no join framing

  4. User taps "Already have a Hypermedia identity"

  5. User enters email linked to their Seed identity

  6. User taps Continue β€” passkey screen appears with "Good to see you again"

  7. User confirms with passkey

  8. Returns to site β€” avatar fills with photo 9a. Not a member β†’ Join button remains, user can tap it separately to join 9b. Already a member β†’ Join button disappears, participation unlocked, toast appears

Edge Cases

Email

  • ⚠️ Invalid email format β†’ inline error: "That doesn't look like a valid email. Check for typos and try again." Button disabled until fixed

  • ⚠️ Email not linked to any Seed identity β†’ "No Seed identity found for this email." with option to create one instead

  • ⚠️ Email belongs to identity from another domain β†’ redirect to "I have an identity from another site?" path

Passkey

  • ⚠️ Passkey fails or is cancelled β†’ returns to passkey screen with retry and "Send a verification code instead" fallback

  • ⚠️ Device doesn't support passkey β†’ verification code fallback offered automatically

  • ⚠️U ser taps "Use another email" β†’ returns to email screen, previous entry cleared

Navigation

  • ⚠️User closes the modal mid-flow β†’ returns to site as guest, no partial state created, avatar remains outlined

  • ⚠️User presses browser back mid-flow β†’ returns to previous step without losing email entry

US-3.2 β€”As a returning user, I want to sign in to my existing Hypermedia identity from the desktop app avatar icon so that I can access my account across any site.

Remove "Vault stored locally" copy

Remove "Vault store locally" textRemove "Vault store locally" text

US-3.3 β€”As a returning user with local key, I want to add my identity to hyper.media so I can use my local keys on the web too.

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime