@adcp/sdk API Reference - v14.0.0-beta.6
    Preparing search index...

    Interface Provenance

    Provenance metadata for this asset, overrides manifest-level provenance

    interface Provenance {
        digital_source_type?: DigitalSourceType;
        synthetic_depiction?: boolean;
        ai_tool?: { name: string; version?: string; provider?: string };
        human_oversight?:
            | "none"
            | "prompt_only"
            | "selected"
            | "edited"
            | "directed";
        declared_by?: {
            agent_url?: string;
            role: "platform"
            | "advertiser"
            | "creator"
            | "agency"
            | "tool";
        };
        declared_at?: string;
        created_time?: string;
        c2pa?: { manifest_url: string };
        embedded_provenance?: [
            {
                method: EmbeddedProvenanceMethod;
                standard?: string;
                provider: string;
                verify_agent?: { agent_url: string; feature_id?: string };
                embedded_at?: string;
            },
            ...{
                method: EmbeddedProvenanceMethod;
                standard?: string;
                provider: string;
                verify_agent?: { agent_url: string; feature_id?: string };
                embedded_at?: string;
            }[],
        ];
        watermarks?: [
            {
                media_type: WatermarkMediaType;
                provider: string;
                verify_agent?: { agent_url: string; feature_id?: string };
                c2pa_action?: C2PAWatermarkAction;
                embedded_at?: string;
            },
            ...{
                media_type: WatermarkMediaType;
                provider: string;
                verify_agent?: { agent_url: string; feature_id?: string };
                c2pa_action?: C2PAWatermarkAction;
                embedded_at?: string;
            }[],
        ];
        disclosure?: {
            required: boolean;
            jurisdictions?: [
                {
                    country: string;
                    region?: string;
                    regulation: string;
                    label_text?: string;
                    render_guidance?: {
                        persistence?: DisclosurePersistence;
                        min_duration_ms?: number;
                        positions?: [DisclosurePosition, ...DisclosurePosition[]];
                        ext?: ExtensionObject;
                    };
                },
                ...{
                    country: string;
                    region?: string;
                    regulation: string;
                    label_text?: string;
                    render_guidance?: {
                        persistence?: DisclosurePersistence;
                        min_duration_ms?: number;
                        positions?: [DisclosurePosition, ...DisclosurePosition[]];
                        ext?: ExtensionObject;
                    };
                }[],
            ];
        };
        verification?: [
            {
                verified_by: string;
                verified_time?: string;
                result: "authentic"
                | "ai_generated"
                | "ai_modified"
                | "inconclusive";
                confidence?: number;
                details_url?: string;
            },
            ...{
                verified_by: string;
                verified_time?: string;
                result: "authentic"
                | "ai_generated"
                | "ai_modified"
                | "inconclusive";
                confidence?: number;
                details_url?: string;
            }[],
        ];
        ext?: ExtensionObject;
    }
    Index

    Properties

    digital_source_type?: DigitalSourceType
    synthetic_depiction?: boolean

    Assessed declaration of whether the content synthetically depicts a real or fictional person performing or appearing in a way that was generated or materially manipulated rather than captured as depicted. true covers both a fully synthetic performer and material manipulation of a real performer; false is an assessed declaration that the content does not contain such a depiction. Absence means the content has not been assessed for synthetic depiction. This field does not claim consent, legality, or independent verification, and receivers MUST NOT derive it solely from digital_source_type.

    ai_tool?: { name: string; version?: string; provider?: string }

    AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.

    Type Declaration

    • name: string

      Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')

    • Optionalversion?: string

      Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version.

    • Optionalprovider?: string

      Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')

    human_oversight?: "none" | "prompt_only" | "selected" | "edited" | "directed"

    Level of human involvement in the AI-assisted creation process. Independent of disclosure.required — the protocol does not derive disclosure obligations from oversight level. Some regulations include carve-outs for human-edited or human-directed AI output, but those carve-outs have factual prerequisites the schema cannot evaluate. Asserting edited or directed does not by itself justify disclosure.required: false.

    declared_by?: {
        agent_url?: string;
        role: "platform" | "advertiser" | "creator" | "agency" | "tool";
    }

    Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.

    Type Declaration

    • Optionalagent_url?: string

      URL of the agent or service that declared this provenance

    • role: "platform" | "advertiser" | "creator" | "agency" | "tool"

      Role of the declaring party in the supply chain

    declared_at?: string

    When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance.

    created_time?: string

    When this content was created or generated (ISO 8601)

    c2pa?: { manifest_url: string }

    C2PA sidecar manifest reference. Links to a detached cryptographic provenance manifest for this content. Note: file-level C2PA bindings break when ad servers transcode, resize, or re-encode assets. For pipelines with intermediaries, consider embedded_provenance as the primary provenance mechanism.

    Type Declaration

    • manifest_url: string

      URL to the C2PA manifest store for this content

    embedded_provenance?: [
        {
            method: EmbeddedProvenanceMethod;
            standard?: string;
            provider: string;
            verify_agent?: { agent_url: string; feature_id?: string };
            embedded_at?: string;
        },
        ...{
            method: EmbeddedProvenanceMethod;
            standard?: string;
            provider: string;
            verify_agent?: { agent_url: string; feature_id?: string };
            embedded_at?: string;
        }[],
    ]

    Provenance metadata embedded within the content stream. Each entry declares one embedding layer: structured provenance data carried inside the content itself, as distinct from sidecar references (c2pa.manifest_url). Embedded provenance survives operations that break sidecar and file-level bindings: ad-server transcoding, CMS ingestion, copy-paste, reformatting, and CDN re-encoding. For ad-tech pipelines where content passes through multiple intermediaries, embedded provenance is the reliable path for provenance that persists from declaration through delivery. This is a declaration by the embedding party. The receiving party (the seller) is the verifier-of-record: it confirms the claim by calling a governance agent it trusts (typically one published in creative_policy.accepted_verifiers).

    1

    watermarks?: [
        {
            media_type: WatermarkMediaType;
            provider: string;
            verify_agent?: { agent_url: string; feature_id?: string };
            c2pa_action?: C2PAWatermarkAction;
            embedded_at?: string;
        },
        ...{
            media_type: WatermarkMediaType;
            provider: string;
            verify_agent?: { agent_url: string; feature_id?: string };
            c2pa_action?: C2PAWatermarkAction;
            embedded_at?: string;
        }[],
    ]

    Content watermarks applied to this asset. Each entry declares one watermarking layer: a content modification that encodes an identifier or fingerprint within the asset. Watermarks differ from embedded provenance: a watermark encodes an identifier (who generated it, who owns it), while embedded provenance carries or references a structured provenance record (the full chain of custody). A single asset may carry both. Aligns with C2PA action taxonomy: c2pa.watermarked.bound (watermark linked to a C2PA manifest) and c2pa.watermarked.unbound (watermark independent of any manifest). This is a declaration by the watermarking party. The receiving party (the seller) is the verifier-of-record: it confirms the claim by calling a governance agent it trusts (typically one published in creative_policy.accepted_verifiers).

    1

    disclosure?: {
        required: boolean;
        jurisdictions?: [
            {
                country: string;
                region?: string;
                regulation: string;
                label_text?: string;
                render_guidance?: {
                    persistence?: DisclosurePersistence;
                    min_duration_ms?: number;
                    positions?: [DisclosurePosition, ...DisclosurePosition[]];
                    ext?: ExtensionObject;
                };
            },
            ...{
                country: string;
                region?: string;
                regulation: string;
                label_text?: string;
                render_guidance?: {
                    persistence?: DisclosurePersistence;
                    min_duration_ms?: number;
                    positions?: [DisclosurePosition, ...DisclosurePosition[]];
                    ext?: ExtensionObject;
                };
            }[],
        ];
    }

    Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.

    Type Declaration

    • required: boolean

      The declaring party's claim that AI disclosure is required for this content under applicable regulations. This is a declared signal carried through the supply chain — useful as a routing and audit input — not a regulatory determination made by the protocol. Receiving parties remain responsible for their own jurisdictional analysis and should not treat required: false as compliance cover.

    • Optionaljurisdictions?: [
          {
              country: string;
              region?: string;
              regulation: string;
              label_text?: string;
              render_guidance?: {
                  persistence?: DisclosurePersistence;
                  min_duration_ms?: number;
                  positions?: [DisclosurePosition, ...DisclosurePosition[]];
                  ext?: ExtensionObject;
              };
          },
          ...{
              country: string;
              region?: string;
              regulation: string;
              label_text?: string;
              render_guidance?: {
                  persistence?: DisclosurePersistence;
                  min_duration_ms?: number;
                  positions?: [DisclosurePosition, ...DisclosurePosition[]];
                  ext?: ExtensionObject;
              };
          }[],
      ]

      Jurisdictions where disclosure obligations apply

      1

    verification?: [
        {
            verified_by: string;
            verified_time?: string;
            result: "authentic"
            | "ai_generated"
            | "ai_modified"
            | "inconclusive";
            confidence?: number;
            details_url?: string;
        },
        ...{
            verified_by: string;
            verified_time?: string;
            result: "authentic"
            | "ai_generated"
            | "ai_modified"
            | "inconclusive";
            confidence?: number;
            details_url?: string;
        }[],
    ]

    Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.

    1