SSO lets your organization authenticate DataRecs users through your corporate Identity Provider instead of the default email/password flow. Once enabled, user lifecycle management — creation, profile updates, deactivation — can be handled automatically via SCIM provisioning.
Authentication: Users log in via your IdP instead of email/password. The DataRecs login page redirects to your IdP’s authorization endpoint.
User lifecycle: If SCIM is configured, your IdP manages user creation, profile updates, and deactivation. Manual user management in DataRecs still works alongside SCIM.
Break-glass admins: Designated owner/admin accounts retain access to the legacy login path, ensuring you can always reach the platform even if the IdP is down.
Existing data: Roles, permissions, workspaces, jobs, and all other data are unaffected. Nothing is deleted or modified during migration.
OIDC Authorization Code Flow with PKCE — the authorization code is exchanged for tokens using a code verifier, preventing interception attacks.
SCIM bearer token authentication — tokens follow the format dtrcs-scim:{token_id}:{secret} and are hashed with argon2id before storage. The plaintext is never persisted.
Envelope encryption — all stored SSO credentials (client ID, client secret, issuer URL) are envelope-encrypted using the tenant’s dedicated encryption key in HashiCorp Vault.
Ephemeral OIDC state — state, nonce, and code_verifier parameters are stored in NATS KV with a 5-minute TTL and deleted immediately after use.
SCIM (System for Cross-domain Identity Management) automates user lifecycle management between your IdP and DataRecs. When configured, your IdP pushes changes to DataRecs in real time:
User creation — new IdP users are automatically provisioned in DataRecs.
Profile updates — name and email changes sync automatically.
Deactivation — disabled or removed IdP users are deactivated in DataRecs.
Group management — IdP group memberships sync to DataRecs groups.
Break-glass administrators can log in via the legacy authentication path even after SSO is enabled. This ensures you can always access the platform if your IdP is unavailable or the SSO connection is misconfigured.
At least one user with the owner or admin role must be designated as a break-glass administrator before migration can proceed.
Once you have an active SSO connection, SCIM provisioning configured (optional), and at least one break-glass admin designated, you can migrate your tenant to SSO authentication.
In the Console, go to Settings → SSO.
The pre-migration checklist shows your current state: active user count, break-glass accounts, and any warnings.
Review the checklist and click Confirm Migration.
The migration runs as a background job that:
Validates preconditions (active SSO connection, break-glass admin exists, current auth mode is workos)
Canonicalises all active user email addresses
Validates no duplicate emails or identity bindings exist
Flips the tenant’s auth_mode from workos to sso
Once complete, all users must log in via the IdP.
Break-glass administrators retain access to the legacy login path at /auth/legacy.
Existing users are not deleted or modified. Roles, permissions, workspace memberships, and all associated data remain intact.
On first SSO login, each user is matched by their canonical email address and linked to their IdP identity (idp_subject). This binding is stored and used for all subsequent logins.
If SCIM is configured, your IdP can push profile updates, provision new users, and manage group memberships going forward.
Existing manually-created groups are unaffected. SCIM-provisioned groups appear alongside them and are tagged with source='scim' for easy identification.
All SSO connection credentials (client_id, client_secret, issuer_url) are envelope-encrypted at rest using the tenant’s dedicated encryption key in HashiCorp Vault.
SCIM bearer tokens are hashed with argon2id before storage. The plaintext token is never persisted.
OIDC state parameters (state, nonce, code_verifier) are stored in NATS KV with a 5-minute TTL and deleted immediately after use to prevent replay attacks.
ID tokens are verified using the IdP’s JWKS (JSON Web Key Set) public keys, with automatic key rotation support.
The email domain is deterministically encrypted for lookup, preventing cross-tenant data leakage.
All SSO and SCIM operations emit audit events for compliance tracking.