> For the complete documentation index, see [llms.txt](https://docs.umh.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umh.app/management-console/authentication/email-code.md).

# Email Code

An email code lets you sign in without a password. You enter your email address. Our identity provider emails you a code. You type that code into the sign-in screen.

## Who this applies to

The email code is the default for Community accounts.

Enterprise accounts use a different method. They sign in through the [default connection](/management-console/authentication.md#which-company-you-sign-in-to) their company picked. Without the [single sign-on add-on](/management-console/authentication/enterprise-sso.md), that connection is username and password.

Some older Community accounts still use a username and password. When you enter such an email address, the console sends you to that older login instead. The email code becomes available once we have moved your account across. See [Username and Password](/management-console/authentication/username-and-password.md).

## Signing in

1. Open the Management Console and enter your email address.
2. Choose to receive a code by email. Our identity provider sends an email containing your verification code.
3. Enter the code in the sign-in screen that is still open in your browser.
4. Enter your passphrase. Signing in proves who you are; the passphrase unlocks your access to your instances, and the email code does not replace it. See [Passwords and Passphrases](/management-console/authentication/passwords-and-passphrases.md#why-every-sign-in-asks-for-the-passphrase).

The first time you sign in with an email address that has no account yet, the console asks you to complete your profile before it asks for a passphrase.

## Why we use email codes as our default

* **Only the latest code counts.** Requesting a new code invalidates every earlier one, and a code stops working the moment it has been used. A code copied from an old email is worthless.
* **Codes are short-lived.** A code is valid for a few minutes. If yours has expired, request a new one.
* **Guessing is cut off.** After three wrong entries the code is rejected and a fresh one has to be requested, so a code cannot be brute-forced.
* **The inbox is the credential.** The code goes to the address you entered and nowhere else, so access to the Management Console follows access to your mailbox. If you cannot read that inbox, use another sign-in method.
* **No password to protect.** No password is stored for this method, so there is none to reset and none to leak. If you receive a code you did not request, reply to that email so we can look into it.
* **Your passphrase stays yours.** The email code proves who you are; the passphrase separately unlocks your access to your instances and never leaves your device. See [Passwords and Passphrases](/management-console/authentication/passwords-and-passphrases.md).
* **One session per account.** Signing in on another device signs you out everywhere else, so a stale session cannot linger on a machine you left. See [Sessions](/management-console/authentication/sessions.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.umh.app/management-console/authentication/email-code.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
