Fraud Intelligence - Person Fraud

Key Features:

  • Global Coverage
    Data from multiple sources worldwide, including hard-to-reach markets, is available through a single integration.
  • Risk Insights
    Predictive features and machine learning, powered by extensive personal data, advanced feature generation, and consortium data.
  • Tailored Solutions
    A full-featured solution designed specifically for account opening, third-party fraud, and synthetic identity detection.
  • Onboarding Orchestration
    Coordinated Person Verification using watchlist checks, and fraud

Request Parameters

Names and either a phone number or email are required with all other fields are optional, but every field helps improve predictiveness.

When submitting data to the Fraud Intelligence API, the following fields should be included in your request:

  • First Name
  • Last Name
  • Date of Birth
  • Email
  • Phone
  • IP Address
  • Address
  • City
  • Postal Code
  • State
  • Country

Endpoint: https://api.trulioo.com/v3/personfraud/check

Example Request

{
  "VerificationType": "Test",
  "PackageId":"f84f09f0-213a-4499-8370-29f371edddd",
  "CleansedAddress": false,
  "CountryCode": "US",
  "DataFields": {
    "PersonInfo": {
        "FirstGivenName": "Andrew",
        "FirstSurName": "Smith",
        "YearOfBirth": "1990"
    },
    "Location": {
        "AdditionalFields": {
            "Address1": "123 Main"
        }
    },
    "Communication": {
            "Telephone": "+9999999982",
            "EmailAddress": "[email protected]"
    },
    "CountrySpecific": {
            "US": {
                "IPAddress": "0.0.0.0"
            }
    }
  },
  "VerboseMode": true
}

Example Response

{
    "TransactionID": "4b69ecc6-bf5a-40ea-8f66-c5c3fbc5d234",
    "UploadedDt": "2022-11-01T21:32:11.820572",
    "CompletedDt": "2022-11-01T21:32:12.206823",
    "CountryCode": "US",
    "ProductName": "Identity Verification",
    "Record": {
        "TransactionRecordID": "202d6250-4331-2252-a725-74854ba444f3",
        "RecordStatus": "nomatch",
        "SecondaryRecordStatus": "match",
        "DatasourceResults": [
        {
            "DatasourceName": "Trulioo Person Fraud",
            "DatasourceFields": [],
                "AppendedFields": [
                    "ScoreRiskSignals": {
                        "ScoreType": "Fraud",	
                        "ReasonCodes": {
                          "PhoneToIPCountry": true,
                          "EmailAndPhoneLinked": true,
                          "EmailToPhoneProfileImage": null,
                          "NameAnomalous": true
                        },	
                        "RiskLevel": "Medium",	
                        "Score" : 450
                    },
                    "PhoneRiskSignals": {
                        "PhoneToName": "Match",	 			
                        "PhoneLineType": "Mobile",
                        "PhoneFirstSeen": "2016-05-01"
                        "PhoneInfo": {	 				
                          "PhoneValid": true, 				
                          "PhoneCarrier": "T-Mobile", 				
                          "PhoneIsDisposable": true, 			 				
                          "LastPortDate": "2017-05-29", 				
                          "IsBusiness": true 			
                          },	 			
                        "PhoneOnlineAccounts": {	 				
                          "PhoneNetworkingAccountsCount": 1, 				
                          "PhoneEcommerceAccountsCount": 2, 				
                          "PhonePlatformAccountsCount": 1, 				
                          "PhoneOtherAccountsCount": 3, 				
                          "PhoneCallingAccountsCount": 2, 				
                          "PhoneAllAccountsCount": 9 			
                          }, 			
                        "PhoneDataBreachCount": 0
                    },
                    "EmailRiskSignals": {
                        "EmailFirstSeen": "2017-05-29",	
                        "EmailToName": "Match",	
                        	"EmailInfo": {	
                        		"EmailValid": "valid",
                        		"EmailIsDisposable": true,
                        		"EmailType": "free",
                        		"EmailDomainCreationDate": "2011-06-29",
                        		"EmailDomainRegisteredTo": "Gabetti Property Solutions Spa",
                        		"IsRandomlyGenerated": true,
                        		"EmailHandleNameApplicantNameMismatch": true,
                        		"EmailOrganizationType": "corporate"
                        	},	
                        	"EmailOnlineAccounts": {	
                        		"EmailNetworkingAccountsCount": 2,
                        		"EmailEcommerceAccountsCount": 2,
                        		"EmailMessagingAccountsCount": 1,
                        		"EmailOtherAccountsCount": 3,
                        		"EmailAllAccountCount": 8
                        	},
                        "EmailDataBreachCount": 0
                    },
                    "IPRiskSignals": {
                        "IPInfo": {	
                        	"ISPName": "Fastweb",
                        	"IPCountry": "US",
                        	"IPCity": "San Diego",
                        	"IPConnectionType": "Commercial",
                        	"IPCompanyDomain": "google.com",
                        	"IPCompanyName": "Trulioo Inc."
                        },	
                        "IPGeo": {	
                        	"IPCountry": "US",
                        	"IPCity": "San Diego",
                            "IPLat": "47.561",
                            "IPLong": "-122.155",
                        	"IPPostalCode": "20104"
                        },	
                        	"IPCategories": {	
                        	"Proxy": true,
                        	"ProxyType": "datacenter",
                        	"Tor": true,
                        	"VPN": true,
                        	"BlacklistCount": 2,
                        	"CloudHost": true,
                        	"IsRelay": true
                        }
                    },
                    "FeaturesRiskSignals": {
                        "VelocityEmailToDistinctPerson": 2,
        				"VelocityPhoneToDistinctPerson": 2,
        				"VelocityIPToDistinctPerson": 3
                    }
                ],
                "Errors": [],
                "FieldGroups": []
            }
        ],
        "Errors": [],
        "Rule": {
            "RuleName": "RuleScript - NameAnd2Tokens_v41",
            "Note": "2 Record Match (FN/DOB/ID)",
            "SecondaryRuleName": "RuleScript - NameAndDOB_v33",
            "SecondaryRuleNote": "1 Records Match (FirstName AND LastName AND DOB) AND 1 Records Match (FirstName AND LastName)"
        }
    },
    "Errors": []
}

