> ## Documentation Index
> Fetch the complete documentation index at: https://docs.verisoul.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Response Signals

> Interpret the signals returned by ID Check verification

When you call [/verify-id](/api-reference/id-check/verify-id), Verisoul returns an overall decision along with the underlying risk signals captured during the session. Use this page as a reference for interpreting everything the endpoint returns.

## Interpreting the Response

The endpoint provides three values to help interpret the risk of the user and their document:

1. **Decision** -> an overall decision; Real, Suspicious, or Fake
2. **Risk Score** -> a 0-1 number score representing the overall risk of the user
3. **Risk Flags** -> an array of string flags that summarize the risky aspects of the user's session

<Tip>
  See here for the full set of [risk flags](/verifications/id-check/resources/risk-flags)
</Tip>

For more nuanced decisioning you can also interpret the other risk signals captured in the session.

## Device and Network Signals

Device and network Signals are information about the user's exact device and connecting network.

<table className="w-full border-collapse">
  <thead>
    <tr>
      <th className="p-3 text-left bg-gray-100 border">Name</th>
      <th className="p-3 text-left bg-gray-100 border">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td className="p-3 border">device\_risk</td>
      <td className="p-3 border">Device likely emulator, VM</td>
    </tr>

    <tr>
      <td className="p-3 border">proxy</td>
      <td className="p-3 border">ID Check on a proxy IP</td>
    </tr>

    <tr>
      <td className="p-3 border">vpn</td>
      <td className="p-3 border">ID Check on a VPN IP</td>
    </tr>

    <tr>
      <td className="p-3 border">datacenter</td>
      <td className="p-3 border">ID Check on a datacenter</td>
    </tr>

    <tr>
      <td className="p-3 border">tor</td>
      <td className="p-3 border">ID Check on a TOR IP</td>
    </tr>

    <tr>
      <td className="p-3 border">recent\_fraud\_ip</td>
      <td className="p-3 border">ID Check on an IP reported as fraud</td>
    </tr>

    <tr>
      <td className="p-3 border">device\_network\_mismatch</td>
      <td className="p-3 border">Device user agent is inconsistent with connecting network fingerprint</td>
    </tr>
  </tbody>
</table>

## Document Signals

Document Signals refers to the authenticity of the identity document.

<table className="w-full border-collapse">
  <thead>
    <tr>
      <th className="p-3 text-left bg-gray-100 border">Name</th>
      <th className="p-3 text-left bg-gray-100 border">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td className="p-3 border">id\_age</td>
      <td className="p-3 border">Age of the person on the identity document, calculated from the date of birth on the ID</td>
    </tr>

    <tr>
      <td className="p-3 border">face\_age\_estimate</td>
      <td className="p-3 border">Estimated age bracket of the person in the captured selfie, independent of the date of birth on the ID. The highest bracket the person clearly appears to exceed. One of <code>under8</code>, <code>over8</code>, <code>over13</code>, <code>over16</code>, <code>over18</code>, <code>over21</code>, <code>over25</code>, <code>over30</code>, <code>over40</code>, <code>over50</code>, <code>over65</code>, or <code>null</code> when unavailable</td>
    </tr>

    <tr>
      <td className="p-3 border">id\_face\_match\_score</td>
      <td className="p-3 border">Match level of face on ID and face scanned. 1.0 is highest match</td>
    </tr>

    <tr>
      <td className="p-3 border">id\_barcode\_status</td>
      <td className="p-3 border">Status of the barcode on the identity document</td>
    </tr>

    <tr>
      <td className="p-3 border">id\_face\_status</td>
      <td className="p-3 border">Status of the face on the identity document</td>
    </tr>

    <tr>
      <td className="p-3 border">id\_text\_status</td>
      <td className="p-3 border">Status of the text information on the identity document</td>
    </tr>

    <tr>
      <td className="p-3 border">is\_id\_digital\_spoof</td>
      <td className="p-3 border">Whether the identity document has been digitally spoofed</td>
    </tr>

    <tr>
      <td className="p-3 border">is\_full\_id\_captured</td>
      <td className="p-3 border">Whether ID Check was able to capture the full document</td>
    </tr>

    <tr>
      <td className="p-3 border">id\_validity</td>
      <td className="p-3 border">Whether identity document presented is authentic or fake</td>
    </tr>
  </tbody>
</table>

## Referring Session Signals

Referring Session Signals will only be present if you initialized the session with a `referring_session_id` parameter.

<table className="w-full border-collapse">
  <thead>
    <tr>
      <th className="p-3 text-left bg-gray-100 border">Name</th>
      <th className="p-3 text-left bg-gray-100 border">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td className="p-3 border">impossible\_travel</td>
      <td className="p-3 border">Referring session geolocation is far from ID Check geolocation relative to timespan</td>
    </tr>

    <tr>
      <td className="p-3 border">ip\_mismatch</td>
      <td className="p-3 border">Referring session IP different than ID Check session IP</td>
    </tr>

    <tr>
      <td className="p-3 border">user\_agent\_mismatch</td>
      <td className="p-3 border">Referring session user agent different than ID Check session user agent</td>
    </tr>
  </tbody>
</table>

## Multi Accounting

ID Check will calculate any potential matches based on five identifiers captured during all sessions.

<table className="w-full border-collapse">
  <thead>
    <tr>
      <th className="p-3 text-left bg-gray-100 border">Match Type</th>
      <th className="p-3 text-left bg-gray-100 border">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td className="p-3 border">browser</td>
      <td className="p-3 border">ID Check session was completed on the same browser session</td>
    </tr>

    <tr>
      <td className="p-3 border">ip\_address</td>
      <td className="p-3 border">ID Check session shares the same ip address</td>
    </tr>

    <tr>
      <td className="p-3 border">face</td>
      <td className="p-3 border">ID Check session shares the same face</td>
    </tr>

    <tr>
      <td className="p-3 border">document\_name</td>
      <td className="p-3 border">ID Check session shares the same name and date of birth</td>
    </tr>

    <tr>
      <td className="p-3 border">document\_number</td>
      <td className="p-3 border">ID Check session shares the same document type and number</td>
    </tr>
  </tbody>
</table>
