TECHNOLOGIES: WORKOS

WorkOS Integration Security Review

WorkOS confirms who signed in, not which organisation they should act for. We test that mapping, the domain checks behind it, and how SCIM provisions and removes access. CREST-certified testers, fixed price from £3,180 for a 2-day single-integration scope, quoted within 24 hours.

  • Unlimited retesting
  • Unlimited pre-retesting
  • No hidden fees
Accredited & recognised
Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified Crown Commercial Service supplier UK Cyber Security Council member
CREST
Approved Provider
10
WorkOS Test Areas
FREE
Retest Until Closed
24h
Scope to Active Test
CLIENT REFERENCE
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
SquareOneImran SaghirProject Lead, SquareOneRead the SquareOne case study →
CLIENT REFERENCE
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
CelloriDan WilcocksonFounder, CelloriRead the Cellori case study →
See all case studies →
WHY IT MATTERS
Domain

An email domain looks like proof of which organisation someone belongs to, but WorkOS’s own guidance says it isn’t: check the organisation from the profile WorkOS returns, not from the domain on the address.

The organisation a login belongs to should come from the profile WorkOS verifies, not the email domain it arrived on

WorkOS Single Sign-On connects your application to an organisation’s identity provider over SAML or OIDC without your team building either protocol. After a user authenticates, your callback endpoint exchanges a short-lived authorisation code, valid for ten minutes, for a Profile containing the user’s identity and the organisation they signed in through. WorkOS’s own SSO guide states plainly that its SSO API is authentication middleware and does not manage your user database, and it warns against validating that profile by email domain, since an organisation can allow guest addresses from outside its own domain. The organisation a login is trusted for should come from the profile’s own organisation ID, checked on every callback, not the domain the address happens to carry.

Trusting that organisation ID also depends on the domain behind it actually being verified. WorkOS’s Domain Verification flow has an organisation’s IT contact add a DNS TXT record before WorkOS marks that domain verified and fires an event to tell your application. Until that event lands, a domain a customer typed into a setup form is a claim, not a fact, and any feature that assumes it, such as auto-joining new sign-ups from that domain into an organisation, should wait for it. Every domain belongs to exactly one organisation, so the question that matters is whether your application actually gates SSO and Directory Sync features on a domain’s verified state rather than on the domain simply being present.

The rest of a WorkOS integration carries its own risk. Directory Sync delivers SCIM provisioning and deprovisioning through webhooks as employees are added, updated or removed in the identity provider, so someone leaving the directory only loses access in your application once your handler consumes that event and disables the account. WorkOS signs every webhook with a WorkOS-Signature header built from a timestamp and an HMAC SHA256 hash, and if your endpoint does not answer with a 200 OK it retries the same event up to six times over three days, so a handler that skips verification or reprocesses a retried event is a real path in. Where AuthKit sessions are used, the access token is a JWT carrying org_id, role and permissions claims that should be checked against the JWKS WorkOS publishes for your client ID on every request, not trusted from an unverified token. A WorkOS secret key reaching client-side code or a public repository hands out server-level access under a plain Bearer header.

SCOPE

What we pen test on a WorkOS integration

WO-01

SSO callback and profile handling

Whether the callback endpoint exchanges the authorisation code for a Profile within the ten-minute window WorkOS allows, and whether a Profile is only trusted once that exchange has happened server-side rather than accepted from a client-supplied value.

WO-02

Organisation mapping from the verified profile

Whether the organisation a login is trusted for is read from the Profile’s own organisation ID rather than the email domain on the account, since WorkOS’s own guidance warns that an organisation can allow addresses from outside its corporate domain.

WO-03

Domain verification trust boundary

Whether SSO and Directory Sync features that depend on a customer’s domain wait for WorkOS to mark that domain verified through its DNS TXT record check, rather than treating a domain a customer typed into a setup form as already trustworthy.

WO-04

Directory Sync user provisioning

Whether a new or updated directory user record, including its state, role and custom attributes, is mapped into the correct local account and organisation, and whether a record outside the active state is ever treated as a live user.

WO-05

Deprovisioning on directory removal

Whether removing or deactivating a user in the identity provider actually revokes their access in your application, since deprovisioning depends entirely on your webhook handler consuming that event and disabling the account rather than WorkOS enforcing it for you.

WO-06

Webhook signature verification

Whether the webhook endpoint validates the WorkOS-Signature header’s timestamp and HMAC SHA256 hash on every delivery, rejects a stale or unsigned request, and handles the same event being retried up to six times without double-processing it.

WO-07

Out-of-order and stale event handling

Whether the handler copes with directory events arriving out of sequence, such as a group membership change ahead of the user it references, and checks each record’s own updated timestamp before letting a retried, stale event overwrite newer data.

WO-08

AuthKit session and access token verification

Where AuthKit sessions are used, whether the access token’s signature is verified against WorkOS’s published JWKS on every request and its org_id, role and permissions claims are read only from that verified token rather than trusted unchecked from the client.

WO-09

API key exposure and scope

Whether a WorkOS secret key has reached client-side code, a public repository or a log, and what calling the API with it would actually let an attacker do against your organisations, connections and directories.

WO-10

Application-side access decisions

Whether every route and action re-checks the organisation, role and permissions a session or directory record grants before acting, rather than only using them to decide what the interface shows, so a stale or forged claim cannot reach an action it should not.

OUR PROCESS

WorkOS Integration Security Review: From Scope to Attestation

01

Map the integration

We catalogue every WorkOS touchpoint in scope: SSO connections and organisations, Directory Sync feeds, webhook endpoints, AuthKit session handling and where API keys are used.

