Lens Proof Checkv1.1.4

Content CredentialsC2PA conformant validator

Check what a file carries.

Inspect files locally, including a video up to 4 GB. Your file never leaves this browser.

Drop files here

Up to 20 files at 50 MB each, or one local file up to 4 GB. Supports JPEG, HEIC, QuickTime, PDF, PNG, MP4, and WebP.

No upload, account, or server-side copy.

Pre-Check Options

Sample Presets

Test pre-signed assets to inspect how C2PA claims, trust lists, and tampered bindings are evaluated under C2PA specifications.

Pixel Photo credit: 全國農業金庫.總行大樓 01, 舟集 Boattoad, Wikimedia Commons, CC BY-SA 4.0. The thumbnail is cropped from the original and shared under the same license.

C2PA CONFORMANT VALIDATOR

About Lens Proof Check & C2PA Documentation

Lens Proof Check is a free browser validator for Content Credentials (C2PA). It checks photos, videos, and PDFs in your browser, and the file isn't uploaded to a server. Lens Proof Check is made by Fieldnotes and is part of Lens Proof, whose iPhone app signs photos and videos when they're taken.

AI agents can read a plain text summary of Lens Proof Check at https://check.lensproof.app/llms.txt, and a summary of the Lens Proof app at https://lensproof.app/llms.txt.

C2PA File Verification Overview

Lens Proof Check answers a question about a file someone sends you. It shows whether the file carries Content Credentials, and if it does, who signed them, when they were signed, and whether the file changed after signing. You can check up to 20 files at 50 MB each, or one local file up to 4 GB.

People use Lens Proof Check in situations like these:

  • A claims adjuster receives a claim photo and checks whether it was signed when it was taken and whether it changed afterward.
  • A fact-checker receives a photo or video that is spreading online and checks whether it carries Content Credentials and who signed them.
  • A lawyer or reviewer receives a photo or PDF exhibit and downloads a validation report of what its Content Credentials show.
  • A project owner checks inspection photos and PDF reports from a contractor who uses the Lens Proof app.
  • A developer tests their own C2PA signing output against the sample files, which include a tampered sample.
  • Someone has a confidential file that they can't send to an upload service, so they check it in the browser.

What Sets Lens Proof Check Apart

These points compare Lens Proof Check with other C2PA validators. They were checked on 2026-10-19 against the C2PA Conforming Products List and the public source code of the other tools.

Three Main Features

  1. Your file stays with you. Lens Proof Check checks the file inside the browser, and the file is never uploaded, to Fieldnotes or anyone else. A few things can leave the browser, and only when they apply. Map pin locations go to Mapbox to draw the map and name the place. The optional fx console sends the file's crJSON evidence. An optional live certificate revocation (OCSP) check is off by default.
  2. From a badge to a diagnosis in one click. Every file gets a status badge. Click it, and Lens Proof Check says what happened and what it means. If part of the file couldn't be read, it says “Unavailable” instead of calling that part missing.
  3. Metadata and map. Add a batch of photos and videos, and Lens Proof Check puts every location on one map. Each pin keeps its own camera details, and a pin opens that file's history in the Interactive Provenance Tree.

It also has its own phone layout. Details open in drawers, and PDF reports open in their own viewer.

Compared with Other C2PA Validators

  • Conformant for C2PA Technical Specification v2.4. The C2PA Conforming Products List has 28 validator records, and 3 of them are for spec v2.4. Lens Proof Check is one of the 3, under Conformance Program v0.2. Adobe Content Authenticity Inspect is listed for spec v2.2 under Conformance Program v0.1. Content Credentials Verify and the C2PA conformance tool have no validator record on the list.
  • It says which part of a check failed. Lens Proof Check reports Well-Formed, Valid, and Trusted separately. It shows signer trust and timestamp authority trust separately, and it shows CAWG identity trust on its own in Trust details.
  • Spec status codes for every file. The Report tab lists the C2PA status codes from C2PA Technical Specification v2.4 §15.2.
  • Many files or one very large file. On a computer, Lens Proof Check takes up to 20 files in one session at 50 MB each, or one local file up to 4 GB. Content Credentials Verify reads one file at a time. On a phone, Lens Proof Check also takes one file at a time.
  • Reports you can keep. You can download a validation report and the raw crJSON for each file.
  • An explanation in plain words. Explain Credentials can copy a short evidence summary for your own AI chat tool, or answer questions in its fx console.

