diff --git a/docs/community.md b/docs/community.md
index 7935d98..02cbec3 100644
--- a/docs/community.md
+++ b/docs/community.md
@@ -29,7 +29,7 @@ Participants are required to follow the [Adobe Code of Conduct](https://github.c
### Verify
-The code for the [C2PA Verify website](https://verify.contentauthenticity.org/) is open source. For general information on using it, see [Using the Verify tool](getting-started/verify.mdx).
+The code for the [C2PA Verify website](https://verify.contentauthenticity.org/) is open source. However, it currently uses the deprecated [Legacy JavaScript library](https://github.com/contentauth/c2pa-js-legacy).
### Related projects
diff --git a/docs/getting-started/aca-inspect.mdx b/docs/getting-started/aca-inspect.mdx
new file mode 100644
index 0000000..4b6709d
--- /dev/null
+++ b/docs/getting-started/aca-inspect.mdx
@@ -0,0 +1,388 @@
+---
+id: inspect
+title: Using the inspect tool on Adobe Content Authenticity (Beta)
+---
+
+import aca_inspect from '@site/static/img/aca-inspect.png';
+import inspect_actions from '@site/static/img/inspect_actions.png';
+import MarkdownCell from '@site/src/components/MarkdownCell';
+
+The [**Inspect tool on Adobe Content Authenticity (Beta)**](https://verify.contentauthenticity.org) (often referred to as "ACA Inspect" or simply "Inspect") is a [C2PA conforming validator product](../conformance.mdx#validator-products) that validates and displays Content Credentials for various asset types.
+
+
+
+For more information, see [Inspect Content Credentials](https://helpx.adobe.com/creative-cloud/apps/adobe-content-authenticity/inspect/inspect-tool.html) on Adobe HelpX.
+
+## How to use Inspect
+
+You can use Inspect to view Content Credentials for an asset in two ways:
+
+- [Upload an asset file](#uploading-an-asset) from your local computer.
+- [Use an asset URL](#using-an-asset-url).
+
+Supported asset file types include:
+
+- **Image**: AVIF, DNG, GIF, HEIC, HEIF, JPEG, PNG, SVG, TIFF, and WebP.
+- **Video and audio**: AVI, M4A, MOV, MP3, MP4, and WAV.
+- **Document**: PDF.
+
+:::tip
+When you first load the site and no asset is displayed on the page, Inspect shows the complete current list of supported file types.
+:::
+
+### Uploading an asset
+
+Click **Select a file from your device** then use the native picker or drag and drop a file to upload it and display information from the associated Content Credentials (if any) such as the author, the tools used to create the asset, and so on.
+
+### Using an asset URL
+
+You can also display Content Credentials for an asset with a publicly-visible URL by using a URL with the following format:
+
+```
+https://inspect.cr?source=
+```
+
+where `` is the URL of the asset.
+
+For example: https://inspect.cr?source=https://contentauth.github.io/example-assets/images/car-es-Ps-Cr.jpg
+
+:::note
+To use Inspect on an asset URL, the URL must not require any authentication and the hosting server must allow cross-origin resource sharing (CORS) in the `Access-Control-Allow-Origin` HTTP response header.
+:::
+
+## Example assets
+
+The [example-assets](https://contentauth.github.io/example-assets/) repository contains some sample assets that demonstrate Content Credentials, including links to view the corresponding manifest reports generated by [C2PA Tool](../c2patool/readme.md) and to view the Content Credentials using Inspect.
+
+## Information displayed
+
+Once you've uploaded an asset or entered an asset URL, if the asset:
+
+- **Does not** have an associated manifest store, Inspect displays the message **No Content Credential**.
+- **Does** have an associated manifest store, Inspect displays information from it in the three vertical panels, for example as shown below.
+
+import verify_sections from '@site/static/img/inspect-sections.png';
+
+
+
+
+
+
+ |
+ Left panel ↑{' '}
+ |
+
+ Center panel ↑
+ |
+
+ Right panel ↑
+ |
+
+
+
+
+
+
+This section shows a thumbnail image and the asset name from the `title` property in the active manifest, which may not be the same as the file name. If there's no `title` property, it says "Untitled asset."
+
+Also shows who signed the Content Credentials ("Recorded by").
+
+Adobe products can save manifest stores in the [Adobe Content Credentials Cloud](index.mdx#storing-a-manifest-in-the-cloud). Click **Search for possible matches** to search there for content similar to the asset's ingredients.
+
+
+
+
+Shows all the asset's ingredients in a tree-like layout.
+- Click on an ingredient thumbnail to inspect its Content Credentials in the right panel.
+- Click **Compare** to compare ingredients either side-by-side or using a slider.
+
+Zoom in and out using the mouse wheel or trackpad and pan by dragging.
+
+NOTE: The example above shows only one ingredient.
+
+
+
+
+Shows information from the asset's manifest store, as described below:
+
+- [Title and signing information](#title-and-signing-information)
+- [Contributor details](#contributor-details)
+- [Content details](#content-details)
+
+
+
+
+
+
+### Title and signing information
+
+The top of the right panel displays a thumbnail of the image along with the same title and signing information as shown in the left panel.
+
+If the Content Credential was signed by a certificate that is NOT on the [C2PA trust list](conformance.mdx#c2pa-trust-lists), such as one of the SDK's [test certificates](signing/test-certs.md), then Inspect displays "Unrecognized" at the top of this section with this notice:
+
+import verify_unknown_source from '@site/static/img/unknown-source.png';
+
+
+
+However, if the Content Credential was signed by a certificate on the [C2PA trust list list](conformance.mdx#c2pa-trust-lists), then this section displays the name of the issuer of the claim signature from the `signature_info.issuer` property in the active manifest, as shown in the example snippet below.
+
+:::note
+This section shows the organization name only if the signing certificate includes the "O" or [Organization Name attribute](https://www.alvestrand.no/objectid/2.5.4.10.html) (OID value 2.5.4.10) in the certificate's distinguished name information.
+:::
+
+For signers on the C2PA trust list, this section also displays the time of the claim signature from the `signature_info.time` property in the active manifest, as shown in the example snippet below. The date is converted from UTC to the local time zone.
+
+```json
+"signature_info": {
+ "alg": "Ps256",
+ "issuer": "Adobe Inc.",
+ "common_name": "Adobe C2PA",
+ "cert_serial_number": "419323736054358557205556576293173262079519360989",
+ "time": "2025-10-23T19:22:19+00:00"
+},
+```
+
+If the issuer string is too long, then the date might be truncated or not shown at all.
+
+
+
+### Contributor details
+
+For assets edited and signed with Adobe tools, if the creator has configured [connected social media accounts](https://helpx.adobe.com/creative-cloud/apps/adobe-content-authenticity/connect-accounts.html) such as Instagram, LinkedIn, and Behance, then this section displays that information with links to the creator's profile on the social media platform.
+
+### Content details
+
+The **Content details** section displays information about the asset, divided into the following subsections:
+
+- [App or device used](#app-or-device-used)
+- [Recorded by](#recorded-by)
+- [Actions](#actions)
+- [Ingredients](#ingredients)
+
+Additionally, if the image was created with a generative AI tool, an **AI-generated** note is displayed at the top of the section.
+
+#### App or device used
+
+The value shown for **App or device used** is derived from the `claim_generator` and `claim_generator_info` properties in the active manifest.
+
+#### Recorded by
+
+The organization, device, or individual that signed the Content Credentials, based on the `signature_info` field in the manifest, for example:
+
+```json
+"signature_info": {
+ "alg": "Ps256",
+ "issuer": "Adobe Inc.",
+ "common_name": "Adobe C2PA",
+ "cert_serial_number": "419323736054358557205556576293173262079519360989",
+ "time": "2025-10-23T19:22:19+00:00"
+},
+```
+
+#### Actions
+
+
+
+The **Actions** subsection lists [actions](https://opensource.contentauthenticity.org/docs/manifest/assertions-actions#actions) in the active manifest, for example, as shown at right.
+
+The corresponding `actions` array in the asset's manifest is shown below.
+
+
+
+
+Show manifest code
+
+```json
+{
+ "label": "c2pa.actions.v2",
+ "data": {
+ "actions": [
+ {
+ "action": "c2pa.opened",
+ "parameters": {
+ "description": "Opened a pre-existing file",
+ "com.adobe.tool": "open",
+ "com.adobe.icon": "https://cai-assertions.adobe.com/icons/import-dark.svg",
+ "instanceId": "xmp:iid:73f1d577-2d17-46ec-908a-09f2380df77c"
+ }
+ },
+ {
+ "action": "c2pa.cropped",
+ "parameters": {
+ "com.adobe.tool": "crop",
+ "com.adobe.icon": "https://cai-assertions.adobe.com/icons/crop-dark.svg",
+ "description": "Used cropping tools, reducing or expanding visible content area"
+ }
+ },
+ {
+ "action": "c2pa.resized",
+ "parameters": {
+ "com.adobe.tool": "image_size",
+ "description": "Changed dimensions or file size",
+ "com.adobe.icon": "https://cai-assertions.adobe.com/icons/resize-dark.svg"
+ }
+ }
+ ],
+ ...
+ }
+}
+```
+
+
+
+#### Ingredients
+
+The **Ingredients** section shows the resources used to create the asset, derived from the `ingredients` array in the active manifest. A thumbnail image is shown for each ingredient, if applicable. If an ingredient itself had Content Credentials, the "cr" icon is shown next to the thumbnail.
+
+
diff --git a/docs/introduction.mdx b/docs/introduction.mdx
index 2329f19..419d6c3 100644
--- a/docs/introduction.mdx
+++ b/docs/introduction.mdx
@@ -50,12 +50,12 @@ An embedded application can use the Rust FFI (foreign function interface) to cal
For more information about the C2PA and CAI, see the following websites:
-| Website | Organization | Purpose / Description |
-| ----------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------- |
-| [c2pa.org](https://c2pa.org/) | C2PA / Linux Foundation | Standards body
Technical specifications and guidance documents |
-| [contentcredentials.org](https://contentcredentials.org/) | C2PA | Consumer-friendly site |
-| [Verify](https://verify.contentauthenticity.org) | C2PA | Open-source web tool to display Content Credentials.
For more information, see [Using the Verify tool](verify) |
-| [contentauthenticity.org](https://contentauthenticity.org/) | CAI | Industry consortium
Open-source software and community resources |
+| Website | Organization | Purpose / Description |
+| ----------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------- |
+| [c2pa.org](https://c2pa.org/) | C2PA / Linux Foundation | Standards body
Technical specifications and guidance documents |
+| [contentcredentials.org](https://contentcredentials.org/) | C2PA | Consumer-friendly site |
+| [Verify](https://verify.contentauthenticity.org) | C2PA | Open-source web tool to display Content Credentials. |
+| [contentauthenticity.org](https://contentauthenticity.org/) | CAI | Industry consortium
Open-source software and community resources |
### C2PA
diff --git a/sidebars.js b/sidebars.js
index bed2e8b..6976097 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -17,11 +17,8 @@ const sidebars = {
},
{
type: 'doc',
- id: 'getting-started/verify',
- },
- {
- type: 'doc',
- id: 'getting-started/verify-known-cert-list',
+ label: 'Using ACA Inspect',
+ id: 'getting-started/inspect',
},
],
},
@@ -392,10 +389,18 @@ const sidebars = {
],
},
{
- type: 'doc',
+ type: 'category',
label: 'C2PA conformance program',
- id: 'conformance',
+ link: { type: 'doc', id: 'conformance' },
+ collapsed: true,
+ items: [
+ {
+ type: 'doc',
+ id: 'getting-started/verify-known-cert-list',
+ },
+ ],
},
+
{
type: 'category',
label: 'Durable Content Credentials',
diff --git a/src/components/MarkdownCell.jsx b/src/components/MarkdownCell.jsx
new file mode 100644
index 0000000..62e9378
--- /dev/null
+++ b/src/components/MarkdownCell.jsx
@@ -0,0 +1,23 @@
+import React from 'react';
+
+export default function MarkdownCell({
+ children,
+ className,
+ style,
+ valign,
+ width,
+ bg,
+}) {
+ const tdStyle = {
+ ...(style || {}),
+ ...(valign ? { verticalAlign: valign } : {}),
+ ...(width ? { width } : {}),
+ ...(bg ? { backgroundColor: bg } : {}),
+ };
+
+ return (
+
+ {children}
+ |
+ );
+}
diff --git a/static/img/aca-inspect.png b/static/img/aca-inspect.png
new file mode 100644
index 0000000..8575888
Binary files /dev/null and b/static/img/aca-inspect.png differ
diff --git a/static/img/inspect-sections.png b/static/img/inspect-sections.png
new file mode 100644
index 0000000..7119ef6
Binary files /dev/null and b/static/img/inspect-sections.png differ
diff --git a/static/img/inspect_actions.png b/static/img/inspect_actions.png
new file mode 100644
index 0000000..a0e1989
Binary files /dev/null and b/static/img/inspect_actions.png differ
diff --git a/static/img/unknown-source.png b/static/img/unknown-source.png
new file mode 100644
index 0000000..bec6486
Binary files /dev/null and b/static/img/unknown-source.png differ