> For the complete documentation index, see [llms.txt](https://docs.middle.app/middle-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.middle.app/middle-docs/user-access/multi-factor-authentication.md).

# Multi-factor authentication

Middle supports [time-based one-time passwords](https://en.wikipedia.org/wiki/Time-based_one-time_password) (TOTP) for multi-factor authentication (MFA).&#x20;

{% hint style="danger" %}
Other forms of second factor authentication, such as text messages, are not currently supported.
{% endhint %}

## MFA installation-wide settings

All users are encouraged to set up an authenticator when they log in.

Organization owners can **require** **authenticators** in *Organization Settings*.&#x20;

To configure these settings, navigate to *Settings* in the top navbar, then on that page find the *Security* section, then *Require multi-factor authentication (MFA)*.

To require authenticators for...

* ...all users, choose "Always required"
* ...only owners, choose "Required for all owners"
* ...owners and users with 'write' privileges, choose "Required for all writers"
* ...no one, choose "Never required"

## Setting up MFA

Users can also set up a new authenticator or manage an existing authenticator:

* Navigate the User Settings page:
  * Find "*My Session*" in the top navigation bar and navigate to the "*User settings*" submenu item.
* Within User Settings, find the *Authenticator* section
  * If an authenticator is already configured, it can be removed (if allowed by MFA installation-wide settings) or changed to a new authenticator
  * If an authenticator is not configured, one can be added.

Consider consulting with your organization for recommendations on what authenticator to use:

{% hint style="info" %}
Middle is compatible with any authenticator using the TOTP prototocol, including Google Authenticator, Microsoft Authenticator and 1Password. Using 1Password is recommended due to its ease of use.
{% endhint %}

Remember to copy your recovery codes just in case you lose access to your authenticator.

{% hint style="warning" %}
Save your recovery codes in safe, secure place. If you lose access to your authenticator, you can use a recovery code to log in again and set up a new authenticator.
{% endhint %}

### Logging in with an authenticator

If you've set up an authenticator, after logging in you'll see this screen.

<figure><img src="/files/AXEi3WQvr4opArb9vVxg" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
With 1Password, a configured authenticator will auto-fill, making for a seamless login experience.
{% endhint %}

### Using recovery codes

If you aren't able to log in with your authenticator (perhaps due to a lost or temporarily misplaced authenticator or other issue), you can use a recovery code by clicking the "use a recovery code" link.

<figure><img src="/files/9hklos3UNjiV3b9equEa" alt="" width="375"><figcaption></figcaption></figure>

Enter one of the recovery codes you saved when setting up an authenticator. That recovery code cannot be used again.

If you've lost your authenticator, we recommend you disconnect the current authenticator and set up a new one.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.middle.app/middle-docs/user-access/multi-factor-authentication.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
