Understanding & Using Identity Risk Scores
Learn how identity risk scores work, how to interpret them, and how to integrate them into your applications using Didit's API for enhanced fraud detection and decision-making.

Understanding & Using Identity Risk Scores
In today’s digital landscape, verifying the authenticity of users is paramount. Simply knowing if an identity is valid isn’t enough; developers need to understand the level of risk associated with that identity. This is where identity risk scores come into play. Didit provides a comprehensive risk score alongside our identity verification services, empowering developers to make informed decisions about user access, transaction approvals, and overall fraud prevention. This guide dives deep into how these scores work, how to interpret them, and how to integrate them seamlessly into your applications.
Key Takeaway 1 Identity risk scores are numerical representations of the likelihood that a user is fraudulent or poses a risk to your platform.
Key Takeaway 2 Didit’s risk scores combine data from multiple sources, including document analysis, biometric checks, device intelligence, and global watchlists.
Key Takeaway 3 Effective integration of risk scores involves setting appropriate thresholds and incorporating them into a robust decision engine.
Key Takeaway 4 Monitoring and adapting risk score thresholds is crucial to maintain optimal fraud detection rates and minimize false positives.
What is an Identity Risk Score?
An identity risk score is a numerical value assigned to a user based on an assessment of various factors indicating the potential for fraudulent activity. It’s not a simple binary “pass/fail” result; instead, it provides a gradient of risk, allowing for nuanced decision-making. Didit’s risk score ranges from 0 to 100, with lower scores indicating lower risk and higher scores indicating a higher potential for fraud. These scores are dynamically calculated in real-time during the verification process.
Several factors contribute to the final risk score:
- Document Quality: The clarity, authenticity, and tamper-evidence of the submitted identity document.
- Biometric Matching: The confidence level of the face match between the document photo and the live selfie.
- Liveness Detection: Confirms the user is a real person during verification.
- Device Intelligence: Analyzing device characteristics (OS, browser, IP address) for suspicious patterns.
- Watchlist Screening: Checks against global sanctions lists, PEP databases, and fraud blacklists.
- IP Address Risk: Location, proxy detection, and association with known fraudulent activities.
Interpreting the Risk Score
Understanding the meaning behind the numbers is crucial for effective integration. Here’s a general guideline for interpreting Didit’s risk scores:
| Score Range | Risk Level | Recommended Action |
|---|---|---|
| 0-20 | Low | Auto-approve the user. |
| 21-40 | Medium | Proceed with caution. Consider additional verification steps or monitoring. |
| 41-60 | High | Flag for manual review. Request additional documentation or information. |
| 61-80 | Very High | Decline the user. Strong indication of fraudulent activity. |
| 81-100 | Critical | Immediately block the user and investigate further. |
These thresholds are guidelines. You’ll need to adjust them based on your specific risk tolerance and industry regulations.
Integrating Risk Scores with Your Decision Engine
The real power of identity risk scores lies in their integration with your application’s decision engine. This allows you to automate risk-based actions without manual intervention. Here’s a simplified example using Python and Didit’s API:
import requests
import json
API_KEY = "YOUR_DIDIT_API_KEY"
def verify_user(user_data):
url = "https://api.didit.me/v1/verification"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
data = json.dumps(user_data)
response = requests.post(url, headers=headers, data=data)
return response.json()
user_data = {
"document_type": "driver_license",
"document_image": "...base64 encoded image...",
"selfie_image": "...base64 encoded image...",
}
verification_result = verify_user(user_data)
risk_score = verification_result["risk_score"]
if risk_score <= 20:
print("User auto-approved.")
elif risk_score <= 40:
print("User flagged for monitoring.")
else:
print("User flagged for manual review.")
This example demonstrates how to retrieve the risk score from the API response and use it to trigger different actions. A more sophisticated decision engine might consider other factors, such as transaction amount, user location, and historical data.
How Didit Helps
Didit provides a robust and reliable identity verification platform with a powerful risk scoring system. We offer:
- Comprehensive Data Sources: We leverage a wide range of data points to provide accurate risk assessments.
- Real-Time Scoring: Risk scores are calculated dynamically during the verification process.
- Flexible API: Our API allows for seamless integration with your existing systems.
- Customizable Thresholds: You can adjust risk score thresholds to meet your specific needs.
- Detailed Audit Logs: Track all verification activity for compliance and fraud investigation.
Ready to Get Started?
Don't leave your platform vulnerable to fraud. Integrate Didit’s identity risk scores into your application today.
Resources: