Dynamic link verification
Use your backend to mint a short-lived hosted link that opens the Sentinel verification portal for a specific customer. Your frontend opens that link, the customer completes liveness, document capture, and review on the portal, and status changes come back to you by webhook or polling. Your client secret never reaches the browser.
Architecture at a glance
Four actors are involved.
- Your backend holds
clientUuidandclientSecret, callsPOST /clients/encrypt/url, and forwards the returned URL to your frontend. - Your frontend receives the URL and opens it. It never sees the secret.
- Sentinel validates your credentials, encrypts the payload, and serves the portal, the status endpoints, and webhook delivery.
- The hosted portal is the verification flow the customer actually uses, themed for your tenant.
Create the link
Mint the link from your backend so clientSecret never touches the browser. Send a POST with your credentials and, optionally, the customer's contact details and a document scope.
Example request:
Response (200):
Documents
The optional documents array restricts which identity documents the customer can upload.
passport: only passport upload is offered.emiratesId: only Emirates ID upload is offered.egyptNationalId: accepted by the API, but the portal does not render it yet.
Combinations are allowed, for example ["passport", "emiratesId"]. Omitting the field is equivalent to passing both passport and Emirates ID. You can also set a default document scope from your dashboard, so this field is optional for most integrations.
Wire up the flow
Expose a thin endpoint on your backend that calls Sentinel, then have your frontend call that endpoint and open the returned URL.
Your backend mints the URL on demand:
Your frontend calls your backend, then opens the returned URL:
Redirect after success
To send the customer somewhere after they finish, append &redirectUrl= with an absolute HTTPS URL to the link your backend returned:
On success, the portal shows a brief confirmation, then performs a full-page navigation to your URL.
Per-client settings
The portal reads several settings on load and adapts. Some come from the encrypt request, others from your client configuration.
Default documents and modifiable identifiers are managed from your dashboard. Brand theme colors are not yet self-serve, so contact the Sentinel team to set them for your tenant.
Notes
clientSecretis server-side only. Never embed it in frontend code, mobile app bundles, or query strings.- The theme comes from your client configuration. Do not assume a fixed palette.
- Use the returned URL verbatim. The host can differ per client.