Skip to content

Domain login policy

View as Markdown

Once your organization holds a verified domain, you can give it a login policy. The policy governs every account that owns a verified email address on that domain, platform-wide — on every application, not just your own. Because you proved DNS control of the domain, Sudomimus treats you as authoritative over how that email namespace signs in.

PolicyEffect on accounts with an email on this domain
ALLOW_ALLNo restriction. This is the default for every verified domain (and what an absent policy means).
BLOCK_ALLEvery login is refused, platform-wide, regardless of method.
SSO_ONLYEvery login must go through a specific federation connector — your IdP. Every other method (passkey, email OTP, consumer OAuth, Steam, native keys) is refused.

SSO_ONLY is covered end-to-end in Sign in with your IdP; the rest of this page focuses on how all three behave.

The policy is an upper gate evaluated at the moment a login is realized, with one important property:

This mirrors how account-level disable works. The gate runs after the account-active check and before the identity (Layer 2) check, so it is genuinely a platform-wide policy, not a per-application rule.

A login the policy refuses is rejected with the wire reason EmailDomainBlocked (for BLOCK_ALL), EmailDomainRequiresSso (for one unsatisfied SSO_ONLY connector), or SsoAuthorityConflict (for distinct connector pins).

  • It governs authentication, not authorization. A login that satisfies SSO_ONLY still has to pass the application’s Layer 2 realize rules and Layer 3 return rules. Authentication ≠ authorization — forcing SSO does not grant access, it only constrains how a user proves who they are.
  • It does not revoke already-issued access tokens in place. An access token that was already minted keeps working until it expires by TTL (3 hours by default). Refresh-token reissuance is different: Session API /refresh and the OIDC refresh-token grant re-check the current domain login policy. BLOCK_ALL, an SSO_ONLY connector change that the session’s original login no longer satisfies, or distinct SSO_ONLY pins deny the next refresh instead of allowing the session to keep rotating for the full refresh TTL.
  • It does not touch the account’s email ownership. Reverting to ALLOW_ALL restores normal access — nothing about the account was deleted.

The login policy is set from the With portal, on the verified domain’s detail page (a Login policy tab). It can only be changed by the sole owner of the organization that owns the domain — if your organization has more than one owner, no single owner can unilaterally change how everyone on the domain signs in.