Skip to main content
Your fraud detection platform already assigns risk scores to user actions. When that score crosses a threshold — an unusual login location, a device change, or a spending spike — you need to verify the user is who they claim to be without blocking legitimate activity. FaceSign provides a real-time step-up that integrates with any risk engine.
Post-login step-up, not login MFA — This pattern assumes the user is already authenticated. FaceSign verifies identity after your anomaly detection system flags an in-session action as suspicious. It is not a replacement for login authentication.

How it works

  1. Your fraud engine (Silverfort, Alloy, Sardine, or custom rules) evaluates a user action and returns a risk score.
  2. If the score exceeds your threshold, your backend creates a FaceSign session.
  3. You embed clientSecret.url as an iframe src inside your app — the step-up runs inline on your domain, keeping the user in your product. Redirecting the user to the hosted URL is the fallback when an iframe can’t be used (e.g., strict parent-frame CSP, native mobile wrappers without a webview).
  4. FaceSign runs liveness detection and an AI conversation to confirm the user’s intent.
  5. Your webhook handler receives the result and feeds it back to your risk engine for the final decision.

Integration architecture


Build the integration

1

Define the trigger logic

Intercept user actions and check the risk score before allowing them to proceed. This pseudocode works with any risk engine that returns a numeric score.
middleware/risk-check.js
2

Create the FaceSign session

When the risk threshold is exceeded, create a verification session with liveness detection and a conversation node that describes the flagged action to the user.
services/step-up.js
3

Handle the webhook and update your risk engine

When the session completes, feed the FaceSign result back to your fraud engine so it can update its risk model.
api/webhooks/facesign.js

Risk engine integration patterns

How you integrate depends on your fraud detection platform:

Choosing the right flow nodes

Every step-up flow starts with a short greeting conversation (so the camera has enough video for liveness) and ends with a closing conversation — these are required regardless of tier. What varies between tiers is what sits between them: videoAIAnalysisEnabled can be left on for all tiers — the example flow sets it to true — but it’s most valuable at the critical tier where the extra analysis cost is easily justified.

Troubleshooting


Next Steps

Wire Transfer Authorization

Dedicated step-up flow for high-value wire transfers

Payment Authentication

Use FaceSign for payment step-up as a 3D Secure alternative

Webhooks

Full webhook event reference and best practices