| id* | string(uuid) | Unique identifier for the verification |
| anchored_in | object[] | Offloads whose anchored hash lists contain this verification's RAW file (ACQUISITION_MANIFEST_PLAN.md §4). anchored_at is attested by the timestamp authority; it is distinct from and earlier than verification time. |
| status* | "pending" | "queued" | "in_progress" | "completed" | "failed" | Current processing status of the verification |
| results* | object[] | Array of detailed results from each verification algorithm |
| result* | boolean | Overall authenticity determination: true = authentic, false = not authentic, null = pending |
| result_confidence* | number | Confidence score from 0.0 to 1.0 for the overall result |
| assurance_level | "verified" | "provisional" | "provenance" | "unrated" | "flagged" | Graded assurance level: verified/provisional (capture verified) | provenance (C2PA only) | unrated | flagged. Prefer this and capture_verified over the legacy `result` boolean. |
| assurance_reason | string | Qualifier for the level, e.g. 'unrated_no_evidence' or 'unrated_unsupported_format' |
| verdict | "ai_declared" | "modified_after_signing" | "provenance_verified" | "self_declared_ai" | "unrated" | Evidence-report verdict category (image-only). Additive: assurance_level is derived from it by a fixed mapping, so the two can never contradict. |
| verdict_reason | "watermark_detected" | "c2pa_generative_declared" | "tampered" | "invalid_signature" | "c2pa_trusted_capture" | "untrusted_signer_generative" | "iptc_digital_source_type" | "generator_metadata" | "container_signature" | "untrusted_signer" | "trust_unverified" | "no_capture_claim" | "no_trusted_timestamp" | "unlisted_actions_present" | "computational_capture_only" | "unrated_indeterminate" | "unrated_reviewed_clean" | "unrated_no_evidence" | Machine-readable refinement of the verdict, e.g. 'c2pa_trusted_capture' |
| evidence_report | object | Full evidence report (findings, coverage, boundaries) for completed image-only verifications |
| verification_mode | "raw_pair" | "image_only" | Inputs used: raw_pair or image_only |
| capture_verified | boolean | True only when optical capture was forensically verified (verified/provisional). Integrators should treat this as the authoritative 'passed' signal. |
| raw_metadata* | object | EXIF and technical metadata from the RAW file |
| image_metadata* | object | EXIF and technical metadata from the JPEG file |
| rendition_info* | object | Transformation details between RAW and JPEG |
| rendition_corrected_info* | object | Lens-corrected transformation details between RAW and JPEG |
| raw_photo_hash* | string | SHA-256 hash of the RAW file for integrity verification |
| image_photo_hash* | string | SHA-256 hash of the JPEG file for integrity verification |
| image_thumbnail_url* | string | CDN URL for the verification thumbnail image |
| name* | string | User-provided name or original filename |
| account_id* | string(uuid) | Account that owns this verification |
| updated_at* | string(date-time) | ISO 8601 timestamp of last update |
| created_at* | string(date-time) | ISO 8601 timestamp when verification was created |
| security_score | number | Device security score from 0.0 to 1.0 if attestation was provided. Higher = more trustworthy. |
| attestation_validated | boolean | Whether device attestation was provided and validated |
| device_fingerprint_id | string | Unique identifier for the device that captured the photo |
| camera_fingerprint_id | string | Unique identifier for the camera hardware used |
| sequence_number | integer | Sequential capture number from the app session for tamper detection |
| integrity_score | number | App integrity score from attestation (0.0 to 1.0) |
| jailbreak_indicators | string[] | List of detected jailbreak/root indicators on the device |
| capture_gps_latitude | number | GPS latitude at time of capture |
| capture_gps_longitude | number | GPS longitude at time of capture |