Request and Response Structure

Upon submitting a request, the API will return a response containing several key elements. These elements provide insight into the potential risks associated with the submitted data:

📘

Score: A risk score, including the type of score, associated reason codes, and the overall risk level.

Input

Customer Configuration

FieldDescriptionRequired (Y/N)Field TypeNotes
ProductProduct category to do fraud check for a company with multiple products (Prepaid gift cards, loans, etc...)NoStringIf the company has multiple products, the product that this request originates from (e.g. mortgages, loans, seller onboarding etc., )
ChannelChannel where information was collected (online, App, Phone, etc...)NoStringChannel where information was collected (Online, App, Phone, In-Person, etc...)
UseCaseUse case of fraud check (3rd Party Application Fraud, Synthetic ID checks, Seller onboarding, Maintenance, etc...)NoString

Data Class:

FieldDescriptionRequired (Y/N)Field TypeNotes
TransactionIDID of the transaction provided by Trulioo GGYesStringUnique ID for the transaction ID, generated by Trulioo.

Key used to map back to the transaction when feedback data is provided. This field is also returned in the response
UserIDEnd user ID which Trulioo's customer identifies their end userNoStringThis can hold things like an applicant ID, application ID, transaction ID, etc.
FirstGivenNameFirst name of the individual to be verifiedYesString
FirstSurNameLast name of the individual to be verifiedYesString
NationalIDNational ID NumberNoString
EmailAddressEmail AddressYes*StringOne of Email or Telephone is required
TelephoneTelephone number of the individual to be verifiedYes*One of Email or Telephone is required
IPAddressIP Address, either in IPv4 or IPv6 formatNo

Date of Birth

FieldDescriptionRequired (Y/N)Field Type
DayOfBirthDay of birth date (ie 23 for a date of birth of 23/11/1975)NoDD
MonthOfBirthMonth of birth date (ie 11 for a date of birth of 23/11/1975)NoMM
YearOfBirthYear of birth date (ie 1975 for a date of birth of 23/11/1975)NoYYYY

Address

FieldDescriptionRequired (Y/N)
Address1

OR

UnitNumber, BuildingName, BuildingNumber, HouseNumber, StreetNumber, CivicNumber, StreetName, StreetType
Street address of primary residenceNo
UnitNumber

