SeaMeet Desktop is here — Record everything, miss nothing. Download free →

Signing In

Chapter 2: Signing In

Sign-in matters less than it used to. You can record on app.seameet.ai without an account — the launchpad opens a guest session automatically — and sign in when you want your recording to sync to a library. But full features require a real account, so this chapter covers both.

Two ways to sign in

Google (OAuth). Click Continue with Google, pick your Google account, done. Recommended if you signed up with Google or use SeaMeet in a Google-Workspace-provisioned organisation.

Email magic link. Enter your email, click the button in your inbox, done. Useful without Google, or on a device where you don't want to sign into your Google account. The link expires quickly — request a new one if it's older than a few minutes.

Both flows land at app.seameet.ai/auth/callback, which briefly shows a spinner while the client exchanges the auth code for a session, then routes you onward based on the entitlement gate.

The guest recording flow — signing in later

Unique to the web app: you can record before signing in. Visiting app.seameet.ai/record (or any /record/<app> page) hands you the recorder immediately, backed by an anonymous Supabase session. When you Stop:

  • Signed in during the recording? The recording uploads to your library automatically.
  • Still anonymous? The Anon-Stop modal appears, offering three paths: sign in and upload, download the audio to your device, or discard.

Signing in from the Anon-Stop modal preserves the recording — it uploads to your new library as your first recording. This is the intended growth funnel: try before you sign up. See Chapter 6.

The entitlement gate — what it is and why it exists

Every time your session lands on a full-app page, the client asks the sync-api backend one question: "what is this user allowed to see?" The server responds with one of:

  • Entitled. You're paid up (Sync Pro or team member with an active seat) and see the full app.
  • No plan / free. You get the free-tier library — visible, but capped in size and with reveal windows on transcripts.
  • Subscription expired. You had Sync Pro; it lapsed. The gate directs you to renew.
  • Account disabled. Something is wrong at the account level. The gate directs you to support.
  • Anonymous. No account. The home dispatcher gives you the recorder launchpad instead of routing to a gate.

The server is the only source of truth. There is no client-side plan check that a user could manipulate to unlock a feature. The pricing page is where every upgrade path points, because that page shows the comparison table before checkout.

The gate pages

If the gate returns anything other than "entitled" or "anonymous" for a full-app request, you see one of these instead of the library:

  • Sync Pro required. You're free tier and asked for a Sync Pro-only feature. Primary CTA: See Pricing.
  • Subscription expired. Your Stripe subscription is no longer active. Primary CTA: Renew.
  • Account disabled. Contact support. Unusual — typical cause is a run of failed payments that exhausted the retry window.

Every gate page shows your email (so you know which account) and a Sign out link (to try a different account).

If someone sent you a share link, the flow is different — you go straight to the recording within the reveal window. Details in Chapter 11.

To save that shared recording into your own library, you'll be prompted to sign in first. This is "guest saves" — the recording appears in your library tagged with who shared it. See Chapter 12.

Silent sign-in and MS SSO

If you last signed in with Microsoft, MSAL attempts a silent SSO on your next visit. During that ~1.2-second check, the home page shows a loading placeholder rather than the recorder launchpad — otherwise you'd see the wrong surface for a second before it re-renders. A watchdog unblocks after a short delay so non-MS users don't wait forever.

Common problems

"I'm signed in but the app keeps showing me the Sync Pro required gate." Two causes: your subscription status hasn't propagated yet (sign out and back in to force a fresh entitlement check), OR you have two accounts — one from Google, one from a magic link with a different email. Check the email on the gate page.

"The magic link doesn't arrive." Check spam. If nothing after two minutes, request a new one. If the second attempt fails, the address may be on a corporate mail server that rejects the sender — try a personal address or Google sign-in.

"The link says invalid or expired." Single-use, time-limited. Request a fresh one.

"I signed in and now can't see the recording I was viewing." Signing in switched you from the share-link view to the full app. Ask the sender to reshare or look for a Save to my library button on the shared page before signing in.

"The app looks fine but says I'm signed out on every action." A stale session on the server. The app used to keep quietly failing; it now returns you to the sign-in screen automatically (shipped in 1.18.0).

Quick Reference

TaskHow
Sign in with GoogleContinue with Google on the sign-in page
Sign in with emailEnter email → click the link in your inbox
Sign outTop-right menu → Sign out
Record before signing inVisit app.seameet.ai/record; sign in from the Anon-Stop modal on Stop
Switch accountsSign out first, then sign in with the other account
Renew an expired subscriptionSync Pro required gate → See Pricing → renew flow

Last updated: 2026-08-28

← Chapter 1: Welcome | Chapter 3: The Browser Recorder →

Published: