Settings → Security
The Security page under Settings groups the org-level access controls that decide who can reach your Orbit dashboard and how they authenticate. This guide walks each card on the page — the org-wide IP allowlist, SAML SSO, SCIM provisioning, and operator two-factor authentication — and shows the API calls behind them.Scope map
Four controls live on this page, plus one pointer that lives elsewhere:
The per-key API IP allowlist is a different control: it gates programmatic API authentication per API key, not dashboard access. Reach it under Settings → API keys — see the per-API-key IP allowlist guide.
Org IP allowlist
The org-wide allowlist restricts which source IPs can use the dashboard and the SAML login flow for your org. It applies to session (dashboard) traffic only — programmatic requests authenticated with an API key are governed by each key’s ownallowed_ips list, so you never have to allowlist every CI or SDK egress IP here.
Open Settings → Security → IP Allowlist. Each entry is an IPv4/IPv6 address or a CIDR range with a label. An empty list means unrestricted — every IP can open the dashboard.
Add an entry over the API:
- The server refuses an add or removal that would lock out the IP you are connecting from (
422), so a safe change can’t strand you. - A blocked session request returns
403 IP_NOT_ALLOWEDand is recorded in the audit log. On the SAML login flow the rejection surfaces as a generic unauthorized error rather than a distinct “not allowlisted” code, so an unauthenticated probe can’t enumerate whether an allowlist exists — the same anti-enumeration invariant as the per-key guide’s genericINVALID_API_KEYresponse. - Support can still reach a locked-out org through a logged super-admin override — the override itself lands in your audit log.
GET /api/v1/settings/ip-allowlist; remove one with DELETE /api/v1/settings/ip-allowlist/{id} (returns 204).
SAML SSO
SAML lets your org sign in through your identity provider (Okta, Entra ID, Google Workspace, Keycloak, …) instead of Orbit-managed credentials. Configuration is owner-only, and the endpoint contract is the same whether you enroll from the dashboard card or the API.- Paste your IdP metadata URL into the enrollment form — the page probes it with
POST /api/v1/settings/saml/test-connection, which fetches the metadata, reports whether it’s a valid SAML document, and hints the SSO URL and entity ID it found:
- Save the configuration with
PATCH /api/v1/settings/saml. First-time setup must carry the IdP’s PEM signing certificate (x509Cert); attribute mapping tells Orbit which IdP attributes carry the user’s email and display name:
cert_fingerprint_sha256 — the raw certificate is never readable back.
enabledturns SSO on as an available sign-in method.enforcedmakes SSO the only method — set it only afterenabledworks for your team in production, or you lock out everyone whose IdP flow fails.- Once a certificate is stored, omit
x509Certon subsequent PATCHes — the stored one is retained. - Metadata and SSO URLs are validated to block internal or private addresses (SSRF guard), so
test-connectionreports a clear failure instead of fetching something it shouldn’t.
/auth/saml/* paths listed under Authentication; the /api/v1/settings/saml endpoints above only manage the configuration.
SCIM provisioning
SCIM keeps your Orbit team in sync with your IdP directory: provision users, map groups to roles, deprovision on removal. The Security page links into the SCIM setup surface; the full walkthrough (IdP-side configuration, health checks, sync errors) is in the SCIM provisioning guide. The role assignment defaults worth deciding before you enable sync:
Generate or rotate the SCIM bearer token from Settings → SCIM (
POST /api/v1/settings/scim/generate-token — shown once) and paste it into your IdP. Reads and toggles are on GET / PATCH /api/v1/settings/scim.
Operator 2FA
The two-factor control on this page protects your Orbit operator login (TOTP with backup codes). It is not the Verify product’s end-user factors — TOTP, passkeys, and push factors for your application’s end users are API-only by design; the dashboard 2FA card and the Verify factors are separate systems. See the Verify overview for the end-user factor suite. Disabling 2FA or regenerating backup codes is a step-up operation: prove a fresh credential (password or TOTP code) againstPOST /api/v1/settings/security/2fa/challenge, then replay the single-use challenge token the backend returns. This prevents a stolen session from silently stripping the second factor. Backup codes are shown once on regeneration — store them somewhere durable before closing the dialog.
Audit-log tie
Every change to this surface lands in Settings → Audit log with the actor, the resource, and the operator’s source IP:
Filter the audit log by these action names to reconstruct who changed the org’s security posture and when. See the audit log guide for filtering and export.
See also
- Settings API — endpoint table for SAML, SCIM, and every other Settings surface
- Per-API-key IP allowlist — programmatic API gating per key
- SCIM provisioning — full IdP sync walkthrough
- Verify overview — end-user 2FA factors (separate from operator login)
- Audit log — query and export the trail these controls write