Didit Console

Report

Our IP Analysis process performs comprehensive validation of user locations based on IP addresses and device information. This guide explains the structure and contents of an 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 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
  • 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;
    }[];
  }
}

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": [],
  },
}

📘

For more information about potential warnings during the IP analysis process, check our IP Analysis Warnings guide.