Skip to content

No concurrent session limit per user #176

Description

@Bccorb

Part of #155. Session 7. Gated on purchasing the GovRAMP Security Snapshot.

Problem

There is no cap on the number of simultaneous active sessions a user may hold.
issueSessionAndRespond (src/services/sessionIssuance.ts)
creates a new session row on every successful authentication and never considers
existing ones.

Why it matters

NIST 800-53 AC-10, concurrent session control. It is a standard question in a
government security review, and for shared-workstation environments (which the
migration runbook targets explicitly) an unbounded session count is also an
operational problem, not only a compliance one.

What to do

  • Add a configurable maximum concurrent sessions per user, defaulting to unlimited
    so existing deployments are unaffected
  • Decide the eviction behaviour: refuse the new session, or revoke the oldest.
    Revoking the oldest is friendlier and is what most products do
  • Emit an auth event when a session is evicted

Acceptance

  • The limit is configurable and off by default
  • Exceeding it behaves per the documented policy and produces an audit event

Freeze status

Anticipated GovRAMP finding (exception 2).

Ripple

@seamless-auth/types SystemConfigSchema gains a key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsecuritySecurity-sensitive: auth, tokens, OTP, sessions, crypto

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions