Operations runbook: For SAML/OIDC/SCIM cutover steps, see SSO & SCIM runbook.
Deployment models
| Model | Control plane | Ingress |
|---|---|---|
| SaaS | app.blekline.com | MCP stdio + /api/ingress/v1/* |
| Private tenant | Customer subdomain or VPC | Same API surface, customer data residency |
| Sidecar | Daytona / k8s pod | packages/ingress-proxy Docker image |
SSO status
| Method | Status | Notes |
|---|---|---|
| Google / LinkedIn OAuth | Shipped | Dashboard login via NextAuth |
| Enterprise OIDC (Okta, Azure AD, Entra) | Shipped (R2) | Generic OIDC when env vars are set |
| SAML SP | Enterprise program | Contact sales for timeline |
| SCIM 2.0 | Shipped (R2) | /api/scim/v2/Users — SCIM bearer from Admin → Security |
Enterprise workspaces integrate IdP at the dashboard layer (NextAuth-compatible OIDC). Invite users by email before first OIDC login — pending invites auto-join the enterprise workspace.
Okta / Azure AD OIDC (dashboard)
- Create an OIDC app in your IdP with redirect URI:
https://app.blekline.com/api/auth/callback/oidc(adjust for your deployment). - Set env on Blekline deployment:
OIDC_ISSUER— IdP issuer URL (no trailing slash)OIDC_CLIENT_IDOIDC_CLIENT_SECRETOIDC_PROVIDER_NAME— optional button label (default:Enterprise SSO)
- Invite users by email in Admin → Members before first login.
- Map
emailclaim to workspace membership on first sign-in (invite required for net-new users). - Use workspace API tokens (
mask:write,events:write) for agent runtimes — separate from human SSO.
SAML roadmap
Planned SAML attributes:
email→ workspace membership mappinggroups→ role (owner/admin/member)tenant_id→ workspace isolation
Until SAML ships, use OIDC above or Google/LinkedIn for pilot tenants.
Agent runtimes use workspace API tokens (mask:write, events:write) — separate from human SSO.
SCIM 2.0 provisioning
- Admin → Security → Issue SCIM token (requires admin 2FA).
- Configure your IdP (Entra, Okta) with:
- Base URL:
https://app.blekline.com/api/scim/v2 - Bearer token:
blw_scim_…(shown once)
- Base URL:
- Map
userName/emails[].valueto workspace email; users join the enterprise workspace on first login. - Deprovision via
active: falseor DELETE — revokes sessions and removes membership.
Rate limit: 30 req/min per token. Optional IP allowlist via workspace settings (roadmap UI).
Policy push
Enclave sidecars subscribe to GET /api/workspace/policy-stream (SSE). On policy events, refresh local allow/deny caches for MCP proxy and ingress sidecars.
Hardening checklist
- Rotate workspace API tokens quarterly
- Set MCP tool denylist for destructive tools (
rm,drop_database, etc.) - Enable ingress block mode (
BLEKLINE_INGRESS_BLOCK_HIGH_RISK=true) - Export audit logs to SIEM (
/api/integrations/siem) - Run Cursor model matrix QA (
demo/cursor/model-matrix.md)
Support
Enterprise leads: /api/enterprise/lead or sales@blekline.com.
Next steps: Architecture · Deployment · Implementation checklist · Open workspace · Report issue