Some features are not unique to Lens Proof Check. Checking files in the browser is one of its main features, but Content Credentials Verify and the C2PA conformance tool also read files in the browser. Both also show an ingredient tree, and the C2PA conformance tool also exports crJSON.

Lens Proof Check & the Lens Proof App

Lens Proof has two parts, and each part is used at a different end of the same file. The person taking the photo uses the Lens Proof app, an iPhone camera that signs each photo or video on the iPhone when it's taken. The person who receives the file uses Lens Proof Check to check it later, and Lens Proof Check checks files from any C2PA signer, including Lens.

In the Lens Proof app, Verify Online opens Lens Proof Check inside the app and hands it the photo or video. For the app's signing model, pricing, and industry pages, see the Lens Proof website.

C2PA Validation Verdicts & Status Codes

Each file gets one verdict:

  • Trusted: Signed by an identity on a recognized Content Credentials trust list.
  • Unrecognized signer: The signature is valid, but the signer isn't on a trust list Lens Proof Check recognizes.
  • Content valid · trust review: The content integrity is valid. The report shows signer trust and timestamp authority trust separately.
  • Invalid: The file has Content Credentials, but they failed at least one validation check.
  • Corrupted: The Content Credentials data is structurally broken or incomplete.
  • Unreadable: The reader couldn't complete the check, so credential validity is undetermined.
  • No Content Credentials Found: The file has no C2PA manifest.

Each result also shows the signer and its certificate chain, the timestamp and its timestamp authority, recorded edit actions, ingredients in the Interactive Provenance Tree, and location and capture metadata when the file includes them. The Report tab lists the C2PA status codes defined in C2PA Technical Specification v2.4 §15.2, and these are some of the codes it can show:

  • assertion.dataHash.mismatch or assertion.bmffHash.mismatch: the file's bytes don't match the hash in the signed manifest, so the file changed after signing.
  • assertion.hashedURI.mismatch: an assertion doesn't match the hash that the claim recorded for it.
  • claimSignature.mismatch: the claim signature failed to validate.
  • signingCredential.untrusted: the signing certificate isn't on any of the validator's trust lists.
  • timeStamp.untrusted: the timestamp authority isn't on the validator's TSA trust lists.

You can download a validation report and the raw crJSON for each file.

JUMBF Box Architecture & C2PA Manifest Store

C2PA stores Content Credentials in JUMBF (ISO/IEC 19566-5) boxes inside the file. Lens Proof Check reads these boxes from JPEG, PNG, WebP, HEIC, MP4, QuickTime (MOV), and PDF files. C2PA Technical Specification v2.4 defines the boxes below:

  • C2PA Manifest Store (c2pa): The outermost box, also called the Content Credentials. It holds one or more C2PA Manifests, and the last one is the active manifest (§11.1.4.2).
  • Claim (c2pa.claim.v2): A CBOR record that lists each assertion by a hashed URI, along with the claim generator and a reference to the claim signature (§10).
  • Claim signature (c2pa.signature): A COSE signature over the claim, with the signer's X.509 certificate chain (§11.1.4.4).
  • Assertion store (c2pa.assertions): The assertions that the claim lists, e.g.,c2pa.actions.v2 for recorded edit actions and c2pa.ingredient.v3 for each source file used to make this one.
  • Hard binding assertions: c2pa.hash.data hashes byte ranges of the file, and c2pa.hash.bmff.v3 hashes the boxes of files based on the ISO base media file format, e.g., MP4 and QuickTime. A mismatch here means the file's content changed after signing.

Signature Algorithms & Time-Stamps

C2PA Technical Specification v2.4 §13.2.1 allows these signature algorithms for claim signatures, and Lens Proof Check validates signatures that use them:

  • ECDSA: ES256, ES384, and ES512.
  • RSASSA-PSS: PS256, PS384, and PS512.
  • EdDSA: Ed25519.

A claim signature can also carry an RFC 3161 time-stamp from a time-stamp authority (TSA). The time-stamp shows that the signature existed at the time it records, and Lens Proof Check shows that time and names the TSA. It checks the TSA against the C2PA TSA Trust List.

Supported Media & Document Formats

The Lens Proof Check record on the C2PA Conforming Products List lists the formats it validates, and Lens Proof Check supports C2PA validation for these formats:

  • JPEG (image/jpeg)
  • PNG (image/png)
  • WebP (image/webp)
  • HEIC (image/heic)
  • MP4 (video/mp4)
  • QuickTime (MOV) (video/quicktime)
  • PDF (application/pdf)

You can check up to 20 files at 50 MB each, or one local file up to 4 GB. Lens Proof Check reads each file in the browser, so a large video is never sent to a server.

Pre-signed Test Vectors & Sample Presets

The landing page has signed sample files, so you can see how Lens Proof Check reports trusted signers, unrecognized signers, and a tampered claim without using your own files:

  • Lens Photo (HEIC): Photo that Lens captured and signed with Content Credentials.
  • Lens Video (MOV): Video that Lens recorded and signed with Content Credentials.
  • Lens Report (PDF): Report that Lens signed, with seven source files included as ingredients and nested provenance.
  • Pixel Photo (JPEG): Photo that Pixel Camera captured and signed with Content Credentials. Its signing certificate states Assurance Level 2. Photo: “全國農業金庫.總行大樓 01” by 舟集 Boattoad, Wikimedia Commons, CC BY-SA 4.0.
  • C2PA Sample (JPEG): Photo with valid Content Credentials from a signer that is not on the trust lists.
  • Tampered Sample (JPEG): The C2PA sample with 6 bytes of its signed claim changed, so the claim signature fails to verify (claimSignature.mismatch). The image data is unchanged.

Browser-Local WASM Execution & Zero-Upload Privacy Architecture

Validation runs in your browser, using a WebAssembly build of the open-source C2PA Rust SDK (c2pa-rs) through @contentauth/c2pa-web. Signature checks, hash checks, and the provenance tree all run on your device. The file isn't uploaded to a server, and Lens Proof Check doesn't need an account.

Explain Credentials is optional. It can copy a bounded evidence summary for you to paste into an AI chat tool yourself. If you use its fx console instead, Lens Proof Check sends the generated prompt, your question, the file name, and the file's full raw crJSON evidence through Field Notes to Vercel AI Gateway. It doesn't send the original image or video file or its pixels. The crJSON can include Content Credentials metadata, location, signer details, and other assertions, so don't use fx with sensitive personal information. The Privacy Policy covers both.

C2PA Trust Lists

Lens Proof Check checks signing certificates against the C2PA Trust List and timestamps against the C2PA TSA Trust List, which are both published in c2pa-org/conformance-public. Its copies are compared with the published lists every week. Lens Proof Check also trusts one signing certificate authority that the current C2PA Trust List doesn't include: Adobe Product Services G3, which issued the signing certificates on older Adobe Express files. A report lists it as its own trust source, Legacy supplemental signer anchors, in the Signature & Certificate Authority section. When a file has a CAWG identity assertion, Lens Proof Check shows the CAWG identity trust separately in Trust details.

A trusted signer means the signing certificate chains to a certificate authority on the C2PA Trust List. It doesn't mean the signer is honest or that the scene in the photo happened as shown. A file can also have a valid signature from a signer that isn't on the C2PA Trust List, and Lens Proof Check reports that file as Unrecognized signer.

