Skip to content

Commit 8cf46b6

Browse files
authored
Merge pull request #202 from contentauth/trustmark-rust
Add TrustMark Rust impl docs
2 parents 246367b + 2e56ce1 commit 8cf46b6

File tree

7 files changed

+51
-15
lines changed

7 files changed

+51
-15
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
/docs/trustmark/c2pa/*.md
3131
/docs/trustmark/js/*.md
3232
/docs/trustmark/python/*.md
33+
/docs/trustmark/rust/*.md
34+
/docs/trustmark/rust/crates/trustmark-cli/*.md
3335

3436
# Misc
3537
.DS_Store

docs/durable-cr.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
id: durable-cr
3+
title: Durable Content Credentials
4+
---
5+
6+
[_Durable Content Credentials_](https://contentauthenticity.org/blog/durable-content-credentials) is a concept that helps content provenance to persist across content platforms by using C2PA manifest data in conjunction with:
7+
8+
- **Invisible watermarks**, actively inserted into the content.
9+
- **Content fingerprints**, passively computed from the content.
10+
11+
Platforms that host media assets might remove C2PA manifest data, if, for example, they use software that does not yet support the standard. If a copy of the manifest data is stored in an online database, you can use a watermark or a fingerprint to find it again.
12+
Combining both watermarks and fingerprints further improves the robustness of the provenance information.
13+
14+
The C2PA specification refers to watermarking and content fingerprinting as [soft bindings](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_soft_bindings), and requires that they be generated using one of the approved [Watermarking and fingerprinting algorithms](soft-bindings.mdx).

docs/soft-bindings.mdx

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,10 @@ title: Watermarking and fingerprinting algorithms
44
hide_table_of_contents: true
55
---
66

7-
[_Durable Content Credentials_](https://contentauthenticity.org/blog/durable-content-credentials) is a concept that helps content provenance to persist across content platforms by using C2PA manifest data in conjunction with:
8-
9-
- **Invisible watermarks**, actively inserted into the content.
10-
- **Content fingerprints**, passively computed from the content.
11-
12-
Platforms that host media assets might remove C2PA manifest data, if, for example, they use software that does not yet support the standard. If a copy of the manifest data is stored in an online database, you can use a watermark or a fingerprint to find it again.
13-
Combining both watermarks and fingerprints further improves the robustness of the provenance information.
14-
157
The C2PA specification refers to watermarking and content fingerprinting as [soft bindings](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_soft_bindings), which can be used to find digital content, even if the underlying bits differ. The C2PA specification requires that soft bindings be generated using one of the [algorithms](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_soft_binding_algorithm_list) approved by the C2PA Technical Working Group.
168

179
:::note
18-
The table below is provided **for convenience only** and is created and automatically updated based on data from the C2PA [C2PA Soft Binding Algorithm List](https://github.com/c2pa-org/softbinding-algorithm-list/blob/main/softbinding-algorithm-list.json), which is the single authoritative source of the information.
10+
The table below is provided **for convenience only** and is created and automatically updated based on data from the [C2PA Soft Binding Algorithm List](https://github.com/c2pa-org/softbinding-algorithm-list/blob/main/softbinding-algorithm-list.json), which is the single authoritative source of the information.
1911
:::
2012

2113
import JSONToTable from '@site/src/components/JSONToTable';

docs/trustmark/rust/.gitkeep

Whitespace-only changes.

docs/trustmark/rust/crates/trustmark-cli/.gitkeep

Whitespace-only changes.

scripts/fetch-readme.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,19 @@ const readmes = [
220220
repo: 'adobe/trustmark',
221221
path: 'js/README.md',
222222
},
223+
{
224+
dest: resolve(__dirname, '../docs/trustmark/rust/README.md'),
225+
repo: 'adobe/trustmark',
226+
path: 'rust/README.md',
227+
},
228+
{
229+
dest: resolve(
230+
__dirname,
231+
'../docs/trustmark/rust/crates/trustmark-cli/README.md',
232+
),
233+
repo: 'adobe/trustmark',
234+
path: 'rust/crates/trustmark-cli/README.md',
235+
},
223236
];
224237

225238
function resolveMarkdownLinks(linkBase, content) {

sidebars.js

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,14 @@ const sidebars = {
259259
id: 'faqs',
260260
},
261261
{
262-
type: 'category',
262+
type: 'doc',
263263
label: 'Community resources',
264-
link: { type: 'doc', id: 'community-resources' },
264+
id: 'community-resources',
265+
},
266+
{
267+
type: 'category',
268+
label: 'Durable Content Credentials',
269+
link: { type: 'doc', id: 'durable-cr' },
265270
collapsed: true,
266271
items: [
267272
{
@@ -292,13 +297,23 @@ const sidebars = {
292297
},
293298
{
294299
type: 'doc',
295-
id: 'tm-faq',
296-
label: 'FAQ',
300+
id: 'trustmark/js/README',
301+
label: 'JavaScript example',
297302
},
298303
{
299304
type: 'doc',
300-
id: 'trustmark/js/README',
301-
label: 'JavaScript example',
305+
id: 'trustmark/rust/README',
306+
label: 'Rust implementation',
307+
},
308+
{
309+
type: 'doc',
310+
id: 'trustmark/rust/crates/trustmark-cli/README',
311+
label: 'Rust CLI',
312+
},
313+
{
314+
type: 'doc',
315+
id: 'tm-faq',
316+
label: 'FAQ',
302317
},
303318
{
304319
type: 'link',

0 commit comments

Comments
 (0)