Skip to content

Detail and decision ​

Access prerequisites

  • Permission (module): viewKycQueue (view detail) and reviewKyc (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 PASSED or 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 = APPROVED and promotes user.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_FAIL or DOCUMENT_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 sets users.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_by comes 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).