Skip to content

Improve KYC duplicate detection messaging and review status#2090

Merged
MusabShakeel576 merged 3 commits into
masterfrom
claude/dreamy-ptolemy-9J0nJ
May 24, 2026
Merged

Improve KYC duplicate detection messaging and review status#2090
MusabShakeel576 merged 3 commits into
masterfrom
claude/dreamy-ptolemy-9J0nJ

Conversation

@MusabShakeel576
Copy link
Copy Markdown
Contributor

Summary

Enhanced KYC (Know Your Customer) warning messages and user-facing descriptions to provide clearer feedback when duplicate accounts, IPs, or devices are detected during verification.

Key Changes

  • Updated POSSIBLE_DUPLICATED_USER warning message to be more specific: "This identity is already linked to another verified account"
  • Added two new warning types:
    • DUPLICATED_IP: "This network has already been used to verify another account"
    • DUPLICATED_DEVICE: "This device has already been used to verify another account"
  • Enhanced the "under review" status description to surface warning details when present, instead of showing generic "few minutes" copy for what is actually a manual review
  • When an application is under review with warnings attached, users now see the specific issues being checked (e.g., duplicate IP/device detection) along with a message that they'll be notified when review is complete

Implementation Details

  • The duplicate IP/device filters are set to "review" status in the Didit dashboard to prevent suspicious applicants from reaching Rain
  • By surfacing these warnings in the step description, users get transparency about what's being manually reviewed rather than a vague timeline estimate
  • The new logic checks if warnings exist during the under-review status and formats them appropriately for display

https://claude.ai/code/session_01FHiq6biBgq1PGQp46RbdDK

claude added 3 commits May 24, 2026 12:39
…/activate

Didit's new duplicate IP and duplicate device filters surface as
DUPLICATED_IP / DUPLICATED_DEVICE risks in the ip_analyses block, which
the backend already extracts into kycWarnings. Map both tags (plus
POSSIBLE_DUPLICATED_USER, ID_DOCUMENT_IN_BLOCKLIST) to UNRETRYABLE_FRAUD_RISKS
so step 1 shows "We couldn't approve your application" with the specific
reason and a "Contact support" button instead of the default "Retry KYC"
that would just hit the same filter again.
Didit's duplicate IP / duplicate device filters are configured to send
suspicious applicants to In Review (not Declined) so they don't reach
Rain. Backend already maps that to kycStatus=UNDER_REVIEW with the
warnings preserved, but the UI was returning the same generic "being
reviewed, takes a few minutes" copy regardless. Render the per-warning
reasons when present so the applicant knows what's being checked; keep
the original copy as the empty-warnings fallback.
…nings

The duplicate IP / duplicate device filters in Didit send applicants to
In Review, never to Declined, so the REJECTED-with-fraud branch added in
fc97af8 never fires in practice. Pull the UNRETRYABLE_FRAUD_RISKS set,
hasUnretryableFraudWarning helper, handleContactSupport callback, and
the alternate REJECTED description; keep the new DUPLICATED_IP /
DUPLICATED_DEVICE entries in DIDIT_WARNING_DESCRIPTIONS and the
UNDER_REVIEW description tweak from f0109dd — those are the pieces that
actually surface the duplicate reason on /card/activate.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
solid-app Ignored Ignored May 24, 2026 1:39pm
solid-app-staging Ignored Ignored May 24, 2026 1:39pm

Request Review

@MusabShakeel576 MusabShakeel576 merged commit 7572427 into master May 24, 2026
3 of 5 checks passed
@MusabShakeel576 MusabShakeel576 deleted the claude/dreamy-ptolemy-9J0nJ branch May 24, 2026 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants