# Sign In

JARVIS accepts three sign-in methods. All of them end up on the same JARVIS account.

## Methods

| Method | Available at | Notes |
| --- | --- | --- |
| Email and password | `/login`, `/register` | Password must be at least 8 characters |
| Continue with Google | `/login`, `/register` | Requires a verified Google email |
| Continue with GitHub | `/login`, `/register` | Requires a verified GitHub email |

Sign-in links live at
[jarvis.spacekeep.dev/login](https://jarvis.spacekeep.dev/login) and
[jarvis.spacekeep.dev/register](https://jarvis.spacekeep.dev/register).

## Email and password

Enter your email address and password and submit. The error message is deliberately the same for
an unknown address and a wrong password — **Invalid email or password** — so the form cannot be
used to discover which addresses have accounts.

Repeated attempts from the same address are temporarily throttled. If you hit the limit, wait a
moment and try again rather than retrying repeatedly.

## Continue with Google and Continue with GitHub

Choosing **Continue with Google** or **Continue with GitHub** sends you to that provider to approve
the request, then brings you straight back into JARVIS.

- Only your **verified email address** is used. If the provider does not share a verified address,
  JARVIS cannot link the account and says so.
- JARVIS requests identity information only. It does not ask for access to your repositories,
  files, or any other content.
- No provider token is stored by JARVIS. Only the fact that the provider is linked is kept — see
  [Connections](/jarvis/account/settings/#connections).

### What the buttons can look like after a redirect

| Message | What it means | What to do |
| --- | --- | --- |
| Social sign-in isn't configured yet | That provider is not available on this deployment | Use email and password |
| That sign-in link expired or was already used | The redirect took too long, or was retried | Start the sign-in again |
| You cancelled the sign-in with the provider | You dismissed the provider's screen | Start again when ready |
| The provider didn't complete the sign-in | The provider's screen was closed or errored | Try again, or use email and password |
| The provider didn't share a verified email address | Nothing JARVIS can link to | Add a verified email at the provider, then retry |
| Something went wrong | A temporary failure | Try again |

None of these is a problem with your account, and none requires support.

## Account linking

If you already have a JARVIS account and sign in with Google or GitHub using **the same email
address**, JARVIS links that provider to your existing account. You keep your conversations,
memories, and tasks, and can now sign in either way.

Signing in with a *different* email address creates a separate JARVIS account. There is no merge —
pick the address you want to use.

> [!NOTE]
> JARVIS matches on the verified email address and nothing else. Two accounts with different
> email addresses stay separate no matter which providers they use.

## Signing up

Registration asks for:

| Field | Requirement |
| --- | --- |
| Email | Valid address, up to 254 characters |
| Password | 8–128 characters |
| Confirm password | Must match |
| Display name | Optional, up to 64 characters |

If an account already exists for the address, registration reports that plainly so you can sign in
instead. A welcome email is sent once the account is created.

## Sign out

**Settings → Account → Sign out** ends your session on this device and returns you to the sign-in
page.

To end sessions everywhere, [change your password](/jarvis/account/password/) — that signs out
every device.

## Related

- [Password & Recovery](/jarvis/account/password/) — forgot and reset your password
- [Sessions & API Keys](/jarvis/account/sessions/) — sign-out behaviour and API keys
- [Troubleshooting — Sign-in problems](/jarvis/troubleshooting/#cant-sign-in)
