Lens API

Learn about the API's verification and analysis features

The Lens API is a suite of post-capture processing and image verification services. The results are returned as JSON and can optionally contain each of the detailed sections that follow.

Verification

Get a full JSON report of the content credentials in the media file. Critical details are secured directly into the media, so no need to check a central database or blockchain.

Trusted Certificate Details

The verified details within every native mobile-captured Truepic are signed with a key and a corresponding certificate using a public key infrastructure (PKI) system. Truepic's Certificate Authority issued the certificate, which ladders to Truepic's trusted Root. This Certificate Authority and our use of PKI ensures that the chain is secure and provides specific details that can be referred to when viewing a Truepic. Every Truepic will provide the following information about the certificate:

FieldDescription
Issuer NameThe name of Truepic's specific Certificate Authority that issued this certificate.
OrganizationThe name of the parent organization that owns this mobile app, which is your company, as provided to Truepic during onboarding.
Organizational UnitThe name of the specific organizational unit, division, or application that owns this mobile app, which was provided to Truepic when onboarding.
NameThe "name" (CN, Common Name) of the specific certificate, which is not a unique name, but does contain specific details about the Lens SDK, its version, and the mobile app's name and version.
Valid From and Valid ToThese combined form the "validity window" of this specific certificate. Like a driver's license or passport, Truepic's Certificate Authority issues certificates that can only be used for a limited time. For a Truepic to be "valid," the protected data must have been signed (and ideally timestamped) within that time frame.

Verified, Trustworthy Metadata

These results, which are collectively called assertions within a Truepic file and JSON response, include original pixels, time, date, location, device make and model, and an original thumbnail to refer back to in the event additional C2PA compliant edits have been made after the point of capture.


Reverse Geocoded Location

These results include the capture address, which we reverse geocode from the verified latitude and longitude sealed in the file.



Image Analysis

The API surfaces content manipulation with reverse image search, picture-of-screen detection, object and text extraction, and more. These features are currently available for images (JPEGs) only but can be performed on non-original photos and Truepics alike.

Recapture Detection

Also known as picture-of-picture, these results include our top-level analysis output and various additional scores that you can use to enhance any internal algorithms you have pre-built.

Here is a sample of an image that "Passed" (no signs of recapture detected):

Here is a sample of an image that Truepic flagged as a recapture:


Field

Description

Status

Truepic's string-based result of our analysis. The possible values are:
"Pass" - Recapture not detected and likely an original photo.
"Recapture" A picture of a picture on a screen. Review to determine whether this is a nefarious attempt at capturing a picture of another picture.
"Warning" - There is a screen within this photo. Review to determine whether this is a picture of a screen or a nefarious attempt at capturing a picture of a picture on a screen.
"Blurry"- The photo was too blurry to analyze and must be manually reviewed.
"Low Entropy" - This photo likely had an issue with the capture, e.g., a finger was covering the lens.

Blur Score

The raw "blur" score, for your own analysis. We flag a photo as blurry if the value is below 40. The range of possible values is 0-3000.

Entropy Score

The raw "entropy" score. We flag a photo as low entropy if the value is below 0.02. The range of possible values is ~ 0-2.0.

Recapture Score

The raw "recapture" score. We flag a photo as a recapture if it exceeds 0.5. The possible values are 0 through 1.0. We base our "warning" flag on a secondary analysis that determines whether or not the photo contains indications of a screen.

Shutter Speed

The camera's shutter speed when capturing the image.


Image Search

Also known as reverse image search, these results display whether or not we can identify an exact match across the internet. Here is a sample where we found an exact match:


Field

Description

Status

The status is Truepic's string-based result of our analysis. The possible values are:
"No Match" - We did not find a match online. Please note that heavily cropped images or photos captured in drastically different lighting conditions may not return a result even if a known match exists.
"Match" - We found a match across the internet. Truepic whittled the results to the most likely actual match and returned its URL.


Text Detection

Also known as optical character recognition, these results display any identified strings throughout the photo and the location where they can be found within the image.


Object Detection

These results contain two parts.

  1. Object localization shows specific objects found and the location within the photo where they can be found.

  1. Label detection lists specific tags that may apply to the various objects within the photo, but it does not include the location of any.


Putting it All Together

