Skip to main content
The hosted page at https://app.spoofsense.ai/verify runs the same capture flow as the Web SDK, served from SpoofSense’s origin. Create the session on your backend, then redirect the user to the page or embed it in an iframe — no frontend SDK to install or maintain.
The client token always travels in the URL fragment (#token=…), never a query parameter. Fragments don’t reach servers, so the token never lands in access logs.

Redirect Mode

After creating the session on your backend, build the hosted URL and send the user there:
When the user finishes, SpoofSense redirects them back to your return_url with the following query parameters:
spoofsense_status can also be cancelled or error. The query string is a hint, not proof — always read the authoritative decision server-side using your secret key.

Embed (iframe) Mode

Embed the capture flow directly in your page using an iframe. The allow="camera" attribute is required, or the browser blocks capture inside the frame:
Always verify e.origin before trusting a message. Treat completion as a hint: the decision only counts when your backend reads status: "complete" and decision: "real" with the secret key.

PostMessage Events

The hosted page posts these events to your parent window in iframe mode: capturedFrame rides the message only because &origin= named your page as the target. In redirect mode the image isn’t carried in the redirect — your backend retrieves it from the media endpoint instead.