Protect mid-flow challenges now supported; new needs_protect_check status
@clerk/react@6.12.0
Minor Changes
-
Add support for Clerk Protect mid-flow SDK challenges (
protect_check) on both sign-up and sign-in. (#8329) by @zourzouvillysWhen the Protect antifraud service issues a challenge, responses now carry a
protectCheckfield with{ status, token, sdkUrl, expiresAt?, uiHints? }. Clients resolve the gate by loading the SDK atsdkUrl, executing the challenge, and submitting the resulting proof token viasignUp.submitProtectCheck({ proofToken })orsignIn.submitProtectCheck({ proofToken }). The response may carry a chained challenge, which the SDK resolves iteratively.Sign-in adds a new
'needs_protect_check'value to theSignInStatusunion. Upgrading this package is type-only and does not change runtime behavior: the server returns the new status (and theprotectCheckfield) only for instances where Protect mid-flow challenges have been explicitly enabled — the feature is off by default and is not enabled for existing instances by upgrading. The server additionally only emits the new status value to SDK versions that understand it, so older clients never receive an unknown status.If an exhaustive
switchonsignIn.statusflags the new value after upgrading, handle it by running the challenge described byprotectCheckand submitting the proof viasubmitProtectCheck(). Clients should treat theprotectCheckfield as the authoritative gate signal and fall back to the status value for defense in depth.The pre-built
<SignIn />and<SignUp />components handle the gate automatically by routing to a newprotect-checkroute that runs the challenge SDK and resumes the flow on completion.
Patch Changes
Fetched July 8, 2026

