Panel

Accounts that are actually gated

Keyguard signup is gated: Cloudflare Turnstile, then a 6-digit email code. The account is not created until the code is correct.

Create account

  1. Username, email, password (min 8).
  2. Cloudflare Turnstile (when site/secret keys are set on the server).
  3. We email a 6-digit code (10 minutes, 5 tries, resend 1/min).
  4. Verify at /register/verify/. Then you get a JWT and land in the panel.

Sign in

Owner uses email + password. Reseller uses the username/password you issued under Resellers. Both go through Turnstile when it is configured.

Operator env

TURNSTILE_SITE_KEY=
TURNSTILE_SECRET=
TURNSTILE_HOSTNAMES=keyguard.live,www.keyguard.live
RESEND_API_KEY=          # or SMTP_HOST / SMTP_USER / SMTP_PASSWORD
MAIL_FROM=Keyguard <noreply@keyguard.live>

If email is not configured, register returns 503 instead of creating a half-account. If Turnstile is not configured, the widget is hidden and the server does not require a token.