---
updatedAt: 2026-08-19T19:09:02.000Z
agentTools:
  projectIndex: https://vision.truepic.dev/llms.txt
---

# Verification Tests

Understand the image authenticity tests Vision applies, what each result means, and where to read them in the API response.

# Vision Test Results

Vision runs a series of authenticity checks on every image and returns a result for each test. Use this guide to understand what each test checks for and how to interpret its outcome.

<Callout icon="📘" theme="info">
  ### **Object detection** and **text detection** are optional. They only appear when your workflow is configured to use them.
</Callout>

***

## Result states

| Result | Meaning                                                                                                         |
| ------ | --------------------------------------------------------------------------------------------------------------- |
| `pass` | The check completed successfully.                                                                               |
| `warn` | Something needs manual review. Not every test returns a warning state.                                          |
| `fail` | A condition was found that is inconsistent with authenticity, expected content, or expected capture conditions. |

***

## Test coverage by image type

Truepics (captured through Truepic's trusted capture flow) support the broadest set of checks because they include cryptographically signed metadata. Non-Truepics support a smaller subset.

| Test                  | Truepics     | Non-Truepics |
| --------------------- | ------------ | ------------ |
| Blurriness            | ✅            | —            |
| Date/Time             | ✅            | —            |
| Distance from Address | ✅            | —            |
| Capture Integrity     | ✅            | —            |
| Data Transfer         | ✅            | —            |
| Device Integrity      | ✅            | —            |
| Geolocation           | ✅            | —            |
| Picture of Screen     | ✅            | ✅            |
| Object Detection      | ✅ (optional) | ✅ (optional) |
| Odometer Detection    | ✅ (optional) | ✅ (optional) |
| Text Detection        | ✅ (optional) | ✅ (optional) |
| VIN Detection         | ✅ (optional) | ✅ (optional) |

***

## Truepic-only tests

These checks require the full trusted capture chain and are not available for non-Truepics.

### Image quality & timing

| Test                      | What it checks                                        | Pass                             | Warn                            | Fail                                                                | API attribute |
| ------------------------- | ----------------------------------------------------- | -------------------------------- | ------------------------------- | ------------------------------------------------------------------- | ------------- |
| Blurriness                | Image is sharp enough to analyze.                     | —                                | Photo is too blurry to analyze. | —                                                                   | —             |
| Date/Time                 | Device time matches server time and was not modified. | Within 5 minutes of server time. | —                               | More than 5 minutes apart, or metadata may have been tampered with. | `time_result` |
| Device time is inaccurate | Customer did not manually change the device clock.    | Device time matches actual time. | —                               | Device time differs from actual time.                               | `time_result` |

### Location

| Test                  | What it checks                                                       | Pass                             | Warn | Fail                                                     | API attribute                                      |
| --------------------- | -------------------------------------------------------------------- | -------------------------------- | ---- | -------------------------------------------------------- | -------------------------------------------------- |
| Distance from Address | Image was captured within the expected distance of a given address.  | Within the configured threshold. | —    | Outside the configured threshold.                        | `distance_from_customer_address_exceeds_threshold` |
| Geolocation           | GPS data matches the true capture location and has not been spoofed. | Accurate; no tampering detected. | —    | Inconsistencies suggest location data was tampered with. | `geolocation_result`                               |

### File & device integrity

| Test              | What it checks                                                 | Pass                              | Warn                                                                             | Fail                                                                                   | API attribute              |
| ----------------- | -------------------------------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------- |
| Capture Integrity | Cryptographically signed details are verified and unmodified.  | Securely signed; tamper-proof.    | One or more details could not be verified. Photo is usable but not tamper-proof. | —                                                                                      | `capture_integrity_result` |
| Data Transfer     | Image was not tampered with during upload.                     | Transferred without modification. | —                                                                                | Compromised images are rejected outright.                                              | `data_result`              |
| Device Integrity  | Device has not been jailbroken, rooted, or otherwise modified. | Device is unmodified.             | —                                                                                | OS has been modified, allowing unauthorized software. Image may have been manipulated. | `jailbreak_result`         |

***

## Tests available for all image types

These checks run on both Truepics and non-Truepics, though some result states differ between the two.

### Picture of screen

Detects whether the image was re-captured from a photo displayed on a screen or printed on paper.

| Pass                | Warn                                                                             | Fail                                             | API attribute |
| ------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------ | ------------- |
| No screen detected. | A screen was found — review to determine if it is benign or a re-captured photo. | A screen was found — likely a re-captured photo. | `pop_result`  |

***

## Optional tests (when configured)

### Object Detection

Checks whether the expected object is present in the image.

| Pass                      | Warn                                        | API attribute             |
| ------------------------- | ------------------------------------------- | ------------------------- |
| Expected object detected. | None of the selected objects were detected. | `object_detection_result` |

### Odometer Detection

Checks whether the odometer reading falls within the expected min/max range.

| Pass                             | Warn                              | Fail                | API attribute                                |
| -------------------------------- | --------------------------------- | ------------------- | -------------------------------------------- |
| Odometer found and within range. | Odometer found but outside range. | Odometer not found. | `content_analysis_result` (type: `ODOMETER`) |

### VIN Detection

| Pass                        | Warn                | Fail              | API attribute                           |
| --------------------------- | ------------------- | ----------------- | --------------------------------------- |
| VIN matches expected value. | VIN does not match. | VIN not detected. | `content_analysis_result` (type: `VIN`) |

### Text Detection

| Pass                 | Warn                     | API attribute                                             |
| -------------------- | ------------------------ | --------------------------------------------------------- |
| Expected text found. | Expected text not found. | `content_analysis_result` (text-based matching workflows) |

***

## Reading results in the API

Every inspection response contains results at two levels:

* **Inspection-level summary** — check `result.verification_result` for the overall outcome, and `result.alert` to see which photos triggered warnings or failures.
* **Per-photo results** — each object in `result.photos` contains test-specific fields:

| Field                      | Test                            |
| -------------------------- | ------------------------------- |
| `time_result`              | Date/Time, Device time accuracy |
| `capture_integrity_result` | Capture Integrity               |
| `data_result`              | Data Transfer                   |
| `jailbreak_result`         | Device Integrity                |
| `geolocation_result`       | Geolocation                     |
| `pop_result`               | Picture of Screen               |
| `object_detection_result`  | Object Detection                |
| `content_analysis_result`  | Odometer, VIN, Text Detection   |

For a full walkthrough of the inspection response, see [Get Inspection Details](https://vision.truepic.dev/docs/view-inspections). For routing logic and threshold-based recommendations, see [Alerts](https://vision.truepic.dev/docs/alerts).