You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/manifest/writing/assertions-actions.md
+37-22Lines changed: 37 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ The following table summarizes some of the most important standard assertions.
46
46
| Assertion | Label | Description |
47
47
|-----------|-------|-------------|
48
48
|[Content bindings](#content-bindings)|`c2pa.hash.*`, `c2pa.soft-binding`, etc. | Uniquely identify portions of an asset and bind the assertion to it, for example using cryptographic hashes. |
49
-
|[Actions](#actions)|`c2pa.actions`| Creation, edits, and other actions on an asset, such as cropping, color or contrast adjustment, and so on. |
49
+
|[Actions](#actions)(v2) |`c2pa.actions.v2`| Creation, edits, and other actions on an asset, such as cropping, color or contrast adjustment, and so on. |
50
50
51
51
:::note
52
52
The CAI SDK handles assertions for thumbnails, content bindings, and ingredients, so normally you don't need to think about them.
@@ -93,13 +93,19 @@ Update assertions
93
93
94
94
## Actions
95
95
96
-
An action is an assertion that provides information about creation, edits, and other things that have occurred to an asset. In the manifest, an `actions` assertion is an array of [AssertionDefinition](../json-ref/manifest-def.mdx#assertiondefinition) objects. For example:
96
+
An action is an assertion that provides information about creation, edits, and other things that have occurred to an asset. In the manifest, an `actions` assertion is an array of [AssertionDefinition](../json-ref/manifest-def.mdx#assertiondefinition) objects.
97
+
98
+
:::important
99
+
Every manifest has to start with either an `c2pa.opened` or `c2pa.created` action, which has to be the first action in the manifest. Each of these actions need to have an associated ingredient.
100
+
:::
101
+
102
+
For example:
97
103
98
104
```json
99
105
...
100
106
"assertions": [
101
107
{
102
-
"label": "c2pa.actions",
108
+
"label": "c2pa.actions.v2",
103
109
"data": {
104
110
"actions": [
105
111
{
@@ -131,7 +137,8 @@ The [C2PA Technical Specification](https://c2pa.org/specifications/specification
131
137
V1 actions are fully specified in the `actions` array. However, a v2 action may either be fully specified in an element of the `actions` array or it may be derived from an element in the `templates` array with the same action name.
132
138
133
139
<divclass="review-comment">
134
-
The CAI APIs can read all v2 actions and write most v2 actions. What v2 actions can it NOT write?
140
+
The CAI APIs can read all v2 actions and write **most** v2 actions.
141
+
What v2 actions can it NOT write? We should document that.
135
142
</div>
136
143
137
144
### Action names
@@ -140,7 +147,7 @@ The value of the `action` property must be either one of the pre-defined [standa
140
147
141
148
For the complete list of standard actions, see the [C2PA Technical Specification](https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html#_actions).
142
149
143
-
### Digital source type
150
+
### Digital source type
144
151
145
152
Use the `digitalSourceType` property to specify how an asset was created or modified, for example "digital capture", "digitized from negative," or "trained algorithmic media."
146
153
@@ -181,7 +188,7 @@ For other possible values of `digitalSourceType`, see [Digital source type](#dig
181
188
"assertions": [
182
189
...
183
190
{
184
-
"label": "c2pa.actions",
191
+
"label": "c2pa.actions.v2",
185
192
"data": {
186
193
"actions": [
187
194
{
@@ -280,27 +287,37 @@ For example, the following action identifies that the `c2pa.opened` action was p
@@ -313,7 +330,6 @@ Metadata assertions must include one or more `@context` properties in the `data`
313
330
314
331
| Assertion | Label | Description |
315
332
|-----------|-------|-------------|
316
-
| [Creative work](#creative-work-assertion) | `stds.schema-org.CreativeWork` | Indicates the asset is the product of creative effort. |
317
333
| [Exif information](#exif-assertion) | `stds.exif` | Camera information such as maker, lens stored in Exchangeable image file format (Exif). |
318
334
| [IPTC photo and video metadata](#iptc-metadata) | `stds.iptc` | Properties from the IPTC Photo and Video Metadata Standards, describing for example ownership, rights, and other metadata about a image or video asset. |
319
335
| [Training and data mining](#do-not-train-assertion) | `cawg.training-mining` | Whether the creator/owner of an asset grants permission to use it for data mining or AI/ML training. NOTE: Previously, this assertion's label was `c2pa.training-mining`. |
@@ -420,7 +436,6 @@ Assertions with the `cawg.training-mining` label provide information about wheth
420
436
Training and data mining assertions formerly had `c2pa.*` labels. See [Legacy training and data mining assertion](../reading/legacy.md#legacy-training-and-data-mining-assertion) for more information.
421
437
:::
422
438
423
-
424
439
| Entry Key | Whether permission is granted... | Possible values of `use` property |
425
440
|-----------|-------------|-------------|
426
441
| `cawg.data_mining` | To extract text or data from the asset for purposes of determining "patterns, trends and correlations," including images containing text, where the text could be extracted via OCR. | `allowed`,<br/> `notAllowed`,<br/>or `constrained` |
0 commit comments