HouseExtension
No
CityCity of primary residenceNo
PostalCodeZIP Code or Postal Code of primary residenceNo
StateProvinceCodeState of primary residence. US sources expect 2 characters. Australian sources expect 2 or 3 characters.No
CountryCountry of physical address (ISO 3166-1 alpha-2)No

Output

Score

FieldDescriptionField TypeField ValuesNotes
ScoreRisk ScoreInteger0-1000Trulioo Risk Score reflects the risk rating for a transaction. Higher scores indicate higher risk of potential fraud.
ScoreTypeType of Fraud associated with risk score (3rd party fraud and synthetic fraud)String“Fraud”This is defaulted to indicate “Fraud”. Should we be providing multiple scores, we will elaborate the score based on the type of fraud e.g. score = 750 score type = 3rd party fraud
ReasonCodesList of reason codes related to input dataStringSee Reference object details below for a full list of reason codes we provide
RiskLevelRisk category based on the Risk Score.String-Very Low
-Low
-Medium
-High
-Very High
Very Low: Score = 0 to 225. Strong and consistent positive signals

Low: Score = 226 to 450. Multiple positive signals

Medium: Score = 451 to 550. Partial information available

High: Score = 551 to 775. Multiple negative signals

Very High: Score = 776 to 1000. Many negative signals and almost no positive signals

Email Info

FieldDescriptionField TypeField ValuesNotes
EmailToNameThe match status between the input name and the email addressString-match
-no match
-not found
Identify whether input name is associated with the input email.
EmailFirstSeenThe date when the input email address was first observedDateYYYY-MM-DDDate when the input email address was first observed. If the input email has not been observed before, the date will be today
EmailValidIndicates whether the email address provided is a valid and functional emailString-valid
-invalid
-unknown
-null
Ex: Google LLC. This is typically useful when associated with a non-free email. Example: [email protected]
EmailTypeIndicates whether the email address provided belongs to a free email service provider or a company / paid account.String-is_free
-business_website_exists
-business_no_website
-null
EmailIsDisposableIndicates whether the email address provided belongs to a temporary email service providerBoolean-true
-false
-null
EmailDomainCreationDateThe date when the email domain was createdDate-Date
-null
Format: YYYY-MM-DD

Ex: 2011-06-29
EmailDomainRegisteredToIndicates the individual or entity registered to the email domainString-String
-Null
Ex: Google LLC. This is typically useful when associated with a non-free email. Example: [email protected]
IsRandomlyGeneratedIndicates whether the email address provided is randomly generatedBooleanBooleanAn example email would be [email protected]
EmailHandleApplicantNameMatchIndicates whether the email handle contains the input nameBooleanBoolean

Email Linked Accounts

FieldDescriptionField TypeField ValuesNotes
EmailNetworkingAccountsCountNumber of networking accounts have been linked to the email addressIntegerInteger
EmailEcommerceAccountsCountNumber of ecommerce accounts have been linked to the email addressIntegerInteger
EmailMessagingAccountsCountNumber of messaging accounts have been linked to the email addressIntegerInteger
EmailOtherAccountsCountNumber of other accounts have been linked to the email addressIntegerInteger
EmailAllAccountsCountTotal number of accounts have been linked to the email addressIntegerIntegerGenerally we find that users personal emails are associated with a number of different accounts. Fraudulent or throwaway emails rarely have this characteristic.

Phone

FieldDescriptionField TypeField ValuesNotes
PhoneToNameThe match status between the input name and the phone number providedString- Match

- No match
- Not found - Null
Input first and last name provided are associated to the phone number
PhoneLineTypeThe line type of phone numberString- Landline

- Mobile - VOIP
- Toll-Free
- Landline
- Unknown
- Other
Unknown is usually due to invalid
PhoneFirstSeenThe date when the input phone number was first observed and associated with input nameDateYYYY-MM-DD

Phone Info

FieldDescriptionField TypeField ValuesNotes
PhoneValidIndicates whether the phone provided is a validBoolean-True
-False
-Null
PhoneCarrierIndicates the phone carrier associated with the input phone numberString-String
-Null
Ex: T-Mobile US
PhoneIsDisposableIndicates whether the input phone number belongs to a temporary phone service providerBoolean-True
-False
-Null
LastPortDateIndicates the date of the last portability event of input phone numberDate-Date
-Null
Very recent port dates are higher risk.
IsBusinessIndicates whether the caller type of input phone number is businessBoolean-True
-False
-Null
US only

Phone Social Media Apps

FieldDescriptionField TypeField ValuesExternal Notes
PhoneNetworkingAccountsCountNumber of networking accounts have been linked to the input phone numberInteger0,1,2, etc…
PhoneEcommerceAccountsCountNumber of ecommerce accounts have been linked to the input phone numberInteger0,1,2, etc…
PhoneOtherAccountsCountNumber of other accounts have been linked to the input phone numberInteger0,1,2, etc…
PhonePlatformAccountsCountNumber of platform accounts have been linked to the input phone numberInteger0,1,2, etc…
PhoneCallingAccountsCountNumber of calling accounts have been linked to the input phone numberInteger0,1,2, etc…
PhoneAllAccountsCountTotal number of accounts have been linked to the email addressInteger0,1,2, etc…Generally we find that users personal phone is associated with a number of different accounts. Fraudulent or throwaway emails rarely have this characteristic.

IP Categories

FieldField DescriptionTypeField ValuesExternal Notes
ProxyIndicates whether the input IP address is from a proxyBoolean-True
-False
-Null
ProxyTypeThe type of proxy from the input IP AddressString-Datacenter
-Residential
-Rotating
-Unknown
-Null
TorIndicate whether the input IP address is associated to TORBoolean-True
-False
-Null
VPNIndicate whether the input IP Address is under a VPNBoolean-True
-False
-Null
BlacklistCountNumber of providers that have flagged the input IP Address as spam, suspicious traffic, etc…)Integer0,1,2, etc...
CloudHostIndicate whether the input IP Address is from a hosted networkBoolean-True
-False
-Null
IsRelayIndicate whether the input IP Address configured to act as relayBoolean-True
-False
-Null

IP Geo

FieldDescriptionTypeField ValuesNotes
IPCountryThe name of the country where the the input IP Address is located (format is ISO 3166 alpha-2)String-String
-Null
IPCityThe city where the input IP address is locatedString-String
-Null
IPPostalCodeThe postal code where the input IP Address is locatedString-String
-Null
IPLatThe latitude of the input IP address’s geolocationFloat55.752
IPLongThe longitude of the input IP address’s geolocationFloat110.133

IP Info

FieldDescriptionTypeField ValuesNotes
IPConnectionTypeThe usage classification type of Internet service provider (ISP) that owns the input IP AddressString-String
-Commercial
-Content Delivery Network
-Fixed Line
-Mobile ISP
-Reserved
-University
-Null
University Indicates whether the input IP address is from a proxy/ College / School
ISPNameThe name of the internet service provider that owns the input IP AddressString-String
-Null
Ex: Ignite Visibility
IPCompanyDomainThe name of the domain of the company that registered to the input IP AddressString-String
-Null
Ex: google.com
IPCompanyNameThe name of the company that registered to the input IP AddressString-String
-Null
Ex: Apple Inc.

Features Velocity

FieldDescriptionTypeField ValuesNotes
VelocityOfEmailToDistinctPersonNumber of times that the input email address is linked to the unique personsInteger0,1,2, etc…Indicates how many times we see the input email address is submitted with the input name under the same transaction
VelocityOfPhoneToDistinctPersonNumber of times that the input phone is linked to the unique personsInteger0,1,2, etc…Indicates how many times we see the input phone number is submitted with the input name under the same transaction
VelocityOfAddressToDistinctPersonNumber of times that the input address is linked to the unique personsInteger0,1,2, etc…Indicates how many times we see the input primary address is submitted with the input name under the same transaction

Reference - Reason Code

FieldDescriptionTypeField Values
PhoneToIPCountryIndicate whether the country associated with the input phone number matches the country associated with the input IP AddressBoolean-True
-False
EmailAndPhoneLinkedIndicate whether the input email address and input phone number are linked to each otherBoolean-True
-False
EmailToPhoneProfileImageIndicate whether all profile pictures obtained from both input email address and input phone number sources exhibit faces are matchBoolean-True
-False
NameAnomalousIndicates whether the name is anomalousBoolean-True
-False