Detail and decision
Access prerequisites
- Permission (module):
viewKycQueue(view detail) andreviewKyc(decide) - Route:
/kyc-queue/:userId
What it is / when to use
The detail gathers, on a single screen, everything the Compliance Officer needs to decide the investor's KYC: identity, Qualified Investor evidence, submitted documents, BaaS background-check, corporate structure and access data — plus the review card with the actions.
Detail panels
Identity
KYC provider result: document, images, liveness and AML.
- Document data — type, number, personal number, full name, birth date, issuing country, nationality, gender, expiration, issue date, address.
- Verifications — liveness (status and score), face match (status and score), confidence.
- Images — document (front/back) and selfie/portrait.
- AML — AML check and multi-bureau check.
- Full provider payload — raw payload for auditing.
Axia selfie identity
When identity is verified by Axia selfie/documentoscopy (AXIA_KYC) instead of the provider, the panel shows a note: identity verified by selfie (Axia), with manual review by Compliance. The selfie is in the User documents section; provider documentoscopy/AML does not apply.
Qualified Investor
Net-worth/accreditation evidence submitted by the investor (optional — unlocks higher limits). Shows submission date and IP/device, and preview/download of the evidence (SECURED file). The QI decision is covered in Qualified Investor.
Face pre-analysis
When enabled for the tenant, it automatically compares the face on the identity document with the one on the selfie and shows a verdict — Match, Review, Mismatch, Inconclusive or Technical failure — along with the measured distance, the thresholds, the document used and how many faces were detected in each image.
The card sits right above User documents, deliberately: you read the verdict and then have the images to check. Reading details, limitations and automatic approval in Face pre-analysis.
The pre-analysis never rejects on its own
"Mismatch" flags the case for review — it does not reject. If automatic approval is enabled, only the "Match" verdict promotes the account, and the card states that explicitly.
User documents
All submitted KYC artifacts — personal documents and the AXIA_KYC selfie highlighted ("Selfie" badge) for face comparison against the document. Each item has preview and download.
Background-check (BaaS)
Banking provider background-check result, when enabled: check ID, status, and the documentoscopy block — status (Pending / Approved / Rejected), face match, OCR and a link to open the documentoscopy.
Corporate structure (QSA)
Declared partners of the corporate investor: type (managing partner / partner), name, masked CPF, birth date, mother's name and participation.
Access data
Last access, recent geolocated logins on a map (OpenStreetMap) and registered devices. Useful to check geographic consistency and detect suspicious access.
Review
Card with the decision recorded by the Compliance Officer: reviewed by, reviewed at, reason and notes.
Account decisions
The account actions sit under Account decision. Both require step-up (password + MFA).
Approve account
- Precondition: verified identity — provider
PASSEDor Axia selfie/documentoscopy. While the identity is not approved, the button is disabled with the notice "Identity not yet approved by the provider". - Effect: sets
overall_status = APPROVEDand promotesuser.status = 'APPROVED'— the precondition already consumed by on-chain identity provisioning (ERC-3643). The Qualified Investor evidence is optional and can be decided separately.
Reject account
- Precondition: select a reason (mandatory) —
INSUFFICIENT_PC_EVIDENCE,AML_FAILorDOCUMENT_UNCLEAR(see reason codes). Optional note for the record. - Effect: sets
overall_status = REJECTED, records the reason and notifies the investor, who can correct and resubmit the failed part. For legacy clients, it also setsusers.status = 'REJECTED'.
UI states and errors
- Loading/error — skeleton on load; failure messages when loading the evidence.
- Decision failed — "Could not record the decision. Try again."
- State changed (409) — "The decision could not be applied: the KYC state changed. Reload the page and try again." Happens when the KYC state changes between the read and the decision (concurrency protection).
Business rules / caveats
Attention
- Every decision requires step-up. The
reviewed_bycomes from the authenticated administrator, never from the request body. - Approve account ≠ approve QI. Approving the account does not mark the investor as qualified; the QI is a separate decision, in its own scope.
- Rejection always with a reason — it is auditable and is what the investor sees to correct.
- A rejected legacy client is notified and returns to the verification flow (see legacy clients).