Browser, React, embedded, and hosted
Render an assessment using a token scoped to one participant session—never an app or environment credential.Controller
Pinned consent, next-question state, answer/unknown/decline, pause/resume,
completion, and callbacks.
Embedded renderer
Dependency-free UI mounted in your DOM with your controller and surrounding
brand.
Hosted renderer
A hardened iframe handoff using the server-returned hosted URL and a
fragment token.
React adapter
An external-store hook that keeps rendering separate from the transport
lifecycle.
Embedded journey
Hosted journey
Consent and queue safety
- The controller sends the server-pinned
consent_acceptedevent before any restored or new participant traffic. mountEmbeddedParticipantstarts the controller. Do not callstart()a second time after mounting.- Use
MemoryParticipantQueueStorageby default. Local storage can retain assessment content in clear text and needs an explicit privacy review. - Use an opaque evaluation reference as the queue key—never the participant token, an external ID, or a report token.
skiprecords unknown;declinerecords an explicit refusal. Neither is imputed as a negative answer.- Call
dispose()and destroy the renderer when the host view unmounts.