Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions dashboard/session-security.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: "Session security"
description: "Configure dashboard session timeouts, maximum session lifetime, and an IP allowlist to enforce stricter authentication and network access policies."
keywords: ["session", "timeout", "authentication", "security", "SSO", "IP allowlist"]
---

<Info>
Session security settings are available on [Enterprise plans](https://mintlify.com/pricing?ref=session-security).
</Info>

Enterprise admins can require dashboard users to reauthenticate on a schedule that fits your organization's security policies. Two independent controls determine when a dashboard session ends:

Check warning on line 11 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L11

Did you really mean 'reauthenticate'?

- **Idle session timeout**: How long a session can remain inactive before the user is signed out.

Check warning on line 13 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L13

In general, use active voice instead of passive voice ('is signed').
- **Maximum session lifetime**: The absolute lifetime of a session, regardless of activity. When exceeded, the user is signed out and must reauthenticate.

Check warning on line 14 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L14

In general, use active voice instead of passive voice ('is signed').

Check warning on line 14 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L14

Did you really mean 'reauthenticate'?

Each setting has its own enable toggle. If a setting is disabled, Mintlify's default applies. Both settings accept values between **5 minutes and 14 days** (20,160 minutes).

Check warning on line 16 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L16

In general, use active voice instead of passive voice ('is disabled').

## Configure session lifetimes

To review or change session lifetimes, go to the **Policies** tab of the [Identity & access](https://app.mintlify.com/settings/organization/access?tab=policies) page in your dashboard.

For each setting, use the toggle to enable or disable it, enter a value, choose a unit (minutes, hours, days, or weeks for maximum lifetime; minutes, hours, or days for idle timeout), and select **Save**. Disabling a setting and saving clears it so Mintlify's default takes over.

Check warning on line 22 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L22

Use semicolons judiciously.

### Idle session timeout

The idle session timeout controls how long a session can remain inactive before it expires. Any dashboard request from the user resets the idle timer.

Use a shorter idle timeout to reduce the risk of unattended sessions being used by someone other than the signed-in user, for example on shared or unlocked devices.

Check warning on line 28 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L28

In general, use active voice instead of passive voice ('being used').

### Maximum session lifetime

The maximum session lifetime is the absolute cap on how long a single sign-in can last. It is measured from the moment the user signed in and is not extended by activity. When the maximum lifetime is reached, the user is signed out even if they are actively using the dashboard.

Check warning on line 32 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L32

In general, use active voice instead of passive voice ('is measured').

Check warning on line 32 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L32

In general, use active voice instead of passive voice ('is reached').

Check warning on line 32 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L32

In general, use active voice instead of passive voice ('is signed').

Use a maximum lifetime to guarantee that users reauthenticate on a regular cadence, which can help you meet compliance requirements or revalidate access after identity provider changes.

Check warning on line 34 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L34

Did you really mean 'reauthenticate'?

## How the settings interact

The two settings apply independently. A user's session ends at whichever limit is reached first:

Check warning on line 38 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L38

In general, use active voice instead of passive voice ('is reached').

- If the user is inactive for longer than the **idle session timeout**, the session ends.
- If the **maximum session lifetime** elapses since sign-in, the session ends even if the user is active.

For example, if you set the idle timeout to 1 hour and the maximum lifetime to 8 hours, an actively working user is signed out after 8 hours, and an idle user is signed out after 1 hour.

Check warning on line 43 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L43

In general, use active voice instead of passive voice ('is signed').

Check warning on line 43 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L43

In general, use active voice instead of passive voice ('is signed').

## Restrict dashboard access by IP

Use the IP allowlist to restrict dashboard access to a set of trusted networks. When the allowlist has one or more entries, only requests from those IPs or ranges can sign in to or use the dashboard. When the allowlist is empty, the dashboard is accessible from any IP address.

Check warning on line 47 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L47

Did you really mean 'IPs'?

<Warning>
If your current IP address is not on the allowlist, you can lock yourself out of the dashboard. Confirm your IP is included before saving.

Check warning on line 50 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L50

In general, use active voice instead of passive voice ('is included').
</Warning>

To configure the allowlist, go to the **Policies** tab of the [Identity & access](https://app.mintlify.com/settings/organization/access?tab=policies) page in your dashboard.

- **Add an entry**: Enter an IPv4 or IPv6 address, or a CIDR range (for example, `203.0.113.7` or `10.0.0.0/8`), then select **Add**. Adding the first entry enables the allowlist.
- **Remove an entry**: Select the **×** on any entry. Removing the last entry disables the allowlist.
- **Check your IP**: Your current IP address is shown below the entry list so you can confirm it is covered before saving changes.

Check warning on line 57 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L57

In general, use active voice instead of passive voice ('is shown').

Check warning on line 57 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L57

In general, use active voice instead of passive voice ('is covered').

The status badge next to **IP allowlist** shows **Active** when at least one entry is present and **Disabled** when the list is empty.

## Audit logging

Changes to session security settings are recorded in your organization's [audit logs](/dashboard/audit-logs) under the `org` category. Look for these actions to review who updated the settings and when:

Check warning on line 63 in dashboard/session-security.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

dashboard/session-security.mdx#L63

In general, use active voice instead of passive voice ('are recorded').

- `org.session_security_session_duration_updated`
- `org.session_security_session_duration_deleted`
- `org.session_security_max_session_lifetime_updated`
- `org.session_security_max_session_lifetime_deleted`
- `org.session_security_ip_allowlist_updated`
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
"group": "Dashboard access",
"pages": [
"dashboard/sso",
"dashboard/session-security",
"dashboard/network-access",
"dashboard/scim",
"dashboard/permissions",
Expand Down