Overview
Algorithm type: watermark (in Reconize: the hidden mark). Media types: image, video. Deployment: the Reconize Mac app, a C2PA-conformant Generator Product (Max Assurance Level 1), running entirely on-device on Apple silicon.
The underlying model is VideoSeal, Meta AI's open research (MIT licensed), converted to Core ML by Reconize. A 256-bit identity payload is embedded imperceptibly into the pixels of images and video frames at signing time, engineered to survive compression, scaling, and re-encoding.
Use as a C2PA soft binding
When Reconize signs an asset, it embeds the hidden mark and records the same payload in the asset's C2PA Manifest as a c2pa.soft-binding assertion using the soft-binding-map structure (shown in CBOR diagnostic notation):
{
"alg": "me.reconize.videoseal.1",
"blocks": [
{ "scope": {}, "value": h'<32 payload bytes>' }
]
}
The empty scope denotes the whole asset. The value is the 256-bit payload embedded in the pixels, encoded as a CBOR byte string as the specification requires, so a validator that extracts the hidden mark can match it against the manifest's claim, and a manifest can be re-associated with an asset whose metadata was removed in transit.
Current status (October 2026)
Starting with Reconize 2.5 (October 2026), every signed image and video that carries the hidden mark also carries the standard c2pa.soft-binding assertion, with alg me.reconize.videoseal.1 and the 256-bit payload as a CBOR byte string, as the specification requires. Earlier releases recorded the identifier only in Reconize's own hidden mark assertion. c2pa-rs could not write a soft binding value as a byte string when assertions are supplied as JSON (c2pa-rs #2689); our fix is open upstream as PR #2757, and Reconize ships it in its build of the library until it is merged. Files signed with 2.5 validate with no failures, the soft binding included, in Adobe's c2pa-rs tools and in Google's C2PA toolkit.
The free checker at verify.reconize.me reads the hidden mark in the browser, so a stripped copy can still be recognized today. Robustness results from our October 2026 sweep: on signed photos the mark was found in 36 of 41 common edits (JPEG quality 20, resize to 320 px, WebP and AVIF, repeated social re-compression, screenshots, color filters, rotation, blur, noise), always naming the exact signed copy; it was not found after crops removing a quarter or more of the picture, or in screenshots with wide surroundings; and it reported no mark on 82 edits of unsigned photos.
Embedding
| Property | Detail |
|---|---|
| Payload | 256-bit identity payload, unique per signing operation |
| Images | Single-pass embed (JPEG, PNG, HEIC) |
| Video | Per-frame embed (H.264, HEVC, ProRes), configurable frame coverage |
| Compute | Core ML on Apple silicon (CPU/GPU/ANE), fully on-device |
| Self-check | Every embed is read back from the output before the manifest asserts it; low-texture content that cannot hold the mark is signed at container level instead, with no soft-binding claim |
Extraction & matching
Extraction runs the VideoSeal detector on-device. For video, evidence is aggregated across sampled frames; matching against a manifest's claimed identifier uses a Hamming-distance tolerance rather than requiring an exact bit-perfect read, so ordinary distribution transforms do not break re-identification.
Reconize runs a public Soft Binding Resolution API at https://relay.reconize.me/softbinding/v1 (since relay 0.30.0). services/supportedAlgorithms lists me.reconize.videoseal.1, io.iscc.v0 and me.reconize.kp.1; matches/byBinding (GET or POST) takes a base64 binding value and returns matches from the Reconize registry. The relay keeps no manifests, so manifests/{id} answers 404 and each match carries the registry's public record instead. An exact file or keypoints name the signer; a perceptual code alone never does. Since relay 0.30.1 a hidden mark alone does not either, because the public embedder can paint one picture's mark onto another: a mark match comes back confirmed: false with confirmWith, and names the signer when the POST also carries the picture's keypoints (kp, rcz-kp-1) or a video's (vkp, rcz-vkp-1) and they agree with that record. The registry entry does not list softBindingResolutionApis yet.
Scope notes
Reconize also embeds a hidden AudioSeal mark in soundtracks and standalone audio, carrying a checksum tied to the same signing operation. Because that payload corroborates but cannot independently recover a manifest identifier, it is deliberately not part of this registration.
Contact
Maintained by Lil Dog Productions, LLC (Reconize). Questions about this algorithm or the registry entry: hello@reconize.me.