diff --git a/docs/faqs.mdx b/docs/faqs.mdx index 0b14d8a..0e88dcb 100644 --- a/docs/faqs.mdx +++ b/docs/faqs.mdx @@ -37,7 +37,7 @@ The ["Produced by" section](verify.mdx#produced-by) in Verify refers to the name ### Do Content Credentials indicate if an image is fake or altered? -Content Credentials don't indicate if an image is fake. They can provide information on the origin of an image and how it was edited: For example, if an AI tool supports Content Credentials, then they indicate if [an image was generated with AI](manifest/assertions-actions.md#generative-ai-action). If an image was taken with a C2PA-enabled camera, the Content Credentials would show that, along with any subsequent edits, if they were made with C2PA-enabled software tools. +Content Credentials don't indicate if an image is fake. They can provide information on the origin of an image and how it was edited: For example, if an AI tool supports Content Credentials, then they indicate if [an image was generated with AI](manifest/writing/assertions-actions.md#generative-ai-action). If an image was taken with a C2PA-enabled camera, the Content Credentials would show that, along with any subsequent edits, if they were made with C2PA-enabled software tools. :::info Content Credentials provide a **positive signal** about the origin and history of an image, but they don't provide a **negative signal** about the authenticity of an image. @@ -60,16 +60,6 @@ The [manifest](manifest/understanding.md) that defines the Content Credentials can include various assertions about the image, including the ingredients, the date and time, the location, and the device that created the image. -### How can I prove time and place an image was created without revealing my identity? - -Content Credentials can specify identity by using the [Schema.org CreativeWork assertion](manifest/assertions-actions.md#creative-work-assertion), but it is _entirely optional_. - -For example, using Photoshop you -can add Content Credentials that indicate what edits were made without saying who -did it. You would know Adobe signed the Content Credentials and that's it. Regardless -of the "who", the cryptographically-signed manifest ensures you know the date and -time. A camera could also include Exif metadata with location information. - ### How do you prevent faking GPS location metadata? -The location data included in [Exif metadata](manifest/assertions-actions.md#exif-assertion) is based on the implementor. People would trust the data based on the various "trust signals" they are given in the manifest, such as who signed it and when. +The location data included in [Exif metadata](manifest/writing/assertions-actions.md#exif-assertion) is based on the implementor. People would trust the data based on the various "trust signals" they are given in the manifest, such as who signed it and when. diff --git a/sidebars.js b/sidebars.js index fb9855d..e8e58fb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -136,6 +136,49 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Rust library', + link: { type: 'doc', id: 'rust-sdk/readme' }, + collapsed: true, + items: [ + { + type: 'doc', + id: 'rust-sdk/docs/usage', + label: 'Using the Rust library', + }, + { + type: 'doc', + id: 'rust-sdk/docs/supported-formats', + label: 'Supported media formats', + }, + { + type: 'doc', + id: 'rust-sdk/docs/cawg-id', + label: 'Using CAWG identity assertions', + }, + { + type: 'doc', + id: 'rust-sdk/docs/release-notes', + label: 'Release notes', + }, + { + type: 'link', + label: 'API documentation', + href: 'https://docs.rs/c2pa', + }, + { + type: 'doc', + id: 'c2pa-min/readme', + label: 'C2PA Rust example application', + }, + { + type: 'link', + label: 'GitHub', + href: 'https://github.com/contentauth/c2pa-rs', + }, + ], + }, { type: 'category', label: 'JavaScript library', @@ -145,117 +188,109 @@ const sidebars = { }, { type: 'category', - label: 'Prerelease libraries', - link: { type: 'doc', id: 'other-langs' }, + label: 'Python library', + link: { type: 'doc', id: 'c2pa-python/readme' }, collapsed: true, items: [ { - type: 'category', - label: 'Node.js', - link: { type: 'doc', id: 'node-landing' }, - collapsed: true, - items: [ - { - type: 'category', - label: 'New Node.js library', - link: { type: 'doc', id: 'c2pa-node-v2/readme' }, - collapsed: true, - items: [ - { - type: 'doc', - id: 'c2pa-node-v2/supported-formats', - label: 'Supported media formats', - }, - { - type: 'link', - label: 'API documentation', - href: 'https://github.com/contentauth/c2pa-node-v2/blob/main/docs/README.md', - }, - { - type: 'link', - label: 'GitHub', - href: 'https://github.com/contentauth/c2pa-node-v2/tree/main', - }, - ], - }, - { - type: 'category', - label: 'Legacy Node.js library', - link: { type: 'doc', id: 'c2pa-node/readme' }, - collapsed: true, - items: [ - { - type: 'link', - label: 'GitHub', - href: 'https://github.com/contentauth/c2pa-node', - }, - ], - }, - ], + type: 'doc', + id: 'c2pa-python/docs/usage', + label: 'Using the Python library', + }, + { + type: 'doc', + id: 'c2pa-python/docs/supported-formats', + label: 'Supported media formats', + }, + { + type: 'doc', + id: 'c2pa-python/docs/examples', + label: 'Python example code', + }, + { + type: 'doc', + id: 'c2pa-python/docs/release-notes', + label: 'Release notes', + }, + { + type: 'link', + label: 'API documentation', + href: 'https://contentauth.github.io/c2pa-python/api/c2pa/index.html', + }, + { + type: 'doc', + id: 'c2pa-python-example/readme', + label: 'C2PA Python example', + }, + { + type: 'link', + label: 'GitHub', + href: 'https://github.com/contentauth/c2pa-python', + }, + ], + }, + { + type: 'category', + label: 'C++ / C library', + link: { type: 'doc', id: 'c2pa-c/readme' }, + collapsed: true, + items: [ + { + type: 'doc', + id: 'c2pa-c/docs/usage', + label: 'Using the C++ library', + }, + { + type: 'doc', + id: 'c2pa-c/docs/supported-formats', + label: 'Supported media formats', + }, + { + type: 'link', + label: 'GitHub', + href: 'https://github.com/contentauth/c2pa-c', }, + ], + }, + { + type: 'category', + label: 'Node.js library', + link: { type: 'doc', id: 'node-landing' }, + collapsed: true, + items: [ { type: 'category', - label: 'Python', - link: { type: 'doc', id: 'c2pa-python/readme' }, + label: 'New Node.js library', + link: { type: 'doc', id: 'c2pa-node-v2/readme' }, collapsed: true, items: [ { type: 'doc', - id: 'c2pa-python/docs/usage', - label: 'Using the Python library', - }, - { - type: 'doc', - id: 'c2pa-python/docs/supported-formats', + id: 'c2pa-node-v2/supported-formats', label: 'Supported media formats', }, - { - type: 'doc', - id: 'c2pa-python/docs/examples', - label: 'Python example code', - }, - { - type: 'doc', - id: 'c2pa-python/docs/release-notes', - label: 'Release notes', - }, { type: 'link', label: 'API documentation', - href: 'https://contentauth.github.io/c2pa-python/api/c2pa/index.html', - }, - { - type: 'doc', - id: 'c2pa-python-example/readme', - label: 'C2PA Python example', + href: 'https://github.com/contentauth/c2pa-node-v2/blob/main/docs/README.md', }, { type: 'link', label: 'GitHub', - href: 'https://github.com/contentauth/c2pa-python', + href: 'https://github.com/contentauth/c2pa-node-v2/tree/main', }, ], }, { type: 'category', - label: 'C++ / C', - link: { type: 'doc', id: 'c2pa-c/readme' }, + label: 'Legacy Node.js library', + link: { type: 'doc', id: 'c2pa-node/readme' }, collapsed: true, items: [ - { - type: 'doc', - id: 'c2pa-c/docs/usage', - label: 'Using the C++ library', - }, - { - type: 'doc', - id: 'c2pa-c/docs/supported-formats', - label: 'Supported media formats', - }, { type: 'link', label: 'GitHub', - href: 'https://github.com/contentauth/c2pa-c', + href: 'https://github.com/contentauth/c2pa-node', }, ], }, @@ -279,49 +314,7 @@ const sidebars = { }, ], }, - { - type: 'category', - label: 'Rust library', - link: { type: 'doc', id: 'rust-sdk/readme' }, - collapsed: true, - items: [ - { - type: 'doc', - id: 'rust-sdk/docs/usage', - label: 'Using the Rust library', - }, - { - type: 'doc', - id: 'rust-sdk/docs/supported-formats', - label: 'Supported media formats', - }, - { - type: 'doc', - id: 'rust-sdk/docs/cawg-id', - label: 'Using CAWG identity assertions', - }, - { - type: 'doc', - id: 'rust-sdk/docs/release-notes', - label: 'Release notes', - }, - { - type: 'link', - label: 'API documentation', - href: 'https://docs.rs/c2pa', - }, - { - type: 'doc', - id: 'c2pa-min/readme', - label: 'C2PA Rust example application', - }, - { - type: 'link', - label: 'GitHub', - href: 'https://github.com/contentauth/c2pa-rs', - }, - ], - }, + { type: 'category', label: 'Signing and certificates',