02

Provision test organisations and directories

We work from test organisations, SSO connections and directories you provision, covering verified and unverified domains and a spread of directory roles, so every mapping and provisioning check runs against real WorkOS objects.

03

Mapping, domain and webhook exploitation

CREST-certified testers attempt cross-organisation access, domain-trust bypass, provisioning and deprovisioning abuse, and webhook and session tampering.

04

Reporting and retest

Executive summary, technical report with CVSS scores and reproduction steps, a walkthrough call, and a free retest once fixes are in place.

CREDENTIALS

Verified Accreditations Auditors Accept

Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.

GET YOUR QUOTE

Get a CREST WorkOS pen test quote in 24 hours

A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.

  • CREST and IASME accredited. Testing your auditors and clients already recognise.
  • Fast-track testing within 24 hours where required. Free retest of every fix included.
  • Live findings via your client portal, not a four-week PDF.
  • Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
What clients say
There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.
CelloriDan WilcocksonFounder, Cellori

Under NDA Further named references available on a scoping call.

What happens next
  1. We reply within one business day with a fixed-price quote from a named CREST assessor.
  2. You approve the scope and we book a start date, usually within 24 hours.
  3. Live findings land in your client portal as we test, with a free retest of every fix.
Accredited & recognised
CREST member Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified UK Cyber Security Council Crown Commercial Service supplier

Get your fixed pen test quote in 24 hours

⚡24h reply ✓CREST tester ↻Free retests

or book a 20-min scoping call first

We reply within one business day. Your data stays with us. No newsletter signup.

COMPLIANCE READY

Reports Mapped to Every Framework

Findings are written so your team can reference the report against each framework without translation work.

ISO 27001:2022

Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.

SOC 2 Type I & II

CC6 logical access, CC7 system operations, CC8 change management evidence.

PCI DSS

Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.

FCA SYSC

SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.

UK GDPR

Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.

Cyber Essentials Plus

Direct certification through our IASME body status, single-vendor delivery.

PRICING

Transparent WorkOS Integration Security Review Pricing

Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.

✦ ALWAYS · ON EVERY TIER · NO EXCEPTIONS ✦
✓Free retests, no time limit
✓Free rescheduling
✓No cancellation fees
✓24-hour scope to active testing
✓Live findings to client portal
✓Executive + technical report
✓60-min walkthrough call
✓Letter of attestation
SMALL / SMB
£3,180–£4,670
2 to 3 testing days

Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.

Get a fixed quote
ENTERPRISE
£7,470–£11,380
5 to 7 testing days

Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.

Get a fixed quote

Full UK pen test cost guide

WHY EJN LABS

What You Get From WorkOS Integration Security Review

Six concrete differentiators competitors don’t all match.

CREST-Certified Testers, Verifiable

Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.

24-Hour Startup, Where Required

From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.

Live Findings, Not 4-Week PDFs

Critical issues reported during testing through your client portal. Your team remediates while testing continues.

Audit-Ready Reports

Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).

Free Retests, Standard

Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.

UK-Based CREST Testers

Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.

FAQ

Frequently Asked

What access do you need to test our WorkOS integration?

A test organisation with an SSO connection configured against a mock or your own identity provider, a directory we can point Directory Sync at, and either read access to your webhook and session-handling code or a staging endpoint we can direct WorkOS’s events to. We do not need your production WorkOS secret key.

Will this touch our live user data or production WorkOS environment?

No. Testing runs against a staging or dedicated test WorkOS environment, test organisations and test directories you provision for us. If a shared environment cannot be avoided, we scope the engagement to test accounts only and agree data-handling rules with you before testing starts.

Are you testing WorkOS itself?

No. We test your integration: how your application maps a WorkOS profile to a local user and organisation, verifies domains, consumes Directory Sync events, handles webhooks and sessions, and protects your API keys. WorkOS’s own hosted infrastructure and identity provider connections are out of scope, and we confirm WorkOS’s current customer-testing terms during scoping if an engagement needs to touch anything WorkOS-hosted.

How long does a WorkOS integration test take?

A single-integration scope like this one starts at 2 testing days, with results delivered around 5 working days after kickoff. Multiple organisations, several SSO connections or an extensive directory and role setup take longer; we confirm exact days once we see your configuration.

What is out of scope?

WorkOS’s hosted Admin Portal, its identity provider connections themselves, and its underlying SSO and Directory Sync infrastructure are out of scope. We focus on how your application handles the profiles, domains, directory events, webhooks, sessions and API keys WorkOS gives it.

Do you need our WorkOS secret key?

No. We work with a secret key for a dedicated test environment that you provision. Your production secret key authenticates every API call as your application, so it should never be shared with a third party, including us.

We use Directory Sync with a large or unusual role and attribute setup. Can you still test it?

Yes. We map the directory groups, custom attributes and roles configured for your test directory, and test how each is provisioned, updated and removed in your application, beyond a single default role.

Do you test our webhook endpoint specifically?

Yes. We check that it verifies the WorkOS-Signature header on every request, rejects unsigned or stale deliveries, and handles duplicate or out-of-order events safely, since WorkOS retries failed webhook delivery and does not guarantee delivery order.

EXPLORE EVERY SERVICE

20+ CREST-accredited testing services in one place

Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.

Penetration testing services
READY TO START

Get a fixed price for your WorkOS integration

WorkOS confirms who signed in, not which organisation they should act for. We test that mapping, the domain checks behind it, and how SCIM provisions and removes access. CREST-certified testers, fixed price from £3,180 for a 2-day single-integration scope, quoted within 24 hours.