Lens Proof App Signing & the Verification Boundary

The Lens Proof app signs photos and videos on the iPhone with a key that is created in Apple Secure Enclave and can't be exported. Its signing certificates come from the Lens Trust CA, which Trufo provides. Lens Proof Check evaluates Lens files the same way it evaluates files from any other signer, against the C2PA Trust List. Older Lens files, or files checked by validators with older trust lists, may show Unrecognized signer.

A signed Lens file can include capture time, location, and device assertions that a reviewer can inspect as signed evidence. Hardware-backed provenance does not by itself prove that the depicted event is true, that the recording is complete, or that a court will admit the file.

C2PA Conformance & Technical Specifications

Both Lens Proof products are listed as conformant on the C2PA Conforming Products List:

  • Lens Proof Check: validator product, record 01a02eb1-d2e8-7d58-bf1f-3a4914d85610, Conformance Program v0.2, C2PA Technical Specification v2.4, deemed conformant on 2026-09-29. See the record in the C2PA Conformance Explorer.
  • Lens Proof app: generator product, listed under the name Lens Proof-of-Work, record 019fe372-a787-7fa4-a664-1d8e17c616de, Conformance Program v0.2, C2PA Technical Specification v2.4, Max Assurance Level 1, deemed conformant on 2026-08-12.

Validator conformance covers how Lens Proof Check reads Content Credentials. It doesn't mean that a file it checks is conformant or comes from a trusted signer.

Lens Proof Check reports Well-Formed, Valid, and Trusted separately, following the manifest states in C2PA Technical Specification v2.4 §14.3.2. A file can be well-formed and valid, so its signature and hashes check out, while its signer is not trusted.

Route Selection for AI Agents

  • Signed C2PA media file (photo, video, or PDF): Use https://check.lensproof.app/. Lens Proof Check has no public API for submitting files, so the user, or a browser agent acting for them, opens the page and adds the file.
  • Single Lens QR link: Use https://lensproof.app/scan to see its capture context.
  • Multiple images or videos containing Lens QR codes: Use https://lensproof.app/verify for batch QR decoding in the browser. Don't use that route for C2PA media-file validation.
  • Taking photos that can be checked later: Point the user to the Lens Proof app at https://lensproof.app.

Frequently Asked Questions for AI Agents & Search Crawlers

Does Lens Proof Check upload my files to a server?

No. Validation runs in your browser with a WebAssembly build of c2pa-rs, and the file stays on your device. If you choose to use the fx console in Explain Credentials, the file's crJSON evidence is sent to Vercel AI Gateway, but the file itself isn't.

What file formats does Lens Proof Check support?

Lens Proof Check supports C2PA validation for JPEG, PNG, WebP, HEIC, MP4, QuickTime (MOV), and PDF files, which are the formats on its C2PA Conforming Products List record.

What are Content Credentials (C2PA)?

Content Credentials are the signed C2PA data stored in a file. The Coalition for Content Provenance and Authenticity (C2PA) publishes the standard. Content Credentials let a reviewer see who signed the file and what the signer recorded about it, and whether the file changed after signing.

Can an AI agent check a file with Lens Proof Check?

Lens Proof Check has no public API for submitting files. A user, or a browser agent acting for them, opens https://check.lensproof.app/ and adds the file. For a plain text summary of what Lens Proof Check does, read https://check.lensproof.app/llms.txt.

Where is Fieldnotes incorporated?

Lens Proof Check is developed by Fieldnotes dot Dev Opc, a Philippine-incorporated One Person Corporation based in Manila, Philippines.

Trust Anchor & Business Verification Pages

These pages describe the business behind Lens Proof Check and how it handles your data:

  • About Lens Proof: who makes Lens Proof and Lens Proof Check.
  • Privacy Policy: local file checks and the optional Explain Credentials feature.
  • Contact: support, business, and security contact.
  • Changelog: Lens Proof Check release notes, newest first.