Documentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.
Our Device & IP Analysis process performs comprehensive validation of user locations, network risk, and device fingerprint reuse. This guide explains the structure and contents of a Device & IP Analysis report.
Report Structure
The verification report is returned as a JSON object containing a location object with the following key sections:
- Location Status: Overall session status based on Device & IP Analysis results
- IP Location Data: Geographic information derived from the IP address
- Device Information: Details about the user’s device and browser
- Network Analysis: VPN detection and network provider insights
- Location Comparison: Comparative analysis between IP and document locations
- Cross-Session Matches: Duplicate IP, exact duplicate device, and high-confidence recovered-device context
- Verification Metadata: Additional verification details and timestamps
Core Response Fields
interface IPAnalysisResponse {
location: {
// Verification Status
status: 'Approved' | 'Declined' | 'In Review' | 'Not Finished';
// Device Information
device_brand: string;
device_model: string;
browser_family: string;
os_family: string;
platform: 'mobile' | 'desktop';
// IP Location Data
ip_country: string;
ip_country_code: string;
ip_state: string;
ip_city: string;
latitude: number;
longitude: number;
ip_address: string;
// Network Information
isp: string | null;
organization: string | null;
is_vpn_or_tor: boolean;
is_data_center: boolean;
// Time Zone Data
time_zone: string;
time_zone_offset: string;
// Location Comparison
document_location: {
latitude: number;
longitude: number;
};
ip_location: {
latitude: number;
longitude: number;
};
distance_from_document_to_ip_km: {
distance: number;
direction: string;
};
// Warnings
warnings: {
risk: string;
additional_data: string | null;
log_type: 'information' | 'warning' | 'error';
short_description: string;
long_description: string;
}[];
// Cross-session matches
matches: {
session_id: string;
session_number: number;
vendor_data: string | null;
match_type: 'ip_address' | 'device_fingerprint';
matched_value: string;
device_info: Record<string, unknown> | null;
location_info: Record<string, unknown> | null;
}[];
}
}
Sample JSON Response
{
"ip_analysis": {
"status": "Approved",
"device_brand": "Apple",
"device_model": "iPhone",
"browser_family": "Mobile Safari",
"os_family": "iOS",
"platform": "mobile",
"ip_country": "Spain",
"ip_country_code": "ES",
"ip_state": "Barcelona",
"ip_city": "Barcelona",
"latitude": 41.4022,
"longitude": 2.1407,
"ip_address": "83.50.226.71",
"isp": null,
"organization": null,
"is_vpn_or_tor": false,
"is_data_center": false,
"time_zone": "Europe/Madrid",
"time_zone_offset": "+0100",
"locations_info": {
"ip": {
"location": {"latitude": 40.2206327, "longitude": 1.5770097},
"distance_from_id_document": 23.4,
"distance_from_poa_document": 12.3
},
"id_document": {
"location": {"latitude": 41.2706327, "longitude": 1.9770097},
"distance_from_ip": 23.4,
"distance_from_poa_document": 18.7,
},
"poa_document": {
"location": {"latitude": 41.2706327, "longitude": 1.9770097},
"distance_from_ip": 12.3,
"distance_from_id_document": 18.7
},
},
"warnings": [],
"matches": [],
},
}