Verify who someone is. Screen who they might be. One API.
Nexiel Verify and Nexiel Screen are two products bundled under one integration: EUDI wallet identity verification and standalone AML/PEP/sanctions screening, sharing the same matching engine, audit trail, and billing.
New to EUDI wallets? Read what an EU Digital Identity Wallet is, and how selective disclosure works, first.
How identity verification works
Nexiel Verify is live in production. Completing a check still fails closed: it depends on the EU's own eIDAS infrastructure publishing PID-Provider trust anchors, which has not happened yet.
A holder presents claims from an EU Digital Identity Wallet via OpenID4VP with DCQL queries. Selective disclosure is enforced at the query level. Nexiel only ever requests the specific claims a given check needs (e.g. just birthdate for an age check, used only to compute an age_over_18 boolean and discarded immediately), never a full identity dump.
age-verification requests only the birthdate claim, used solely to compute an age_over_18 boolean server-side and then discarded. aml-identity requests given name, family name, birthdate, and nationalities, then screens the holder through the same matching engine as Nexiel Screen. Same session shape either way: only the checkType and the claims requested differ.
What happens to PII
- Nexiel Age's and Nexiel Verify's age-verification checks use raw PII (name, DOB, address, document number, nationality) only for the single verification transaction and never persisted afterward. Deletion happens automatically, not a manual step someone can forget. What remains is only session id, client id, timestamp, method, boolean proofs, a SHA-256 hash of the presented wallet token, and the issuer signature validation result.
- An
aml-identitycheck in Nexiel Verify, and every screening decision in Nexiel Screen, handles PII differently once the client has registered an encryption key. The actual disclosed claim values, the screening decision, and the frozen decision artifact are packaged into an “evidence pack” and encrypted (JWE, ECDH-ES key agreement, A256GCM content encryption, P-256 curve) to a public key the client registers from its own dashboard. Nexiel delivers that ciphertext once and keeps no readable copy afterward. - The matching private key is generated in the client's own browser and never reaches Nexiel, not even once. When a key is registered, what Nexiel retains afterward is a single audit row: session or request id, client id, timestamp, classification, the frozen-artifact hashes, and a SHA-256 hash of the delivered ciphertext, proof of handoff, never the substantive data. AMLR makes the client, not Nexiel, the party required to retain its own CDD/screening evidence, so the client is responsible for keeping the evidence pack it receives. See setting up evidence pack encryption for how to register a key.
- Screen's KYB customer due-diligence records follow a separate, narrower ruleabout the client's own business entity, not any single check: EU AML Directives require an obliged entity to retain beneficial-ownership/UBO records for the life of a business relationship plus a statutory period after (a deliberate exception, not a contradiction, scoped only to self-declared UBO/director records). This path is not yet handling a real paying client: encryption-at-rest, separately audited access, an automated statutory purge, and written sign-off from engaged legal counsel on the retention period are all required first.
- Every screening decision, credential issuance, and admin action is logged immutably with a cryptographic hash chain, verifiable independently per client, not one shared chain across every customer.
The matching engine behind every screen
A 4-layer hybrid, self-hosted, with no third-party screening API in the decision path.
Normalized name/DOB/nationality equality, short-circuits to a fast confirmed match.
Postgres FTS across name variants and aliases.
Edit-distance scoring, weighted into the overall match score alongside every other layer here.
Catches transliteration/spelling variants that edit-distance alone misses.
A 5th layer (a fine-tuned multilingual embedding model scored via pgvector cosine similarity) is being validated against a benchmark suite ahead of scoring live traffic. Layer weights are tuned the same way and kept private, which is part of what keeps the engine resistant to being gamed. For a fuller walkthrough, including what “PEP” and “sanctioned entity” mean, exactly which data sources and jurisdictions this covers today, and why human review matters, see how sanctions and PEP screening works.
How Screen works on its own
Screen is Nexiel's most mature product: live in production today, and fully usable on its own. A solicitor opening an AML file or an accountant screening a beneficial owner never has to touch an EUDI wallet to use it.
Every screen runs against EU FISMA, OFAC SDN, the UN Security Council consolidated list, HMT UK, and OpenSanctions' PEP dataset, refreshed by a daily ETL run. See how sanctions and PEP screening works for what each source covers.
POST /v1/screen takes a single name (plus optional DOB, nationality, and up to 20 wallet addresses) and returns a synchronous classification, idempotency-key-protected and rate-limited per client. Screening a whole customer book means calling it once per person from your own backend, exactly how clients run an onboarding batch or a periodic CDD refresh today. See the Screen API quickstart.
Call /v1/screenagain for the same person any time and get a genuine re-screen against today's list data. The audit trail treats a name matched after a list update as its own decision needing its own review, never a silently-reused one. Scheduled monitoring and change alerts for an existing customer book are on our roadmap.
A solicitor running client due diligence, or an accountant screening a director or beneficial owner for a CDD file, usually needs one thing: a PEP/sanctions answer on a name, not an identity-verification flow. Nothing about that requires the wallet flow described above. Integrate /v1/screen by itself and get a classification back. Verify is available if you also need to prove who someone is. It is not a prerequisite for using Screen.
Nexiel Screen pricing
- Sanctions + PEP screening API access
- Human-reviewed POSSIBLE_MATCH queue
- Standard rate limits
- Everything in Starter
- Higher volume + rate limits
- Priority support
- For usage beyond Growth's included volume
- No separate contract required
These are real, live prices from our Stripe test catalog. Self-serve checkout in the dashboard is not yet available. Start a KYB application today and we will get you set up.
Nexiel Verify pricing
- EUDI wallet (OpenID4VP) verification
- No monthly minimum
- Same API, lower per-unit rate at volume
- Same API, lower per-unit rate at volume
- Same API, lower per-unit rate at volume
This is a real reference price from our Stripe test catalog, not live metered billing yet. Usage-based checkout is planned for a v1.1 release.