Overview
{{COMPANY_SHORT_NAME}} authentication is built on Supabase Auth. Day-to-day sign-in is a one-tap magic link sent to your work email. For high-risk actions — rotating an API key, exporting the audit log, refunding a payment over a threshold — we step up to a second factor (TOTP app or SMS one-time code).
Every sign-in, sign-out, MFA challenge, and password reset is written to a tamper-evident audit chain. You can review the last 30 days of your own activity from Settings → Security. Workspace admins see the full chain.
What working correctly looks like
If your account is wired up correctly, you should see all of these. If any one is missing, jump to Troubleshooting.
- Magic-link emails arrive within ~30 seconds at
app.peptideclients.com/sign-in. - Settings → Security shows at least one enrolled factor (TOTP or SMS).
- 10 unused recovery codes are downloaded and stored offline.
- Last 30 days of sign-ins are listed under Settings → Security → Sign-in history.
- High-risk actions (key rotation, refund, audit export) trigger an MFA prompt before completing.
- Signing out from one browser ends that one session; Sign out everywhere ends all of them.
Sign in
The only sign-in URL is https://app.peptideclients.com/sign-in. Bookmark it. We never email a different one.
- Enter your work email.
- Click Send magic link (or Use password if you set one).
- Open the email titled “Your sign-in link” and click the button. The link expires in 15 minutes and is single-use.
- If MFA is enrolled, finish the second-factor challenge.
The invite email lands the same way — click the button, finish a one-time profile screen, and you’re in. The invite token expires after 7 days. Ask the inviter to resend if it does.
Auth modes
Three signal paths can authenticate you. Most operators only ever use the first.
- Magic link (email) — default. Works without a password. The link is bound to the device that requested it.
- Password — optional. Set one in Settings → Security → Password if you prefer typing one over waiting for email. Minimum 12 characters; we check against the breach corpus.
- SMS one-time code — not a primary sign-in path. Used as a step-up factor for high-risk actions and as a recovery channel if you opt-in.
Enroll MFA
Go to Settings → Security → Multi-factor.
TOTP authenticator app (recommended)
- Click Add factor → Authenticator app.
- Scan the QR code with 1Password, Authy, Google Authenticator, or any RFC 6238 client.
- Type the current 6-digit code to confirm enrollment.
- Name the factor (e.g. “1Password — work laptop”) so you can tell two devices apart.
SMS factor
- Click Add factor → SMS.
- Enter your mobile number in E.164 format (
+15551234567). - Type the code we text you to confirm.
SMS is susceptible to SIM-swap. Enroll TOTP as factor #1 and SMS only as a fallback. Workspace admins can require TOTP as the primary factor org-wide.
Recovery codes
The moment you finish enrolling your first factor, we generate 10 single-use recovery codes. Each looks like RC-XXXX-XXXX-XXXX.
- Click Download codes. We hand you a
.txtfile once; the plaintext never lives on our servers. - Print the page or store it in your password manager. Treat it like a private key.
- Each code unlocks a sign-in exactly once. After 8 of 10 are consumed, we automatically prompt you to regenerate the set.
If you suspect the codes leaked, click Regenerate codes in Settings → Security. The old set is invalidated immediately and a fresh 10 are issued.
Active sessions
Every browser / mobile device that has signed in shows up under Settings → Security → Active sessions: device, browser, IP city, last seen.
- Sign out next to a row ends that session immediately. The next request from that browser drops to the sign-in screen.
- Sign out everywhere at the bottom revokes all sessions including your current one. Use it the moment you suspect a leaked link.
- Sessions auto-expire after 30 days of inactivity.
Sign-in audit log
Your last 30 days of authentication events live at Settings → Security → Sign-in history. Each row records:
event—sign_in,sign_out,mfa_challenge,mfa_success,mfa_failed,password_reset,recovery_code_used.at— UTC timestamp of the event.ip+city— coarse geolocation of the requesting IP.device— user-agent fingerprint.method—magic_link,password,totp,sms_otp, orrecovery_code.
The full chain (forever, all users in your workspace) lives in the workspace audit log for admins.
Lost your second factor
You have two paths.
- Use a recovery code. On the MFA prompt, click “Use a recovery code instead”, paste one of the 10 you downloaded. You sign in immediately. Re-enroll a fresh factor on the next screen.
- Email {{CONTACT_EMAIL}} with photo ID. Use this if recovery codes are also lost. Send a photo of a government-issued ID matching the name on the account, plus the workspace name. We’ll verify with another admin in your workspace and reset MFA within one business day. There is no automated bypass.
{{COMPANY_SHORT_NAME}} support will never ask you to read out a recovery code, magic-link URL, or password. Anyone who does is not us. Forward the message to {{CONTACT_EMAIL}} and we’ll handle it.
Settings & permissions
Account-level settings are at Settings → Security. Workspace-wide policies are at Settings → Workspace → Security (admin-only):
- Require MFA org-wide — new members must enroll a factor before reaching any other screen.
- Allowed factors — allow / disallow SMS as a factor type.
- Session lifetime — default 30 days; can be tightened to 24 hours.
- IP allowlist — CIDR-restrict sign-ins (paid tiers).
Removing a teammate from Settings → Team revokes all their active sessions within seconds.
Troubleshooting
Most sign-in problems fall into one of these buckets.
| Symptom | Likely cause | Fix |
|---|---|---|
| Magic link never arrived | Email greylisted or in Spam | Whitelist noreply@peptideclients.com; check Spam; click Resend. See Can’t sign in. |
| “Link expired” | Magic link is >15 min old or already used | Request a fresh one. |
| “Invalid code” (TOTP) | Phone clock drift | Sync time on the phone; codes are time-based. |
| SMS code never arrives | Carrier filter or wrong number | Use TOTP or a recovery code; fix the number under Settings → Security. |
| “MFA required” on every page | Workspace policy enforces step-up for that action | Finish the prompt; the step-up unlocks for ~15 min. |
| Locked out, no recovery codes | — | Email {{CONTACT_EMAIL}} with photo ID. |
The full symptom-to-fix table lives at Troubleshooting → Can’t sign in.
Related
- Team & roles — inviting teammates, scoping permissions, removing access.
- Audit log — the tamper-evident record of every sign-in and sensitive action.
- Troubleshooting → Can’t sign in — the full symptom-to-fix table.
- Multi-store workspaces — how the workspace owns the sign-in policy across stores.