Sessions from the iOS, Android, and Flutter SDKs now report the SIM carrier and the country that carrier operates in. Carrier country comes from the device, so it holds up when the IP is proxied.Every session returns
source (web, ios, or android) and source_version, so you can tell which integration produced a session and which SDK version it ran.Linked accounts return first_seen and last_seen, showing when two accounts were first connected and when that link was last active.Rules and lists act on verification results
Two rule triggers are live in the dashboard: ID Check Completed and Face Match Completed. Rules on these triggers can read the verification decision, risk score, risk signals, document country, ID age, and the rest of the verification response.Rules apply to the account behind the verification. A rule likeIF risk signals contains id_age_below_16 → Add to Block List adds the account itself, tied to the session where the condition matched.List membership now flows through to verification decisions. Block-listed accounts return Fake on /verify-id and /verify-face, allow-listed accounts return Real. Both endpoints return lists and rules fields showing what was applied.If you already keep accounts on lists, some verification decisions will change to match the account decision.Automatic enrollment
Pass anaccount_id when you create a verification session and we enroll the account once the session completes. Enrollment was previously a separate call that had to happen in the right order, and sessions that skipped it returned confusing Fake results.Rules · Face Match session setup · ID Check session setupRisk signal details
Sessions returnrisk_signal_details, a set of named reason codes that explain why a risk score is elevated. It comes back on Authenticate, Unauthenticated, and Get Session.- Network: 13 signals covering the proxy, VPN, and location scores, such as
ip_on_vpn_listandtrue_country_mismatch. - Device: 22 signals covering device risk, such as
browser_tampering_detectedandandroid_emulator_or_rooted. This includes emulator and jailbreak detection, factory reset boot profiles, Play Integrity verdicts, and device brand signals.
Mobile device facts
Sessions from the iOS and Android SDKs return amobile block: brand, model, RAM, boot count, uptime, battery, languages, and OEM integrity verdicts. Native sessions also improve the existing device fields with values a WebView masks or misreports.All of it works in rules, as filterable columns in the sessions table, and in the session side panel. You may need to enable the new columns to see them.Risk Signals · MobileFive optional fields are accepted on the account object, through Authenticate Session and Update Account:
phone, first_name, last_name, username, and expected_countries.Phone, name, and username feed multi-accounting. They become additional identifiers for linking accounts. A shared phone number or username is a full match on its own. A shared name supports links alongside device, network, and email matches. Matches appear in linked accounts with their match type. Values are normalized behind the scenes, so +1 (415) 555-0123 matches +1-415-555-0123 and José García matches jose garcia.Expected countries feed location spoofing. Declare where an account should be operating, for example ["US", "CA"]. Sessions from outside those countries, or far from them, factor into that account’s location spoofing score.All five fields are optional and additive. Send nothing and behavior stays the same. Updating a field later works as you would expect, with last write winning per field.Account object · Multi-Accounting · Expected CountriesDashboardDeviceNetworkVerifications
Upgraded risk models, the dashboard AI agent, and rebuilt verifications
Upgraded real-time models
We improved how device and network data is collected. Measured against the previous models:- 31% better catch rate on sophisticated proxies and anti-detect browsers
- 10 to 14% fewer false positives on location spoofing and proxy/VPN, with the largest gains on slow networks
- 18 to 20% faster session IDs and API responses
AI agent in the dashboard
There is an agent in the bottom-left corner of the dashboard. It has access to your project data in a privacy-preserving sandbox, which is never shared with model providers or used for training. It can run investigations, build charts, slides, and CSVs, and take actions such as adding accounts to lists.Prompts worth trying:- “Pull all accounts linked to at above 50% strength, three levels deep”
- “Compare fake and suspicious users over the last 7 days against the prior 7. What is driving the change?”
- “Here are 100 emails. Find their accounts and add them to the block list.”
- “Build a report on the last 30 days: fraud rates, key drivers, trends”
Face Match and ID Check
We rebuilt the data processing and risk engine behind both products, and we now capture and return session video in the dashboard.- 30% more accurate ID data capture
- 82% fewer false positive risk flags, while catching more fraud
- Video makes phone handoffs, digital IDs, and background characteristics visible during review
- ID Check returns a face age estimate on the verification response.
- Network intelligence identifies satellite connections as a distinct connection type.
- The
id_agedocument signal description now states what it measures: the age derived from the date of birth on the document. - Email intelligence groups the Identity Intelligence signals together and marks them as such in the API reference.
Face Match and ID Check responses include a URL for the recorded session video. The same video is available in the dashboard on the verification detail view.Video shows the context around a capture: a phone handed between people, an ID held up on another screen, and the surroundings the capture happened in.
You can serve the Verisoul browser SDK from a subdomain you own, for example
verify.yourcompany.com. Requests go to your domain and reach us behind it.Setup is a nameserver delegation on a subdomain you dedicate to us. We handle the certificate and keep it renewed.Traffic to a first-party domain gets past ad blockers and tracker blocklists, which raises the share of sessions that produce a full signal set.Custom HostnameSessions and accounts return a
location_spoofing score. It combines the signals we collect about where a session claims to be and where it appears to actually be: timezone, locale, GPS where available, IP geolocation, and network routing.The score is in the API reference for Get Session and Get Account, in the sessions and accounts tables, and available in rules.Get Session · Network IntelligenceEmail intelligence used to run only as part of a real-time session through
/session/authenticate. It is now a standalone endpoint, so you can submit an email on its own and get a full assessment back.Email carries history, and history takes years to fake. It also links out to names, phones, and locations, which adds identity context to device and network signals.What comes back:- Risk score from -1 (high trust) to +1 (high risk), with a decision label of
high_trust,trusted,moderate,risky, orhigh_risk, plus the trust and risk signals behind it. - Online history and age: how long the address has existed, where it has appeared, and breach history with dates.
- Social signals: which platforms the address is registered on, such as Google, Facebook, and LinkedIn.
- Deliverability: whether the address can receive mail, with a recommendation of
send,send_with_caution, ordo_not_send. - Domain intelligence: disposable, fresh, and fake domains, classified as personal, business, education, government, relay, or inactive.
- Identity intelligence: pass an expected name, phone, and country, and we match those claims against external data, then return connected names and phone numbers.
