ManagedQA PartnersSee plans

Category 3 of 10

Auth and sessions

Identity is checked on the server for every protected route and mutation; login surfaces resist abuse.

v1.0 · verified on 2026-09-21

The browser is not a boundary. These items call routes and actions directly, out of order and without cookies.

AU-01

Every protected route verifies the session server-side

automated Request every route marked protected without cookies and with an expired session.

Pass when

Every protected route returns 401, 403 or a redirect to login; none returns protected content.

critical
starter, growth, scale
AU-02

Server actions and API mutations re-check authentication and authorization

automated Invoke each server action or mutation endpoint directly by POST, without a session and with another user's session.

Pass when

Every mutation rejects the unauthenticated call and the foreign-user call.

critical
starter, growth, scale
AU-03

Auth endpoints cannot be used out of order

manual Call register, verify, reset and invite endpoints out of sequence and with ids or tokens taken from public files.

Pass when

No endpoint creates a verified account or resets a credential without the intended prior step.

critical
starter, growth, scale
AU-04

Login and code-entry endpoints are rate-limited with a lockout rule

automated Send 20 failed attempts within 60 seconds to login, OTP and password reset.

Pass when

Attempts are refused before the 20th, and the refusal is logged with the account or address.

high
starter, growth, scale
AU-05

State-changing requests are protected against cross-site request forgery

automated Submit a state-changing request from a page on another origin with the victim's cookies present.

Pass when

The request is rejected (origin check, SameSite cookie or token) for every tested mutation.

high
starter, growth, scale
AU-06

Sessions end on logout and on password change

manual Keep a second browser signed in; log out and change the password in the first; retry a protected request in the second.

Pass when

The second browser is signed out after both events.

high
starter, growth, scale
AU-07

User-supplied content renders inert

automated Submit script, event-handler and URL payloads through every free-text field and view every screen that displays them.

Pass when

No payload executes on any screen; content displays as text.

high
starter, growth, scale

Dots: Starter, Growth, Scale. Compare plan limits.

Failure patterns these items catch

Ask which plan runs these items

Email with your team size, cadence and stacks. We reply within 24 hours on business days.

Other categories