Skip to content

Does an entry name an algorithm or a deployment? #86

Open

Description

@titusz

The spec defines alg as identifying "the soft binding algorithm and version of that algorithm". The list now holds two kinds of entry:

  • One algorithm, several entries. Meta's open VideoSeal model is entry 30 (com.aiwatermark.videoseal.1) and entry 50 (me.reconize.videoseal.1), and Add be.immostory.videoseal.1 (entry 54) #84 adds a third. Are those entries interoperable?
  • One entry, several algorithms. 19 of the 53 entries declare more than one media type. Entry 3 (io.iscc.v0), for example, covers separate image, audio, video and text algorithms under one identifier, with a header in each value saying which one produced it. The list does not say whether, or how, a validator can tell which algorithm produced a value.

Which should an entry denote?

  1. An algorithm, with deployments listed as resolvers in softBindingResolutionApis.
  2. A deployment, with an optional field such as basedOn naming the underlying algorithm.
  3. Either, with each entry saying which it is.

This is not an objection to #84; the question applies to merged entries too.

Activity

  1. jcollomosse commented on Oct 14, 2026

    @jcollomosse
    Member

    A deployment, more specifically a deployment of a C2PA Manifest Repository. Indeed there are several examples of repositories using the same open source technologies for watermarking - some more overtly (based on the registry name) than others.

  2. titusz commented on Oct 14, 2026

    @titusz
    ContributorAuthor

    That raises questions on the model and on its governance.

    If an entry is a repository deployment:

    1. Is AIWatermark one entry or three? And how does Trufo fit, when an entry has a single type and Trufo serves a watermark and a fingerprint?
    2. The spec, the schema and the README describe entries as algorithms ("the soft binding algorithm and version of that algorithm", "a list of Soft Binding Resolution APIs supporting this algorithm"). Do we change those texts?
    3. Would alg in a soft binding assertion then identify a repository rather than the algorithm that produced the value?

    If an entry is an algorithm:

    1. How does a client tell which of the listed repositories issued a decoded watermark value?

    Either way:

    1. Who owns an entry? The README admits the owner of a proprietary algorithm or a maintainer of an open-source algorithm "or its fork", and lets developers amend "their entries". VideoSeal has three entries from three deployers and none from its authors.
    2. Who decides which repositories are listed for an algorithm? Can any repository that supports it be added to softBindingResolutionApis, or only with the entry owner's consent?
    3. Who removes a listed repository that stops working or misbehaves? The TWG may remove malicious or non-conformant entries, but nothing covers a single repository within an entry.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions