> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# User Session Expiration Cleanup

> Rotina que encerra sessões expiradas ou inativas

User Session Expiration Cleanup é a rotina periódica que revoga sessões que já não podem ser usadas por expiração ou inatividade.

## Objetivo

A rotina mantém o estado persistido de [UserSession](/data-modelling/identity/user-session) alinhado com as regras de segurança do produto.

## Execução

Ao rodar, a rotina:

1. Busca sessões com `status = ACTIVE`.
2. Identifica sessões com `refreshExpiresAt` vencido.
3. Identifica sessões com `inactivityExpiresAt` vencido, quando preenchido.
4. Atualiza a sessão para `REVOKED`, preenchendo `revokedAt` e `revokedReason`.

## Regras

| Regra             | Comportamento                                                 |
| ----------------- | ------------------------------------------------------------- |
| Status persistido | `EXPIRED` não é status persistido em UserSession.             |
| Revogação         | Sessões expiradas são encerradas usando `status = REVOKED`.   |
| Inatividade       | `inactivityExpiresAt` só participa quando estiver preenchido. |
| Auditoria         | Revogação automática usa motivo técnico em `revokedReason`.   |
| Idempotência      | Sessões já revogadas não são processadas novamente.           |
