Dashboard
One identity verification dashboard for keys, usage and results.
See this month's usage, manage sandbox and live API keys, check billing, and read every verification result exactly as your team will. In English or French.
- Sandbox and live keys, kept apart
- Every result as per-check verdicts
- English and French, end to end
In the portal
Everything a KYC portal should show you, in one place.
The customer portal is where your team lives day to day: not a raw log of API calls, but usage, keys, billing and results laid out for a person to read.
Plan and subscription
API keys
Usage history
Billing and invoices
Branding, on qualifying plans
Sign-in
Locked down the way a KYC portal should be.
This is a portal your compliance lead signs into, so the sign-in itself gets the same care as the checks behind it.
- Passwords are hashed, never stored in plain text.
- Eight failed sign-ins lock the account for fifteen minutes, so a guessing script gets nowhere.
- A session is a random token; only its hash is kept on the server, and the cookie is marked HttpOnly.
- Two-factor sign-in — Coming soon.
- Sign-in and the whole portal are available in English and French.
API keys
Keys you can tell apart, and revoke without a ticket.
Keys are created only from the portal, never by an anonymous API call, and every one is scoped to your account alone.
- Sandbox keys and live keys are always distinct, so a test script can never touch production by accident.
- The full key is shown once, right after you create it. We keep only a short prefix in the clear after that.
- Revoking a key takes effect immediately: the next request with it is rejected.
- Per-key rate limits are part of every plan.
API keys
Sample dataNew sandbox key created
vk_sand_8Kd93jXQmZp2AeBTUqk7RmS4
Copy this now. It won’t be shown again — only the prefix stays visible after this.
Sandbox default
vk_sand_8Kd9…
Sandbox12 Sep 2026ActiveProduction
vk_live_2Qf1…
Live3 Aug 2026ActiveOld integration test
vk_sand_9Ta2…
Sandbox18 Feb 2026Revoked
Sample data
What a result looks like.
Every verification comes back as separate, named verdicts, not one opaque score. This is a fictional sample: the names and document are invented, the shape of the result is the real thing.
Morgan Ellis
California driver's license
- Document
- Pass
- The ID authenticates: front, back, the barcode and the MRZ, where present, all read.
- Identity
- Pass
- The barcode, the MRZ and the printed page agree on every field. A source that disagrees is flagged, never averaged.
- Name match
- Pass
- The name your integration expected matches the name on the ID.
- Liveness
- Pass
- A guided challenge, tracked on 478 facial landmarks over at least ten frames.
- Anti-spoof
- Pass
- Not a photo of a photo, a screen replay or a printed face.
- Deepfake
- Pass
- No sign of a synthetic or manipulated face.
- Mask
- Pass
- No sign of a 3D mask or prosthetic.
- Tamper
- Reported
- An advisory signal on the document image, not a pass/fail gate.
- Face match
- Pass
- The live face matches the document portrait, reported against a fixed decision line. We never print a percentage.
- Sanctions
- Add-on
- Screens OFAC, UN, EU, Canada OSFI, UK HMT, Australia DFAT and OpenSanctions lists for accounts that add it; list updates run manually or on an externally scheduled sync, not an automated daily refresh.
- Address
- Pass
- The address on file matches the address printed or encoded on the ID, when one was given to compare.
Anatomy of a result
One sample verification, field by field.
Sample data: an invented session for an invented applicant, shown the way it reaches your dashboard and your webhook receiver.
- Session ID
- ses_7f2a91c0b3d4 — the id you created the session with, and the one every later lookup and webhook uses.
- Status
- VERIFIED, FAILED, PENDING, IN_PROGRESS or EXPIRED.
- Environment
- Sandbox or production, stamped on the session and never mixed.
- Applicant
- Name, date of birth, document type, document country and jurisdiction, and address, as read from the ID.
- Per-check verdicts
- Document, liveness, anti-spoof, face match and, where enabled, sanctions, each PASS, FAIL or SKIPPED on its own.
- Face match
- Compared against a fixed decision line. We report pass or fail, never a percentage.
- Retake advice
- On a failure, which side — the document or the selfie — actually needs a retake, instead of a generic try again.
- Completed at
- When the session reached its final status.
- Delivered by
- A signed webhook to your webhook_url, and the same result in the dashboard and the API.
The images behind this result are purged automatically on a short timer, seven days by default. The result itself stays.
The rest of the picture
The admin side, roles and limits, honestly.
Two things worth saying plainly, instead of leaving you to find out.
The admin side
Behind every customer portal is a separate internal console our own team uses: every account's usage and billing in one search, plan changes, and shared detection settings tuned within fixed, tested ranges. It is not part of your account, and you will not see it.
Roles and limits
Today, one login per account. Inviting teammates with their own role — admin, billing, read-only — is coming soon. Per-key rate limits are part of every plan; enforcement in the live API is coming soon, so treat your plan's limit as the number to design around, not yet a wall the API enforces.
Quick-start
From sign-up to your first result.
The portal is built to get you to a real result fast, not to make you read a manual first.
Create your account
Sign up in the portal and pick English or French. No card for the sandbox.Copy your sandbox key
Shown once, right after you create it. Put it in your environment, not in source control.Create a session
One API call with a return URL and a webhook URL. Send the applicant the link it returns.Read the result
Watch it land in the dashboard, or read it off the signed webhook the moment it's in.
Most teams reach a working sandbox integration the same afternoon.
Questions
Straight answers about the dashboard.
Get started
Sign in and see it for yourself.
The fastest way to understand the dashboard is to open it: create a sandbox key, run a verification, and watch the result land.