The API allows you to request some or all of those sections by specifying which options you'd like to include (all options are included by default). By including all available options, the Truepic at the top of the page returns the following full JSON response, which is full of valuable data:

{  
  "label_detection": [  
    {  
      "label": "Cloud",  
      "score": 0.9806085228919983  
    },  
    {  
      "label": "Sky",  
      "score": 0.9606692790985107  
    },  
    {  
      "label": "Building",  
      "score": 0.9273845553398132  
    },  
    {  
      "label": "Window",  
      "score": 0.8927944302558899  
    },  
    {  
      "label": "Natural landscape",  
      "score": 0.860206663608551  
    },  
    {  
      "label": "Cumulus",  
      "score": 0.8146103024482727  
    },  
    {  
      "label": "Grass",  
      "score": 0.8122943639755249  
    },  
    {  
      "label": "Residential area",  
      "score": 0.8075087666511536  
    },  
    {  
      "label": "Tree",  
      "score": 0.8053850531578064  
    },  
    {  
      "label": "Landscape",  
      "score": 0.782183825969696  
    }  
  ],  
  "metadata": {  
    "EXIF:ISO": 50,  
    "EXIF:Make": "Apple",  
    "JUMBF:Alg": "sha256",  
    "JUMBF:Pad": "(Binary)",  
    "EXIF:Flash": "Off, Did not fire",  
    "EXIF:Model": "iPhone 12 Pro Max",  
    "JUMBF:Hash": "(Binary)",  
    "JUMBF:Name": "Encoded Image",  
    "Extended:TZ": "UTC-4",  
    "JUMBF:Item0": "(Binary)",  
    "JUMBF:Item1": {  
      "pad": "(Binary)",  
      "sigTst": {  
        "tstTokens": [  
          {  
            "val": "(Binary)"  
          }  
        ]  
      },  
      "x5chain": "(Binary)"  
    },  
    "JUMBF:Item2": null,  
    "JUMBF:Item3": "(Binary)",  
    "JUMBF:Title": "10BC4A15-663B-47C9-886D-358E3D951DD7.jpg",  
    "EXIF:FNumber": 1.6,  
    "JUMBF:Format": "image/jpeg",  
    "MPF:MPImage2": "(Binary)",  
    "Composite:FOV": "69.4 deg",  
    "EXIF:LensInfo": "5.1mm f/1.6",  
    "EXIF:LensMake": "Apple",  
    "EXIF:Software": 15.5,  
    "Extended:Make": "Apple",  
    "File:FileType": "JPEG",  
    "File:MIMEType": "image/jpeg",  
    "JUMBF:Context": {  
      "dc": "<http://purl.org/dc/elements/1.1/">,  
      "rdf": "<http://www.w3.org/1999/02/22-rdf-syntax-ns#">,  
      "xmp": "<http://ns.adobe.com/xap/1.0/">,  
      "EXIF": "<http://ns.adobe.com/EXIF/1.0/">,  
      "tiff": "<http://ns.adobe.com/tiff/1.0/">,  
      "EXIFEX": "<http://cipa.jp/EXIF/2.32/>"  
    },  
    "EXIF:LensModel": "iPhone 12 Pro Max back camera 5.1mm f/1.6",  
    "EXIF:SceneType": "Directly photographed",  
    "Extended:Model": "iPhone 12 Pro Max",  
    "JUMBF:EXIFMake": "Apple",  
    "JUMBF:JUMDType": "(c2pa)-0011-0010-800000aa00389b71",  
    "MPF:MPFVersion": "0100",  
    "EXIF:ColorSpace": "Uncalibrated",  
    "EXIF:CreateDate": "2022-05-31T12:27:47.000-04:00",  
    "EXIF:ModifyDate": "2022-05-31T12:27:47.000-04:00",  
    "EXIF:OffsetTime": "-04:00",  
    "File:ImageWidth": 4032,  
    "JUMBF:EXIFModel": "iPhone13,4",  
    "JUMBF:JUMDLabel": "c2pa",  
    "JUMBF:Signature": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.signature",  
    "MPF:MPImageType": "Undefined",  
    "Composite:LensID": "iPhone 12 Pro Max back camera 5.1mm f/1.6",  
    "EXIF:ExifVersion": "0232",  
    "EXIF:FocalLength": "5.1 mm",  
    "EXIF:Orientation": 6,  
    "EXIF:SubjectArea": "962 967 717 756",  
    "EXIF:XResolution": 72,  
    "EXIF:YResolution": 72,  
    "File:ImageHeight": 3024,  
    "JFIF:JFIFVersion": 1.01,  
    "JFIF:XResolution": 300,  
    "JFIF:YResolution": 300,  
    "JUMBF:Assertions": [  
      {  
        "alg": "sha256",  
        "url": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.assertions/stds.exif",  
        "hash": "(Binary)"  
      },  
      {  
        "alg": "sha256",  
        "url": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.assertions/stds.exif__1",  
        "hash": "(Binary)"  
      },  
      {  
        "alg": "sha256",  
        "url": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.assertions/stds.exif__2",  
        "hash": "(Binary)"  
      },  
      {  
        "alg": "sha256",  
        "url": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.assertions/c2pa.thumbnail.claim.jpeg",  
        "hash": "(Binary)"  
      },  
      {  
        "alg": "sha256",  
        "url": "self#jumbf=/c2pa/Truepic Lens SDK v1.0.0.141:urn:uuid:3cc8f4fe-bd81-4aec-8ed1-8fdc2c6f8067/c2pa.assertions/c2pa.hash.data",  
        "hash": "(Binary)"  
      }  
    ],  
    "JUMBF:Exclusions": {  
      "start": 0,  
      "length": 48737  
    },  
    "JUMBF:InstanceID": "10BC4A15-663B-47C9-886D-358E3D951DD7.jpg",  
    "MPF:MPImageFlags": "(none)",  
    "MPF:MPImageStart": 2518375,  
    "EXIF:ExposureMode": "Auto",  
    "EXIF:ExposureTime": "1/2717",  
    "EXIF:HostComputer": "iPhone 12 Pro Max",  
    "EXIF:MeteringMode": "Multi-segment",  
    "EXIF:WhiteBalance": "Auto",  
    "Extended:Software": 15.5,  
    "Extended:TZSource": "offsetMinutesToZoneName from OffsetTime",  
    "MPF:MPImageFormat": "JPEG",  
    "MPF:MPImageLength": 123574,  
    "Composite:Aperture": 1.6,  
    "EXIF:ApertureValue": 1.6,  
    "EXIF:SensingMethod": "One-chip color area",  
    "File:BitsPerSample": 8,  
    "File:ExifByteOrder": "Big-endian (Motorola, MM)",  
    "ICC_Profile:RedTRC": "(Binary)",  
    "MPF:NumberOfImages": 2,  
    "Composite:ImageSize": "4032x3024",  
    "EXIF:CompositeImage": "General Composite Image",  
    "EXIF:ExifImageWidth": 4032,  
    "EXIF:ResolutionUnit": "inches",  
    "Extended:CreateDate": "2022-05-31T12:27:47.000-04:00",  
    "Extended:ModifyDate": "2022-05-31T12:27:47.000-04:00",  
    "ICC_Profile:BlueTRC": "(Binary)",  
    "JFIF:ResolutionUnit": "inches",  
    "Composite:LightValue": 13.8,  
    "Composite:Megapixels": 12.2,  
    "EXIF:BrightnessValue": 10.70360577,  
    "EXIF:ExifImageHeight": 3024,  
    "EXIF:ExposureProgram": "Program AE",  
    "EXIF:FlashpixVersion": "0100",  
    "File:ColorComponents": 3,  
    "File:EncodingProcess": "Baseline DCT, Huffman coding",  
    "ICC_Profile:CMMFlags": "Not Embedded, Independent",  
    "ICC_Profile:GreenTRC": "(Binary)",  
    "EXIF:DateTimeOriginal": "2022-05-31T12:27:47.000-04:00",  
    "EXIF:SceneCaptureType": "Standard",  
    "EXIF:YCbCrPositioning": "Centered",  
    "File:YCbCrSubSampling": "YCbCr4:2:0 (2 2)",  
    "ICC_Profile:ProfileID": "ecfda38e388547c36db4bd4f7ada182f",  
    "JUMBF:Claim_generator": "Truepic Lens SDK v1.0.0.141",  
    "JUMBF:EXIFGPSAltitude": 133.7,  
    "JUMBF:EXIFGPSLatitude": 43.161891659905,  
    "Composite:ShutterSpeed": "1/2717",  
    "EXIF:ShutterSpeedValue": "1/2717",  
    "File:FileTypeExtension": "jpg",  
    "JUMBF:EXIFGPSLongitude": -77.61645315949,  
    "JUMBF:EXIFGPSTimeStamp": "2022-05-31T12:27:46.000-04:00",  
    "EXIF:OffsetTimeOriginal": "-04:00",  
    "EXIF:SubSecTimeOriginal": 748,  
    "ICC_Profile:DeviceModel":"  ",  
    "MakerNotes:RunTimeEpoch": 0,  
    "MakerNotes:RunTimeFlags": "Valid",  
    "MakerNotes:RunTimeScale": 1000000000,  
    "MakerNotes:RunTimeValue": 578363255410541,  
    "EXIF:OffsetTimeDigitized": "-04:00",  
    "EXIF:SubSecTimeDigitized": 748,  
    "File:JPEGQualityEstimate": 95,  
    "ICC_Profile:ProfileClass": "Display Device Profile",  
    "EXIF:ExposureCompensation": 0,  
    "Composite:FocalLength35efl": "5.1 mm (35 mm equivalent: 26.0 mm)",  
    "Composite:ScaleFactor35efl": 5.1,  
    "Composite:SubSecCreateDate": "2022-05-31T12:27:47.748-04:00",  
    "Composite:SubSecModifyDate": "2022-05-31T12:27:47.000-04:00",  
    "ICC_Profile:ColorSpaceData": "RGB ",  
    "ICC_Profile:ProfileCMMType": "Apple Computer Inc.",  
    "ICC_Profile:ProfileCreator": "Apple Computer Inc.",  
    "ICC_Profile:ProfileVersion": "4.0.0",  
    "JUMBF:EXIFDateTimeOriginal": "2022-05-31T12:27:46.000-04:00",  
    "Composite:CircleOfConfusion": "0.006 mm",  
    "ICC_Profile:MediaWhitePoint": "0.96419 1 0.82489",  
    "ICC_Profile:PrimaryPlatform": "Apple Computer Inc.",  
    "ICC_Profile:ProfileDateTime": "2022-01-01T00:00:00.000-04:00",  
    "ICC_Profile:RedMatrixColumn": "0.51512 0.2412 -0.00105",  
    "ICC_Profile:RenderingIntent": "Perceptual",  
    "JUMBF:Claim_generator_hints": {  
      "Sec-CH-UA": "Truepic C2PA C++ Library",  
      "Sec-CH-UA-C2PA-Library-Version": "1.2.2",  
      "Sec-CH-UA-C2PA-Library-Git-Hash": "v1.2.2",  
      "Sec-CH-UA-Target-C2PA-Spec-Version": 1  
    },  
    "Composite:HyperfocalDistance": "2.76 m",  
    "EXIF:ComponentsConfiguration": "Y, Cb, Cr, -",  
    "EXIF:FocalLengthIn35mmFormat": "26 mm",  
    "ICC_Profile:BlueMatrixColumn": "0.1571 0.06657 0.78407",  
    "ICC_Profile:DeviceAttributes": "Reflective, Glossy, Positive, Color",  
    "ICC_Profile:ProfileCopyright": "Copyright Apple Inc., 2022",  
    "Composite:RunTimeSincePowerUp": "6 days 16:39:23",  
    "ICC_Profile:GreenMatrixColumn": "0.29198 0.69225 0.04189",  
    "MakerNotes:AccelerationVector": "-0.007954077795 -0.9818675517 0.2275678811",  
    "ICC_Profile:DeviceManufacturer": "Apple Computer Inc.",  
    "ICC_Profile:ProfileDescription": "Display P3",  
    "MPF:DependentImage1EntryNumber": 0,  
    "MPF:DependentImage2EntryNumber": 0,  
    "ICC_Profile:ChromaticAdaptation": "1.04788 0.02292 -0.0502 0.02959 0.99048 -0.01706 -0.00923 0.01508 0.75168",  
    "JUMBF:EXIFGPSHorizontalAccuracy": 4.7,  
    "Composite:SubSecDateTimeOriginal": "2022-05-31T12:27:47.748-04:00",  
    "ICC_Profile:ProfileFileSignature": "acsp",  
    "JUMBF:C2paThumbnailClaimJpegData": "(Binary)",  
    "JUMBF:C2paThumbnailClaimJpegType": "image/jpeg",  
    "ICC_Profile:ProfileConnectionSpace": "XYZ ",  
    "ICC_Profile:ConnectionSpaceIlluminant": "0.9642 1 0.82491"  
  },  
  "object_detection": \[  
    {  
      "name": "Building",  
      "score": 0.7205773591995239,  
      "bounding_polygon": [  
        {  
          "x": 0.6448759436607361,  
          "y": 0.54378342628479  
        },  
        {  
          "x": 0.9943053126335144,  
          "y": 0.54378342628479  
        },  
        {  
          "x": 0.9943053126335144,  
          "y": 0.7888028025627136  
        },  
        {  
          "x": 0.6448759436607361,  
          "y": 0.7888028025627136  
        }  
      ]  
    },  
    {  
      "name": "Building",  
      "score": 0.6411392688751221,  
      "bounding_polygon": [  
        {  
          "x": 0.3463599383831024,  
          "y": 0.5731697678565979  
        },  
        {  
          "x": 0.5145196318626404,  
          "y": 0.5731697678565979  
        },  
        {  
          "x": 0.5145196318626404,  
          "y": 0.6869614124298096  
        },  
        {  
          "x": 0.3463599383831024,  
          "y": 0.6869614124298096  
        }  
      ]  
    }  
  ],  
  "recapture": {  
    "status": "PASS",  
    "blur_score": 729,  
    "entropy_score": 1.05,  
    "recapture_score": 0  
  },  
  "reverse_image_search": {  
    "status": "NO_MATCH",  
    "url": null  
  },  
  "text_detection": \[  
    {  
      "text": "EM\\nHIGH\\nFALLS\\nHistoric Distr",  
      "locale": "en",  
      "bounding_polygon": [  
        {  
          "x": 0.7764550264550265,  
          "y": 0.6011904761904762  
        },  
        {  
          "x": 0.8356481481481481,  
          "y": 0.6011904761904762  
        },  
        {  
          "x": 0.8356481481481481,  
          "y": 0.6889880952380952  
        },  
        {  
          "x": 0.7764550264550265,  
          "y": 0.6889880952380952  
        }  
      ]  
    },  
    {  
      "text": "EM",  
      "locale":"  ",  
      "bounding_polygon": [  
        {  
          "x": 0.7771164021164021,  
          "y": 0.6024305555555556  
        },  
        {  
          "x": 0.8330026455026455,  
          "y": 0.6011904761904762  
        },  
        {  
          "x": 0.833994708994709,  
          "y": 0.6247519841269841  
        },  
        {  
          "x": 0.7781084656084656,  
          "y": 0.6259920634920635  
        }  
      ]  
    },  
    {  
      "text": "HIGH",  
      "locale":"  ",  
      "bounding_polygon": [  
        {  
          "x": 0.7784391534391535,  
          "y": 0.6453373015873016  
        },  
        {  
          "x": 0.830026455026455,  
          "y": 0.644593253968254  
        },  
        {  
          "x": 0.8306878306878307,  
          "y": 0.667906746031746  
        },  
        {  
          "x": 0.7791005291005291,  
          "y": 0.6686507936507936  
        }  
      ]  
    },  
    {  
      "text": "FALLS",  
      "locale":"  ",  
      "bounding_polygon": [  
        {  
          "x": 0.781084656084656,  
          "y": 0.6731150793650794  
        },  
        {  
          "x": 0.8316798941798942,  
          "y": 0.6733630952380952  
        },  
        {  
          "x": 0.8316798941798942,  
          "y": 0.6830357142857143  
        },  
        {  
          "x": 0.781084656084656,  
          "y": 0.6827876984126984  
        }  
      ]  
    },  
    {  
      "text": "Historic",  
      "locale":"  ",  
      "bounding_polygon": [  
        {  
          "x": 0.7860449735449735,  
          "y": 0.6850198412698413  
        },  
        {  
          "x": 0.8065476190476191,  
          "y": 0.6852678571428571  
        },  
        {  
          "x": 0.8065476190476191,  
          "y": 0.6887400793650794  
        },  
        {  
          "x": 0.7860449735449735,  
          "y": 0.6884920634920635  
        }  
      ]  
    },  
    {  
      "text": "Distr",  
      "locale":"  ",  
      "bounding_polygon": [  
        {  
          "x": 0.8095238095238095,  
          "y": 0.685515873015873  
        },  
        {  
          "x": 0.8263888888888888,  
          "y": 0.6857638888888888  
        },  
        {  
          "x": 0.8263888888888888,  
          "y": 0.6889880952380952  
        },  
        {  
          "x": 0.8095238095238095,  
          "y": 0.6887400793650794  
        }  
      ]  
    }  
  ],  
  "verification": {  
    "status": "SUCCESS",  
    "assertions": {  
      "hash": {  
        "status": "VALID"  
      },  
      "thumbnail": {  
        "status": "VALID",  
        "url": "<https://s3.us-east-2.amazonaws.com/lens-captures-staging/0c30bc72-05c7-492b-a6eb-39c634ff7fd8_t.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIASOSZDTMLE6MQC5P3%2F20220606%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20220606T153509Z&X-Amz-Expires=36000&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMiJHMEUCIQCW0fAihuB5Xufm1fYsLqjVwD55I7Vxqn6nlyhRpufKaQIgArp9081j3Xe21X250nD%2FuwVlCqJKTLmZ4kPTaEQxUC0q3AQIv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARACGgwxNjg3NjQzNDkyMDYiDD3wfnyGMMdIC0eSgiqwBDgYgOA1du0KAhxs4EoVA5OdzdOIA95jIfWEPCUUMBPnJgdxG6azhvh7k%2Fo2UdZyxUsLBrkpKxwHCtOjPpIgNnG7CzS3eelI8qTsakAuB5SgosIabR2qLu%2FpLNmTW4xIC5P47QCjtOXFxneN%2BU3dAN7IkOfOU6KxAOHte1bxjpcIfxZ0fZRRIPR4%2Bz5oN%2FkIp7O4DvMyge0gqdO3v%2BeCiUOw0LmI9ODRDnxu7rYwTn4Hkd0OVP4ir4cKlELakvt5nJoQsmXfIqKrthJk8CxOZZyZYB9vL7LwSptBbnHndApsOM3pH8gPK3PrTt40BjjMZBO6SBH%2B3vI47P3TwbP3XeJWMPPuHc6RZPQMeYWiT8gHqiTjzEtN8ST6JWhOpjY45NkkQa1%2FCtp2zz0KTChZALMHYl2CCoog3NDzac4mcccGJhxFQ2m8qm5qvSF9x34EC9441K%2BRnlPRZisSPHbQQYBYlCiOWlYXJGsNmxn3zPZ9OXgX9y4y4GwK60G3BP%2FmqbTdV22hNoENOZrXA36VDGu%2BE8%2Bfl3i8r8iswCSaR31TNtafjyz3HXbFwa2w4KORxcq8ntIQiwIoBwgI9ZKfpvQyNTH1wpn6hkMcwfQj3rLL68WbBQuNKPsuvpa%2Bn0azbA%2F5z4L5e3FwZcu4roJFrUDN2jOlIxtnDP6ewpjL9gqLRAGTEpiE%2BKgo2onDSkAFpZ38SsJzuMYNCjIDZa%2FVKHsN8scXFB3Cor%2FHwgSQZUvdMO6a%2BJQGOqkBUBPQRuTHnl8xp5kzoG438OgijGPL8pZuPXIdqdfiY8tZ5eoK02akzQm9fowLPIR%2BQup3b%2F6NtmaXnIu6W0gpQhm%2BCBgPwOCqUpLLi35DG71nXjhFWJreDMXGS%2FyED90ZkZkrE9d%2FY%2BQBXLW5M%2B%2BwKIb3o6lqoJWllrsdgADOzAUayWl4smhbO1rU875bI0vzCwHSN45V9sJDn6sE0JvbrQ512uLu6xUt7g%3D%3D&X-Amz-Signature=957bde54acdb6d3ca05333ac5798f43af6f06980a20f21728383d85eec66d90b&X-Amz-SignedHeaders=host&x-id=GetObject>"  
      },  
      "location": {  
        "status": "VALID",  
        "latitude": 43.161891659905,  
        "longitude": -77.61645315949,  
        "accuracy": 4.7,  
        "altitude": 133.7,  
        "timestamp": "2022-05-31T16:27:46Z"  
      },  
      "device": {  
        "status": "VALID",  
        "make": "Apple",  
        "model": "iPhone13,4"  
      },  
      "date_time": {  
        "status": "VALID",  
        "timestamp": "2022-05-31T16:27:46Z"  
      }  
    },  
    "certificate": {  
      "issuer_name": "IOSClaimSigningCA-Staging",  
      "name": "Truepic Lens SDK v1.0.0.141 in Lens Demo v1.0.0.141",  
      "org": "Demo Org",  
      "org_unit": "Demo Org Unit",  
      "valid_from": "2022-05-31T14:56:36Z",  
      "valid_to": "2022-06-01T14:56:35Z"  
    },  
    "signature": {  
      "status": "VALID",  
      "name": "Demo Org",  
      "timestamp": "2022-05-31T16:27:48Z"  
    },  
    "producer": {  
      "name": "Truepic Lens SDK v1.0.0.141"  
    }  
  },  
  "id": "0c30bc72-05c7-492b-a6eb-39c634ff7fd8",  
  "type": "PHOTO",  
  "status": "SUCCESS",  
  "custom_data": {  
    "session_id": "9E9DEBB7-B4D5-4523-B3B3-E958CB3527EC"  
  },  
  "uploaded_by_ip_address": "127.0.0.1",  
  "file_size": 2687688,  
  "file_hash": "uJ8JvUIBL6OmbjSs6h1m8cxiz96xtX0K2wS37cr0itQ=",  
  "created_at": "2022-05-31T16:27:57.067Z",  
  "updated_at": "2022-05-31T16:28:00.691Z",  
  "processed_at": "2022-05-31T16:28:00.691Z",  
  "url": "<https://s3.us-east-2.amazonaws.com/lens-captures-staging/0c30bc72-05c7-492b-a6eb-39c634ff7fd8.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIASOSZDTMLE6MQC5P3%2F20220606%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20220606T153509Z&X-Amz-Expires=36000&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMiJHMEUCIQCW0fAihuB5Xufm1fYsLqjVwD55I7Vxqn6nlyhRpufKaQIgArp9081j3Xe21X250nD%2FuwVlCqJKTLmZ4kPTaEQxUC0q3AQIv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARACGgwxNjg3NjQzNDkyMDYiDD3wfnyGMMdIC0eSgiqwBDgYgOA1du0KAhxs4EoVA5OdzdOIA95jIfWEPCUUMBPnJgdxG6azhvh7k%2Fo2UdZyxUsLBrkpKxwHCtOjPpIgNnG7CzS3eelI8qTsakAuB5SgosIabR2qLu%2FpLNmTW4xIC5P47QCjtOXFxneN%2BU3dAN7IkOfOU6KxAOHte1bxjpcIfxZ0fZRRIPR4%2Bz5oN%2FkIp7O4DvMyge0gqdO3v%2BeCiUOw0LmI9ODRDnxu7rYwTn4Hkd0OVP4ir4cKlELakvt5nJoQsmXfIqKrthJk8CxOZZyZYB9vL7LwSptBbnHndApsOM3pH8gPK3PrTt40BjjMZBO6SBH%2B3vI47P3TwbP3XeJWMPPuHc6RZPQMeYWiT8gHqiTjzEtN8ST6JWhOpjY45NkkQa1%2FCtp2zz0KTChZALMHYl2CCoog3NDzac4mcccGJhxFQ2m8qm5qvSF9x34EC9441K%2BRnlPRZisSPHbQQYBYlCiOWlYXJGsNmxn3zPZ9OXgX9y4y4GwK60G3BP%2FmqbTdV22hNoENOZrXA36VDGu%2BE8%2Bfl3i8r8iswCSaR31TNtafjyz3HXbFwa2w4KORxcq8ntIQiwIoBwgI9ZKfpvQyNTH1wpn6hkMcwfQj3rLL68WbBQuNKPsuvpa%2Bn0azbA%2F5z4L5e3FwZcu4roJFrUDN2jOlIxtnDP6ewpjL9gqLRAGTEpiE%2BKgo2onDSkAFpZ38SsJzuMYNCjIDZa%2FVKHsN8scXFB3Cor%2FHwgSQZUvdMO6a%2BJQGOqkBUBPQRuTHnl8xp5kzoG438OgijGPL8pZuPXIdqdfiY8tZ5eoK02akzQm9fowLPIR%2BQup3b%2F6NtmaXnIu6W0gpQhm%2BCBgPwOCqUpLLi35DG71nXjhFWJreDMXGS%2FyED90ZkZkrE9d%2FY%2BQBXLW5M%2B%2BwKIb3o6lqoJWllrsdgADOzAUayWl4smhbO1rU875bI0vzCwHSN45V9sJDn6sE0JvbrQ512uLu6xUt7g%3D%3D&X-Amz-Signature=cedad45b1a28f93c25637b187c7307ff025a3d14f76280478561ed3e4b11d3ab&X-Amz-SignedHeaders=host&x-id=GetObject">,  
  "web_url": "<https://s3.us-east-2.amazonaws.com/lens-captures-staging/0c30bc72-05c7-492b-a6eb-39c634ff7fd8_w.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIASOSZDTMLE6MQC5P3%2F20220606%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20220606T153509Z&X-Amz-Expires=36000&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMiJHMEUCIQCW0fAihuB5Xufm1fYsLqjVwD55I7Vxqn6nlyhRpufKaQIgArp9081j3Xe21X250nD%2FuwVlCqJKTLmZ4kPTaEQxUC0q3AQIv%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARACGgwxNjg3NjQzNDkyMDYiDD3wfnyGMMdIC0eSgiqwBDgYgOA1du0KAhxs4EoVA5OdzdOIA95jIfWEPCUUMBPnJgdxG6azhvh7k%2Fo2UdZyxUsLBrkpKxwHCtOjPpIgNnG7CzS3eelI8qTsakAuB5SgosIabR2qLu%2FpLNmTW4xIC5P47QCjtOXFxneN%2BU3dAN7IkOfOU6KxAOHte1bxjpcIfxZ0fZRRIPR4%2Bz5oN%2FkIp7O4DvMyge0gqdO3v%2BeCiUOw0LmI9ODRDnxu7rYwTn4Hkd0OVP4ir4cKlELakvt5nJoQsmXfIqKrthJk8CxOZZyZYB9vL7LwSptBbnHndApsOM3pH8gPK3PrTt40BjjMZBO6SBH%2B3vI47P3TwbP3XeJWMPPuHc6RZPQMeYWiT8gHqiTjzEtN8ST6JWhOpjY45NkkQa1%2FCtp2zz0KTChZALMHYl2CCoog3NDzac4mcccGJhxFQ2m8qm5qvSF9x34EC9441K%2BRnlPRZisSPHbQQYBYlCiOWlYXJGsNmxn3zPZ9OXgX9y4y4GwK60G3BP%2FmqbTdV22hNoENOZrXA36VDGu%2BE8%2Bfl3i8r8iswCSaR31TNtafjyz3HXbFwa2w4KORxcq8ntIQiwIoBwgI9ZKfpvQyNTH1wpn6hkMcwfQj3rLL68WbBQuNKPsuvpa%2Bn0azbA%2F5z4L5e3FwZcu4roJFrUDN2jOlIxtnDP6ewpjL9gqLRAGTEpiE%2BKgo2onDSkAFpZ38SsJzuMYNCjIDZa%2FVKHsN8scXFB3Cor%2FHwgSQZUvdMO6a%2BJQGOqkBUBPQRuTHnl8xp5kzoG438OgijGPL8pZuPXIdqdfiY8tZ5eoK02akzQm9fowLPIR%2BQup3b%2F6NtmaXnIu6W0gpQhm%2BCBgPwOCqUpLLi35DG71nXjhFWJreDMXGS%2FyED90ZkZkrE9d%2FY%2BQBXLW5M%2B%2BwKIb3o6lqoJWllrsdgADOzAUayWl4smhbO1rU875bI0vzCwHSN45V9sJDn6sE0JvbrQ512uLu6xUt7g%3D%3D&X-Amz-Signature=d14a82ea223b41263917d2eec0cfd8e2504ab2938961077c0e6da866e5795ad4&X-Amz-SignedHeaders=host&x-id=GetObject">,  
  "location": {  
    "latitude": 43.161891659905,  
    "longitude": -77.61645315949,  
    "street": "82 Brown St",  
    "city": "Rochester",  
    "state": "NY",  
    "postal_code": "14608",  
    "country": "US",  
    "formatted_address": "82 Brown St, Rochester, NY 14608, USA"  
  }  
}