Skip to content
TDACorpIDENTITYSign in

Session lifetimes

How long a session lasts by default, how an organization can change that within limits, and the lifetimes of the other short-lived things around sign-in.

On this page

A session has two limits. Both are enforced on identity's servers, not by the browser.

LimitDefaultWhat it means
Idle12 hoursThe session ends if it is not used for this long. Each use pushes the deadline out.
Absolute14 daysThe session ends this long after sign-in, however active it has been.

These are the numbers every session gets unless the organization it was created for sets its own. The Security practices page states the same defaults. An operator can lower these platform defaults within fixed ranges, never raise them.

How the idle limit slides#

The idle limit counts from your last activity, not from sign-in. A request to identity moves the idle deadline to "now plus the idle limit", and the deadline is capped at the absolute limit. Identity records activity at most once a minute for a session, which is far below the shortest idle limit allowed.

The absolute limit never moves. After 14 days a session ends, and you sign in again.

What an organization can change#

An organization can set its own idle and absolute limits, and a cap on concurrent sessions. The platform keeps each value inside a range, so an organization can shorten sessions a lot or lengthen them a little, but not without limit.

SettingAllowed rangeDefault
Idle limit5 minutes to 24 hours12 hours
Absolute limit1 hour to 30 days14 days
Concurrent sessions1 to 100No limit

Organizations can sit inside other organizations. A child organization inherits its parent's settings and can only tighten them, never loosen them.

Two rules follow from how the settings are read.

  • It applies at sign-in. The limits are read when the session is created, for a sign-in scoped to the organization. A change an organization makes later affects new sessions only. A person who signed in without choosing an organization gets the platform defaults.
  • A stricter organization is enforced when an application asks. When an application sends someone to sign in to an organization whose absolute limit is shorter than 14 days, a session older than that limit is asked to sign in again. If the organization's idle limit is shorter than 12 hours, a session that has been idle longer than that is asked to sign in again. A session opened under looser rules therefore cannot outlast a stricter organization's limits. An organization on the platform defaults adds no extra check.

You can see when a session ends. The Expires column on the Sessions page is the absolute end of the session. See Sessions and devices.

Keep me signed in on this device#

Where it is available, the sign-in page shows a box labelled Keep me signed in on this device, with the hint Only on a device you control. Ticking it asks for a longer session. Three things limit it:

  • It is available only where the deployment offers it.
  • It can only lengthen a session on the platform defaults. It is refused for an organization that has chosen shorter limits than the defaults, and for one that requires assurance level 2 or higher.
  • An organization's own limits still have the last word.
  • It is never offered for a sign-in that used the lost-passkey emailed code, or for a limited session opened with Continue with my password only (limited session).

Lifetimes of the things around a session#

A session is one part of sign-in. These are the others, so you can tell which clock is running.

WhatHow long
A sign-in in progress10 minutes
An emailed sign-in link or code15 minutes by default, single use
An emailed verification code for a new address24 hours
An account recovery link15 minutes, single use; an operator can shorten it to as little as 5 minutes
A held recovery before it can finish24 hours by default; an operator can lengthen it to at most 72 hours
An invitation7 days by default (the platform operator can change it), single use
The "Was this you?" link in a new-device alert7 days
A pushed authorization request, and an authorization code60 seconds each, single use
An access tokenAt most 15 minutes
A refresh tokenBound by the session's absolute limit; see Sessions and tokens
The remembered organization on a browser (a hint cookie)1 year by default; the operator can set it from 1 to 400 days. See Cookies
A step-up confirmation10 minutes by default; see Step-up

A refresh token's absolute expiry never goes past the session's absolute limit, and a refresh is refused once the session has ended. A shorter session therefore shortens everything that depends on it.

Verified against commit ca26dec