Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/signing/local-signing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Trust lists connect the end-entity certificate that signed a manifest back to th

The simplest way to add a C2PA manifest to an asset file and sign it is by using C2PA Tool (`c2patool`). You can run C2PA Tool manually from the command line (for example, during development) and more generally from any executable program that can call out to the shell.

Similarly, using the Rust SDK, you can [add a manifest to an asset file](https://docs.rs/c2pa/latest/c2pa/#adding-a-signed-manifest-to-a-file), referencing the certificate and private key file. The [Node.js](../c2pa-node), [Python](../c2pa-python), and [C++](../c2pa-cpp) libraries can also add and sign a manifest.
Similarly, using the Rust SDK, you can [add a manifest to an asset file](https://docs.rs/c2pa/latest/c2pa/#adding-a-signed-manifest-to-a-file), referencing the certificate and private key file. The [Node.js](../c2pa-js/packages/c2pa-node/), [Python](../c2pa-python), and [C++](../c2pa-cpp) libraries can also add and sign a manifest.

<LocalSignWarning />

Expand Down
2 changes: 1 addition & 1 deletion docs/tasks/js/_js-build-local.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ You implement the [`Signer`](https://contentauth.github.io/c2pa-js/interfaces/_c
Browser pages are exposed to XSS: any script on the page can try to use keys that JavaScript can reach. Prefer **non-extractable** Web Crypto keys, user-gated imports (file input, `navigator.credentials`, or hardware where supported), and hardening such as CSP. Do not ship production private keys as PEM strings or other recoverable secrets in frontend bundles. If you use a **remote** signer instead, treat it like an API that must authorize exactly what is being signed (for example bind requests to a content hash and tight scopes), not as a generic “sign this blob” endpoint for an authenticated session.
:::

For obtaining and packaging certificates and keys outside the browser, see [Signing with local credentials](../../signing/local-signing).
For obtaining and packaging certificates and keys outside the browser, see [Signing with local credentials](../../docs/signing/local-signing).

Embedding signed manifests into binary formats is handled here for supported web formats; for server-side embedding across all formats, use Node, Python, Rust, or C++.

Expand Down
2 changes: 1 addition & 1 deletion docs/tasks/js/_js-settings.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

In the browser, there is no `Context` class. You pass a **camelCase** [`Settings`](https://contentauth.github.io/c2pa-js/interfaces/_contentauth_c2pa-web.Settings.html) object to [`createC2pa`](https://contentauth.github.io/c2pa-js/modules/_contentauth_c2pa-web.html#createc2pa); that becomes the default for new readers and builders. You can still pass a `Settings` object as the last argument to [`reader.fromBlob`](https://contentauth.github.io/c2pa-js/interfaces/_contentauth_c2pa-web.ReaderFactory.html#fromblob) or [`builder.new`](https://contentauth.github.io/c2pa-js/interfaces/_contentauth_c2pa-web.BuilderFactory.html#new) / [`fromDefinition`](https://contentauth.github.io/c2pa-js/interfaces/_contentauth_c2pa-web.BuilderFactory.html#fromdefinition) / [`fromArchive`](https://contentauth.github.io/c2pa-js/interfaces/_contentauth_c2pa-web.BuilderFactory.html#fromarchive) to override those defaults for a single instance.

For the full JSON schema (including `version` and snake_case fields used by Rust tooling), see [SDK object reference — Settings](../../manifest/json-ref/settings-schema). The web SDK maps the camelCase `Settings` shape to what the Wasm layer expects.
For the full JSON schema (including `version` and snake_case fields used by Rust tooling), see [SDK object reference — Settings](../../docs/manifest/json-ref/settings-schema). The web SDK maps the camelCase `Settings` shape to what the Wasm layer expects.

### Default `createC2pa` settings

Expand Down
2 changes: 1 addition & 1 deletion docs/tasks/node/_node-settings.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Node.js library does not expose a `Context` type. Instead, you pass **per-instance** settings: a JavaScript object, a JSON string, or file contents (JSON or TOML) from `loadSettingsFromFile`, as the second argument to `Reader.fromAsset`, `Reader.fromManifestDataAndAsset`, `Builder.new`, `Builder.withJson`, or `Builder.fromArchive`.

For the full settings schema, see [SDK object reference — Settings](../../manifest/json-ref/settings-schema).
For the full settings schema, see [SDK object reference — Settings](../../manifest/json-ref/settings-ref.mdx).

### Inline settings

Expand Down
16 changes: 8 additions & 8 deletions docs/tasks/settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Regardless of which language you're working in, you use the `Context` and `Setti
## Overview of Settings

> [!TIP]
> For the complete reference to the Settings object, see [SDK object reference - Settings](https://opensource.contentauthenticity.org/docs/manifest/json-ref/settings-schema).
> For the complete reference to the Settings object, see [SDK object reference - Settings](../manifest/json-ref/settings-ref.mdx).

Settings JSON has this top-level structure:

Expand All @@ -42,13 +42,13 @@ Settings JSON has this top-level structure:
| Property | Description |
|---------- | ----------- |
| `version` | Settings format version (must be 1) |
| [`trust`](../manifest/json-ref/settings-schema/#trust)| Certificate trust configuration for C2PA validation |
| [`cawg_trust`](../manifest/json-ref/settings-schema/#trust) | Certificate trust configuration for CAWG identity assertions |
| [`core`](../manifest/json-ref/settings-schema/#core) | Core SDK behavior and performance tuning |
| [`verify`](../manifest/json-ref/settings-schema/#verify) | Validation and verification behavior |
| [`builder`](../manifest/json-ref/settings-schema/#builder) | Manifest creation and embedding behavior |
| [`signer`](../manifest/json-ref/settings-schema/#signer-settings) | C2PA signer configuration |
| [`cawg_x509_signer`](../manifest/json-ref/settings-schema/#signer-settings) | CAWG identity assertion signer configuration |
| [`trust`](../manifest/json-ref/settings-ref.mdx#trust)| Certificate trust configuration for C2PA validation |
| [`cawg_trust`](../manifest/json-ref/settings-ref.mdx#trust) | Certificate trust configuration for CAWG identity assertions |
| [`core`](../manifest/json-ref/settings-ref.mdx#core) | Core SDK behavior and performance tuning |
| [`verify`](../manifest/json-ref/settings-ref.mdx#verify) | Validation and verification behavior |
| [`builder`](../manifest/json-ref/settings-ref.mdx#builder) | Manifest creation and embedding behavior |
| [`signer`](../manifest/json-ref/settings-ref.mdx#signer-settings) | C2PA signer configuration |
| [`cawg_x509_signer`](../manifest/json-ref/settings-ref.mdx#signer-settings) | CAWG identity assertion signer configuration |

The `version` property must be `1`. All other properties are optional.

Expand Down
Loading
Loading