Expand description
Local-first, verification-only C2PA SDK.
The public facade reads caller-provided bytes and reports integrity separately from trust. Network access occurs only after saved failure telemetry consent or an explicit per-call override.
Structs§
- Cawg
Trust Configuration - One entry of the CAWG Identity 1.3 trust configuration a caller supplies.
- Detached
Manifest Evidence - Raw, read-only evidence needed to validate an embedded manifest remotely without uploading the host asset.
- Ertmp
Connection Context - Caller-supplied E-RTMP capability negotiation assertions.
- Ertmp
Input - Ordered input to E-RTMP verification.
- Ertmp
Manifest Report - One manifest first exercised by an E-RTMP segment.
- Ertmp
Segment Report - Result for one closed logical E-RTMP segment.
- Ertmp
Track - One E-RTMP track. An absent wire
trackIdis represented as zero. - Ertmp
Verification Report - Result of
verify_ertmp_with_options. - Ertmp
Wire Error - A framing or media-packet defect. Every defect is fatal: malformed input is never converted into a partial event stream.
- Ertmp
Wire Event Context - Wire identity for one media-derived verifier event.
- Ertmp
Wire Input - Parsed verifier input plus wire identity for every event.
- Ertmp
Wire Limits - Hard bounds applied before allocating from untrusted wire lengths.
- External
DidDocument Request - One DID document a network adapter may resolve before final verification.
- External
Resource Plan - A parse-only, bounded external-resource discovery session.
- External
Resource Request - One external URI the caller may resolve before final verification.
- FlvWire
Options - FLV has no chunk-stream identity, so callers must provide the IDs from the RTMP connection that the file/tag trace represents.
- Freshness
Report - Graph
Inputs - Caller-supplied resource provider and ceilings for graph validation.
- Graph
Limits - Resource ceilings for one verification graph.
- Local
Evidence - One local verification plus what a service needs to re-verify the same manifest store without receiving the asset.
- Local
Hard Binding - The hard binding a
LocalEvidencepass checked. - Manifest
Digest - One manifest of a store and its expanded-domain SHA-256, the digest an
ingredient’s
activeManifestreference to it carries. - Network
Report - What a verification did, or could have done, on the network.
- Network
Request - One attempted fetch.
- Recovered
Soft Binding Manifest - A fetched manifest store and its ordinary local C2PA verification report.
- Revocation
Report - Rtmp
Wire Connection - One complete publisher-to-server RTMP connection after its handshake.
- Segment
Report - One per-segment stream position, verified as a standalone asset.
- Soft
Binding Algorithm - One registered algorithm returned by a service.
- Soft
Binding Algorithms - Algorithms a service accepts for query operations.
- Soft
Binding Capabilities - Service capability document. Unknown capability names remain visible.
- Soft
Binding Discovery - Service discovery document.
- Soft
Binding Fetch Request - One bounded read-only request emitted by
SoftBindingResolverSession. - Soft
Binding Match - One query match from a local or federated repository.
- Soft
Binding Receipt Evidence - Repository-reported receipt evidence.
server_reported_verifiedis not a local cryptographic receipt verdict. - Soft
Binding Receipt Verification Session - Transport-independent session for the repository’s explicit receipt POST.
- Soft
Binding Resolution - Complete evidence from one read-only resolution flow.
- Soft
Binding Resolver Options - Network and optional read-only evidence policy for soft-binding recovery.
- Soft
Binding Resolver Session - Transport-independent Soft Binding Resolution API state machine.
- Store
Only Validation - What one manifest store proves with no asset: claim, assertion, ingredient, signature, time-stamp, revocation, trust and identity validation, and nothing about content.
- Stream
Verification Report - Result of
verify_stream. - Telemetry
Options - Per-verification override for persisted failure telemetry consent.
- Trust
List Source - One caller-supplied trust list with provenance retained for C2PA 2.5 crJSON.
- Trust
Report - Trust
Source - Provenance for the trust list that supplied an anchor configuration.
- Validated
External Data - Caller-supplied external resource evidence decoded while validating all verification options.
- Validation
Failure Telemetry - Privacy-bounded validation failure report. It contains no asset bytes, manifest data, filenames, URLs, keys, trust material, or stable identifiers.
- Validation
Results - Verification
Report - Verification
Status - Verify
Options
Enums§
- Cawg
Trust Profile - The CAWG Identity 1.3 rules a
CawgTrustConfigurationis accepted under. - Error
- Ertmp
Event - One caller-parsed E-RTMP event, in transmission order.
- Ertmp
Media Type - E-RTMP media type. Audio and video track-id namespaces are independent.
- External
Resource - What a caller-side retrieval attempt for one external hashed URI produced.
- External
Resource Kind - How final verification uses one discovered external resource.
- External
Resource Stop Reason - Why discovery could not reach a complete resource frontier.
- Graph
Limit Kind - The graph ceiling that stopped parse-only discovery.
- Online
Preference - The saved answer to “may this machine fetch what a file references?”.
- Online
Preference Error - Soft
Binding Disclosure Consent - Explicit consent carried by query variants that disclose asset material.
- Soft
Binding Http Method - HTTP method emitted by the transport-independent resolver.
- Soft
Binding Query - One explicitly selected Soft Binding Resolution API query route.
- Stream
Encapsulation - How a fragmented stream is packaged.
- Stream
Method - The C2PA protection method applied to a fragmented stream.
- Telemetry
Preference Error
Constants§
- C2PA_
PROFILE - Report
profileof the default C2PA 2.4 validation policy. - C2PA_
PROFILE_ 2_ 2 - Report
profileof the explicitly selected C2PA 2.2 policy. - C2PA_
PROFILE_ 2_ 5 - Report
profileof the explicitly selected C2PA 2.5 policy. - DEFAULT_
TELEMETRY_ ENDPOINT - DEFAULT_
TRUST_ SNAPSHOT_ DATE - REPORT_
SCHEMA_ VERSION - SPEC_
VERSIONS - Every value
VerifyOptions::spec_versionaccepts.Nonemeans"2.4". - SUPPORTED_
EXTENSIONS - Every filename extension the SDK maps to a MIME type, with its mapping.
Traits§
- External
Resources - Injected, network-free source of external hashed-URI resources.
Functions§
- allow_
interactive_ online_ consent - Let this process ask the operator before it fetches anything.
- config_
directory - The directory holding this SDK’s saved preferences for the current
operating-system account, or
Nonewhen none can be resolved (containers, service accounts, HOME-less shells). - detached_
manifest_ evidence - Extract the signed manifest store and its contiguous carrier for detached server validation, locating it under the default C2PA 2.4 policy.
- detached_
manifest_ evidence_ with_ options detached_manifest_evidenceunder the policyoptions.spec_versionselects. A 2.5 extraction therefore returns exactly the store and carrier span that a 2.5 verification reads.- ertmp_
input_ from_ flv - Parse one complete FLV file into ordered verifier events.
- ertmp_
input_ from_ rtmp_ connections - Parse complete post-handshake publisher-to-server RTMP connection traces. Each trace carries its own caller-supplied negotiation assertions and initial chunk size. A reconnect event is inserted between traces; chunk, message, and track-to-message-stream state resets at that point.
- local_
evidence_ with_ options - Verify asset bytes exactly as
verify_with_optionsdoes and return the evidence a remote service needs to re-verify the same manifest store. - locate_
external_ resources - Discover external resources from the same embedded store selected by final
verification under the caller-selected policy. Only
spec_versionandstrict_conformanceare consulted; trust, evidence, clocks, and cryptography belong to final verification. - locate_
external_ resources_ with_ manifest_ store - Discover external resources from a caller-supplied initial store. The
supplied store is authoritative even if
assetalso embeds one, matchingcrate::verify_with_manifest_store_and_graph_inputs. It is parsed during this call and is not retained by the returned plan. Only the caller’s policy and carrier selection are consulted. - mime_
from_ path - Infer a MIME type from a filename extension, case-insensitively.
- online_
preference - The effective saved choice.
ENCYPHER_C2PA_ONLINEis an operator override and wins over the file; it accepts onlyonandoff, because an operator setting an environment variable on a service has nobody to ask. - prompt_
for_ telemetry_ consent - Ask for consent on the first interactive verification and persist the
answer. Non-interactive processes return
Noneand remain disabled. - request_
soft_ binding_ receipt_ verification - Ask a repository to verify a caller-supplied receipt. The result remains server-reported evidence and is not a local cryptographic receipt verdict.
- resolve_
soft_ binding - Discover, query, fetch and locally verify matching manifest stores through the native no-redirect transport.
- set_
online_ preference - Persist the online choice for later runs of every terminal surface used by this operating-system account.
- set_
telemetry_ enabled - Persist the telemetry preference for subsequent verifications by every native Encypher C2PA binding used by this operating-system account.
- supported_
mime_ types - Canonical MIME types covered by the C2PA 2.4 profile and readable by this build.
- supported_
mime_ types_ for - Canonical MIME types the caller-selected policy reads with an embedded
manifest carrier.
Noneis exactly"2.4". The finite 2.2 and 2.4 lists come from the shared format registry."2.5"adds the standard ZIP package and generic-container names used by generator products, plus WARC, MIDI, TTML, ONNX, SafeTensors, Parquet, BlockFact, append-only JSON Lines, WebVTT and textual comment-syntax types. It also reads the OpenDocument family, othertext/*types and+xmltypes by family, which no finite list can enumerate. Generic XML-comment embedding stays unreadable under 2.5 (upstream issue 2590), so XML types without a dedicated carrier are omitted. Any well-formed type can still be verified against a separately supplied store withverify_with_manifest_store. - telemetry_
preference - Return the effective saved preference. An environment override takes precedence over the per-user configuration file.
- validation_
failure_ telemetry - verify
- Verify asset bytes with default options. Parsing and validation stay offline;
saved failure-telemetry consent may emit one bounded request. For guaranteed
no egress, disable the
telemetryfeature or callverify_with_optionswithtelemetry.enabledset toSome(false). - verify_
ertmp verify_ertmp_with_optionswith 2.5 selected and all other defaults kept.- verify_
ertmp_ with_ options - Verify ordered E-RTMP events under the explicitly selected C2PA 2.5 policy.
- verify_
file - Read and verify one local asset.
- verify_
fragmented - Verify a fragmented ISO BMFF stream with default options.
- verify_
fragmented_ with_ graph_ inputs verify_fragmented_with_optionswith caller-controlled external resource resolution and lowered graph ceilings. The fragments, graph walk, and CAWG identity checks run in one verification pass without network I/O.- verify_
fragmented_ with_ options - Verify a fragmented ISO BMFF stream with explicit trust, validation-time, CAWG, and telemetry options.
- verify_
manifest_ store_ only - Validate a manifest store on its own, with no asset.
- verify_
manifest_ store_ only_ with_ graph_ inputs verify_manifest_store_onlywith caller-controlled external resource resolution and lowered graph ceilings. Content remains deliberately unevaluated, so a valid result stays unbound.- verify_
stream - Verify a fragmented ISO BMFF stream under a declared encapsulation and protection method, with default options.
- verify_
stream_ with_ options - Verify a fragmented ISO BMFF stream with explicit trust, validation-time, and CAWG options.
- verify_
with_ graph_ inputs - Verify with caller-controlled external resource resolution and lowered graph
ceilings. Policy selection, trust defaults and all verdict logic are the
same as
verify_with_options; this function performs no network I/O. - verify_
with_ manifest_ store - Verify one asset against a manifest store the caller supplies separately.
- verify_
with_ manifest_ store_ and_ graph_ inputs verify_with_manifest_storewith caller-controlled external resource resolution and lowered graph ceilings. The manifest store and external resources are supplied by the caller; this function performs no network I/O and completes the graph and CAWG checks in one verification pass.- verify_
with_ options - Verify asset bytes against the bundled trust snapshots plus any static trust material supplied by the caller. Failure telemetry follows the explicit override or saved per-user preference.