Skip to content

Commit a8c24fa

Browse files
committed
Fix merge conflicts
2 parents b898d64 + d021cf6 commit a8c24fa

File tree

8 files changed

+69
-214
lines changed

8 files changed

+69
-214
lines changed

docs/community.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ These related projects may be of interest, but the CAI team doesn't maintain or
4747

4848
- [**Drupal module**](https://github.com/contentauth/c2pa-drupal): Enables Drupal sites to process and display Content Credentials for supported image types.
4949
- [**DASH video player**](https://github.com/contentauth/dash.js/tree/c2pa-dash): DASH video player that displays Content Credentials in browsers for supported media types. This repo/branch is a work-in-progress forked from [dash.js](https://github.com/Dash-Industry-Forum/dash.js), the canonical reference JavaScript implementation for the playback of MPEG DASH.
50-
- [**TrustMark**](https://github.com/adobe/trustmark): Open-source Python implementation of watermarking for encoding, decoding and removing image watermarks. You can use TrustMark as part of providing [durable content credentials](durable-cr.md).
50+
- [**TrustMark**](https://github.com/adobe/trustmark): Open-source Python implementation of watermarking for encoding, decoding and removing image watermarks. You can use TrustMark as part of providing [durable content credentials](durable-cr/index.md).
5151
- [**C2PA Security Testing Tool**](https://github.com/contentauth/c2pa-attacks): A CLI tool derived from [c2patool](https://github.com/contentauth/c2patool) that performs security testing on a Content Credentials application. This tool is intended for use by software security professionals.
5252

5353
## Discussions on Discord

docs/js-sdk/getting-started/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Because of these requirements, **the library is not supported on any version of
5858
![CAI JavaScript library browser support](../../../static/img/caniuse.png)
5959

6060
:::info
61-
This chart is accurate as of December, 2024. For the most up-to-date browser support information, see [caniuse.com](https://caniuse.com/wasm,webworkers,cryptography,typedarrays,fetch).
61+
This chart is accurate as of July, 2025. For the most up-to-date browser support information, see [caniuse.com](https://caniuse.com/wasm,webworkers,cryptography,typedarrays,fetch).
6262
:::
6363

6464
## Debugging

docs/manifest/examples.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import CodeBlock from '@theme/CodeBlock';
77

88
## C2PA test files
99

10-
The C2PA [public-testfiles](https://github.com/c2pa-org/public-testfiles) repository contains numerous examples of asset files with Content Credentials. See https://c2pa.org/public-testfiles/ for links to easily inspect each asset file using Verify using [an asset URL](../verify.mdx#using-an-asset-url) and to the corresponding [manifest report](../c2patool/docs/usage.md#displaying-manifest-data) and [detailed manifest report](../c2patool/docs/usage.md#detailed-manifest-report) from C2PA Tool.
10+
The C2PA [public-testfiles](https://github.com/c2pa-org/public-testfiles) repository contains numerous examples of asset files with Content Credentials. See https://spec.c2pa.org/public-testfiles/ for links to easily inspect each asset file using Verify using [an asset URL](../verify.mdx#using-an-asset-url) and to the corresponding [manifest report](../c2patool/docs/usage.md#displaying-manifest-data) and [detailed manifest report](../c2patool/docs/usage.md#detailed-manifest-report) from C2PA Tool.
1111

1212
:::note
1313
The claims on these test files were signed with C2PA Tool's built-in test certificate and key (which is not on the [known certificate list](../trust-list.mdx)). Thus, Verify will display the warning: "The Content Credential issuer couldn’t be recognized. This file may not come from where it claims to."

docs/manifest/json-ref/manifest-def.html

Lines changed: 45 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ <h2 class="scroll-target" id="manifestdefinition">ManifestDefinition</h2>
22

33
<div class="prop_desc">
44
<p>
5-
Use a ManifestDefinition to define a manifest and to build a
6-
<code class="language-plaintext highlighter-rouge">ManifestStore</code>. A
7-
manifest is a collection of ingredients and assertions used to define a
5+
Use a ManifestDefinition to define a manifest and to build a manifest store.
6+
A manifest is a collection of ingredients and assertions used to define a
87
claim that can be signed and embedded into a file.
98
</p>
109
</div>
@@ -1086,11 +1085,7 @@ <h3 class="scroll-target" id="datasource">DataSource</h3>
10861085
<!-- Description -->
10871086
<td class="manifest-ref-table">
10881087
<div class="prop_desc">
1089-
<p>
1090-
A list of [<code class="language-plaintext highlighter-rouge"
1091-
>Actor</code
1092-
>]s associated with this source.
1093-
</p>
1088+
<p>A list of actors associated with this source.</p>
10941089
</div>
10951090
</td>
10961091

@@ -1289,9 +1284,12 @@ <h3 class="scroll-target" id="hasheduri">HashedUri</h3>
12891284
<p class="prop_desc">
12901285
A <code class="language-plaintext highlighter-rouge">HashedUri</code> provides
12911286
a reference to content available within the same manifest store. This is
1292-
described in [§8.3, URI References], of the C2PA Technical Specification.
1293-
[§8.3, URI References]:
1294-
https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references
1287+
described in
1288+
<a
1289+
href="https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_uri_references"
1290+
>§8.3, URI References</a
1291+
>
1292+
of the C2PA Technical Specification.
12951293
</p>
12961294

12971295
<table class="manifest-ref-table" style="margin-top: 10px">
@@ -1452,15 +1450,8 @@ <h3 class="scroll-target" id="ingredient">Ingredient</h3>
14521450
<p>The active manifest label (if one exists).</p>
14531451

14541452
<p>
1455-
If this ingredient has a [<code
1456-
class="language-plaintext highlighter-rouge"
1457-
>ManifestStore</code
1458-
>], this will hold the label of the active
1459-
<a href="crate::Manifest [`ManifestStore`]: crate::ManifestStore"
1460-
><code class="language-plaintext highlighter-rouge"
1461-
>Manifest</code
1462-
></a
1463-
>.
1453+
If this ingredient has a manifest store, this is the label of the
1454+
active manifest.
14641455
</p>
14651456
</div>
14661457
</td>
@@ -1778,13 +1769,8 @@ <h3 class="scroll-target" id="ingredient">Ingredient</h3>
17781769
<td class="manifest-ref-table">
17791770
<div class="prop_desc">
17801771
<p>
1781-
A
1782-
<a href="crate::ManifestStore"
1783-
><code class="language-plaintext highlighter-rouge"
1784-
>ManifestStore</code
1785-
></a
1786-
>
1787-
from the source asset extracted as a binary C2PA blob.
1772+
A manifest store from the source asset extracted as a binary C2PA
1773+
blob.
17881774
</p>
17891775
</div>
17901776
</td>
@@ -2575,10 +2561,9 @@ <h3 class="scroll-target" id="rangetype">RangeType</h3>
25752561
<td class="manifest-ref-table">
25762562
<div class="prop_desc">
25772563
<p>
2578-
A spatial range, see [<code
2579-
class="language-plaintext highlighter-rouge"
2580-
>Shape</code
2581-
>] for more details.
2564+
A spatial range. See
2565+
<a href="#shape"><code class="language-plaintext">Shape</code></a>
2566+
for more details.
25822567
</p>
25832568
</div>
25842569
</td>
@@ -2589,10 +2574,9 @@ <h3 class="scroll-target" id="rangetype">RangeType</h3>
25892574
<td class="manifest-ref-table">
25902575
<div class="prop_desc">
25912576
<p>
2592-
A temporal range, see [<code
2593-
class="language-plaintext highlighter-rouge"
2594-
>Time</code
2595-
>] for more details.
2577+
A temporal range. See
2578+
<a href="#shape"><code class="language-plaintext">Time</code></a>
2579+
for more details.
25962580
</p>
25972581
</div>
25982582
</td>
@@ -2603,10 +2587,9 @@ <h3 class="scroll-target" id="rangetype">RangeType</h3>
26032587
<td class="manifest-ref-table">
26042588
<div class="prop_desc">
26052589
<p>
2606-
A spatial range, see [<code
2607-
class="language-plaintext highlighter-rouge"
2608-
>Frame</code
2609-
>] for more details.
2590+
A spatial range. See
2591+
<a href="#frame"><code class="language-plaintext">Frame</code></a>
2592+
for more details.
26102593
</p>
26112594
</div>
26122595
</td>
@@ -2617,10 +2600,9 @@ <h3 class="scroll-target" id="rangetype">RangeType</h3>
26172600
<td class="manifest-ref-table">
26182601
<div class="prop_desc">
26192602
<p>
2620-
A textual range, see [<code
2621-
class="language-plaintext highlighter-rouge"
2622-
>Text</code
2623-
>] for more details.
2603+
A textual range. See
2604+
<a href="#text"><code class="language-plaintext">Text</code></a> for
2605+
more details.
26242606
</p>
26252607
</div>
26262608
</td>
@@ -2631,10 +2613,9 @@ <h3 class="scroll-target" id="rangetype">RangeType</h3>
26312613
<td class="manifest-ref-table">
26322614
<div class="prop_desc">
26332615
<p>
2634-
A range identified by a specific identifier and value, see [<code
2635-
class="language-plaintext highlighter-rouge"
2636-
>Item</code
2637-
>] for more details.
2616+
A range identified by a specific identifier and value. See
2617+
<a href="#item"><code class="language-plaintext">Item</code></a> for
2618+
more details.
26382619
</p>
26392620
</div>
26402621
</td>
@@ -2656,12 +2637,16 @@ <h3 class="scroll-target" id="regionofinterest">RegionOfInterest</h3>
26562637

26572638
<p class="prop_desc">
26582639
A region of interest within an asset describing the change. This struct can be
2659-
used from [<code class="language-plaintext highlighter-rouge"
2660-
>Action::changes</code
2661-
>][crate::assertions::Action::changes] or [<code
2662-
class="language-plaintext highlighter-rouge"
2663-
>Metadata::region_of_interest</code
2664-
>][crate::assertions::Metadata::region_of_interest].
2640+
used from
2641+
<a
2642+
href="https://docs.rs/c2pa/latest/c2pa/assertions/struct.Action.html#method.changes"
2643+
><code class="language-plaintext">Action::changes</code></a
2644+
>
2645+
or
2646+
<a
2647+
href="https://docs.rs/c2pa/latest/c2pa/assertions/struct.Metadata.html#method.region_of_interest"
2648+
><code class="language-plaintext">Metadata::region_of_interest</code></a
2649+
>
26652650
</p>
26662651

26672652
<table class="manifest-ref-table" style="margin-top: 10px">
@@ -2950,10 +2935,11 @@ <h3 class="scroll-target" id="resourceref">ResourceRef</h3>
29502935

29512936
<p class="prop_desc">
29522937
A reference to a resource to be used in JSON serialization. The underlying
2953-
data can be read as a stream via [<code
2954-
class="language-plaintext highlighter-rouge"
2955-
>Reader::resource_to_stream</code
2956-
>][crate::Reader::resource_to_stream].
2938+
data can be read as a stream via
2939+
<a
2940+
href="https://docs.rs/c2pa/latest/c2pa/struct.Reader.html#method.resource_to_stream"
2941+
><code>Reader::resource_to_stream</code> </a
2942+
>.
29572943
</p>
29582944

29592945
<table class="manifest-ref-table" style="margin-top: 10px">
@@ -3976,9 +3962,8 @@ <h3 class="scroll-target" id="textselectorrange">TextSelectorRange</h3>
39763962
<p><!-- end of oneOf entity --></p>
39773963

39783964
<p class="prop_desc">
3979-
One or two [<code class="language-plaintext highlighter-rouge"
3980-
>TextSelector</code
3981-
>][TextSelector] identifiying the range to select.
3965+
One or two <a href="#textselector">TextSelectors</a> identifiying the range to
3966+
select.
39823967
</p>
39833968

39843969
<table class="manifest-ref-table" style="margin-top: 10px">

docs/manifest/reading/ingredients-reading.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,16 @@ The ingredient object's `relationship` property describes its relationship to th
6161
The [ValidationResults](/docs/manifest/json-ref/reader#validationresults) object contains the the validation results for the active manifest and any changes to ingredients.
6262

6363
When ingredients are added, the SDK validates their Content Credentials (if any). However, the validation status of an ingredient does not imply anything about the validation status of the composed asset containing the ingredient. In other words:
64-
- A composed asset's Content Credentials may be valid, but one or more of its ingredients may have invalid Content Credentials. For example, test file [adobe-20220124-XCA.jpg](https://contentcredentials.org/verify?source=https://c2pa.org/public-testfiles/image/jpeg/adobe-20220124-XCA.jpg)
65-
- A composed asset's Content Credentials may be invalid, but one or more of its ingredients may have valid Content Credentials. For example, test file [adobe-20220124-CIE-sig-CA.jpg](https://contentcredentials.org/verify?source=https://c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CIE-sig-CA.jpg).
64+
- A composed asset's Content Credentials may be valid, but one or more of its ingredients may have invalid Content Credentials. For example, test file [adobe-20220124-XCA.jpg](https://contentcredentials.org/verify?source=https://spec.c2pa.org/public-testfiles/image/jpeg/adobe-20220124-XCA.jpg)
65+
- A composed asset's Content Credentials may be invalid, but one or more of its ingredients may have valid Content Credentials. For example, test file [adobe-20220124-CIE-sig-CA.jpg](https://contentcredentials.org/verify?source=https://spec.c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CIE-sig-CA.jpg).
6666

6767
:::note
6868
Ingredient certificates are validated when they are added to the manifest store, NOT during validation of the composed asset.
6969
:::
7070

7171
### Example of ingredient with invalid credentials
7272

73-
As noted above, the test file [adobe-20220124-CIE-sig-CA.jpg](https://contentcredentials.org/verify?source=https://c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CIE-sig-CA.jpg) has an ingredient with invalid Content Credentials, as shown in this snippet from the manifest store:
73+
As noted above, the test file [adobe-20220124-CIE-sig-CA.jpg](https://contentcredentials.org/verify?source=https://spec.c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CIE-sig-CA.jpg) has an ingredient with invalid Content Credentials, as shown in this snippet from the manifest store:
7474

7575
```json
7676
...
@@ -109,9 +109,9 @@ As noted above, the test file [adobe-20220124-CIE-sig-CA.jpg](https://contentcre
109109

110110
## Examples
111111

112-
The [C2PA public-testfiles](https://c2pa.org/public-testfiles/image/) repository has several examples of images with multiple ingredients:
113-
- [Image with two ingredients](https://contentcredentials.org/verify?source=https://c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CAICA.jpg); [View JSON manifest store](https://c2pa.org/public-testfiles/image/jpeg/manifests/adobe-20220124-CAICA/manifest_store.json)
114-
- [Image with seven ingredients](https://contentcredentials.org/verify?source=https://c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CAIAIIICAICIICAIICICA.jpg); [View JSON manifest store](https://c2pa.org/public-testfiles/image/jpeg/manifests/adobe-20220124-CAIAIIICAICIICAIICICA/manifest_store.json)
112+
The [C2PA public-testfiles](https://spec.c2pa.org/public-testfiles/image/) repository has several examples of images with multiple ingredients:
113+
- [Image with two ingredients](https://contentcredentials.org/verify?source=https://spec.c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CAICA.jpg); [View JSON manifest store](https://spec.c2pa.org/public-testfiles/image/jpeg/manifests/adobe-20220124-CAICA/manifest_store.json)
114+
- [Image with seven ingredients](https://contentcredentials.org/verify?source=https://spec.c2pa.org/public-testfiles/image/jpeg/adobe-20220124-CAIAIIICAICIICAIICICA.jpg); [View JSON manifest store](https://spec.c2pa.org/public-testfiles/image/jpeg/manifests/adobe-20220124-CAIAIIICAICIICAIICICA/manifest_store.json)
115115

116116

117117

0 commit comments

Comments
 (0)