API Latency

Overview

When integrating with Trustfull, it is essential to determine the acceptable response time for your system. The following sections provide a clear understanding of max_enrichment_time, its functionality within the Trustfull environment, and the impact it can have on the results you observe.

The max_enrichment_time parameter defines the maximum duration allowed for data enrichment processes within the Trustfull system. This setting ensures that responses are returned within a specified time frame, maintaining system efficiency and performance.

About response time

In Trustfull's API-based service, response time refers to the total available time for processing and responding to a request. This includes the time it takes for your request to reach our servers, be processed and answered, and for the response to return back to your server.

Within Trustfull's system, the response time consists of two main components:

  • Network: This refers to the delay in communication over the network when interacting with our APIs.
  • Enrichment: This is the time required to gather all the necessary data values for the Data Enrichment process. Please note that response times may vary as Trustfull does not have control over third-party servers and data sources.

πŸ“˜

max_enrichment_time and response time are two separate things.

You can add the field max_enrichment_time to the body of your API request. Below is an example:

curl --request POST \
     --url https://api.fido.id/1.0/hub \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: YOUR-API-KEY' \
     --data '
{
  "customer_id": "my_customer_id_0001",
  "phone_number": "393485698541",
  "claims": ["phone"],
  "max_enrichment_time": 4
}
'

For more info about the API format and payload you can read the docs API REFERENCE

πŸ“˜

max_enrichment_time is optional and can be omitted if the use case is not time-sensitive.

Working with max enrichment time

To accurately determine the optimal max enrichment time, it's essential to perform a series of experiments using the network configuration that will be operational in production. This approach helps in setting the appropriate max enrichment time based on the specific signal of interest and the required response time.

For detailed guidance on how to conduct such experiments, please refer to the recipes section of our documentation.

When adjusting max enrichment time, be mindful of its impact on coverage. For instance, a small increase at lower levels can significantly enhance coverage. In the example shown, increasing the max enrichment time from 1.7 to 2.2 results in a 40% increase in coverage. On the contrary, a similar increment at higher values, such as from 3.2 to 3.7, yields only a 5% improvement.

This nuanced understanding of max enrichment time adjustments emphasizes the importance of strategic increments based on specific thresholds to optimize performance and coverage effectively.

The tables below show the value of max_enrichment_time that needs to be set to achieve a > 80% coverage on the described signals.

πŸ“˜

The tables below show the value of max_enrichment_time7 to achieve a > 80% coverage on the described signals.

EMAIL ADDRESS

For Email Address max_enrichment_time = 3.5 is a good starting point

max_enrichment_timeSignals
< 7.0sImage analysis
< 6.2sApple, Facebook
< 3.2sPayPal, Yahoo, Google
< 2.8Instagram
< 2.7sAmazon, LastPass
< 2.4sDuolingo, X
< 2.2sSpotify, Skype, eBay
< 2.0sBooking, Data Breaches, Deliverability, Company,
< 1.8sSamsung, Disney+
< 1.7Deliveroo, Gravatar, Hubspot, Office365, Binance, Pinterest, WordPress, Atlassian, Disposable, Domain lookup, WordPress, Adobe, Freelancer

PHONE NUMBER

_For Phone Number max_enrichment_time = 3.5 is a good starting point_s a good starting point.

max_enrichment_timeSignals
< 6.5sImage analysis
< 5.3sFacebook
< 4.2sApple
< 3.7sBukalapak, Apple
< 3.5sSnapchat
< 3.2sX
< 3.0sInstagram
< 2.7sTelegram
< 2.6sAmazon, Office365
< 2.2sWhatsApp
< 1.7sData Breaches, Portability, Carrier, Disposable Check, Google, Viber

IP ADDRESS

For IP Address we recommend not setting any value for max_enrichment_time

max_enrichment_timeSignals
<2.2sRemote Desktop Detection
< 1.7sBlacklist Check, XBL Blacklist, CSS Blacklist
< 1.2sVPN Check, Residential Proxy Detection, Geolocation, Connection Type, Company,

DEVICE

For Device we recommend not setting any value for max_enrichment_time

max_enrichment_timeSignals
< 2.2sDevice Price
< 1.7sHardware info

NAME

For name we recommend not setting any value for max_enrichment_time

max_enrichment_timeSignals
< 1.7sValidity
< 1.2sGenderization

ONBOARDING

The logic for setting the max_enrichment_time remains consistent whether the call is directed to the onboarding solution or a single product. The value set for max_enrichment_time will apply to all enrichment processes.

For the Onboarding solution max_enrichment_time = 3.5 is a good starting point.


CHANGELOG

2024-07-17

  • EDIT: Moved the threshold from 70% coverage to 80% coverage
  • EDIT: New data study available for Phone:
    • Snapchat new signal at 3.7
    • Apple new signal at 4.2
  • EDIT: New data study available for Email:
    • Adobe new signal at 1.7
    • Freelancer new signal at 1.7
    • LastPass new went signal at 2.7