PROTOCOL DOCS / 0.1 Technical design preview

Rights that
systems can verify.

NOT PRODUCTION

This document describes the intended architecture of Proof by AVATARZ. It is a product and security design — not a claim of deployed certification, legal enforceability or standards conformance.

UPDATED28 JUL 2026

01 / OVERVIEW

A licence token is evidence,
not currency.

Proof turns a specific permission to use a person or protected identity into a signed, machine-readable credential. The credential can be checked without calling the original production tool and can change status without rewriting history.

IT ISA signed rights credential

Identity, parties, scope, dates, duties, prohibitions and status.

IT IS NOTA bearer access token

Possession never grants rights. Every use is evaluated against actor and context.

IT IS NOTAn NFT or cryptocurrency

No speculative ownership, transferability or public-chain dependency.

IT COMPLEMENTSThe legal agreement

The contract remains authoritative; the token is its operational projection and evidence link.

02 / ARCHITECTURE

Six layers. One decision.

Proof separates concerns so a compromised media file, production provider or distribution platform cannot silently rewrite the underlying authority.

01Identity root

Verified subject, representative and organisation identifiers.

→
02Consent receipt

Signed evidence of informed approval; sensitive evidence remains private.

→
03Licence credential

Portable scope expressed as permissions, prohibitions, duties and constraints.

→
04Asset binding

Exact SHA-256 byte binding, perceptual DCT fingerprinting and Google SynthID watermark detection.

→
05Content Credential

C2PA 2.4 manifest records media provenance, ingredients, transformations and Proof assertions.

→
06Status + transparency

Current revocation state and append-only issuance/event receipts.

→
VERIFYIdentity × signature × status × policy × multi-signal evidence × contextALLOW / DENY / REVIEW

03 / TOKEN LIFECYCLE

From human approval
to machine enforcement.

  1. 1

    Request

    A brand or producer submits a structured use request: purpose, script, model, territories, channels, duration and volume.

  2. 2

    Resolve authority

    Proof verifies the identity root and that the approving person or agency is authorised to act.

  3. 3

    Collect consent

    The human-readable summary and legal terms are approved. Proof hashes the signed evidence and records the consent ceremony.

  4. 4

    Compile policy

    Contract clauses are normalized into an AVATARZ ODRL profile. Ambiguity or unsupported constraints block issuance.

  5. 5

    Issue + sign

    A canonical credential is assigned an immutable ID, signed by an isolated issuer key and time-stamped.

  6. 6

    Authorize job

    Before generation, the requester, reference asset, provider, model and intended context are evaluated against the current credential.

  7. 7

    Bind outputs

    Each final asset references the licence token; its exact and optional soft bindings are recorded with C2PA provenance.

  8. 8

    Monitor + close

    Verification events, counters, expiry, suspension and revocation are appended without mutating past evidence.

04 / CREDENTIAL MODEL

Small public envelope.
Precise private evidence.

Public / portable

  • Stable token ID and schema version
  • Issuer and verification key reference
  • Pseudonymous subject and licensee IDs
  • Permissions, prohibitions and duties
  • Territory, channel, language, time and volume constraints
  • Status-list entry and evidence digests

Private / access-controlled

  • Identity documents and liveness evidence
  • Contracts, signatures and approval recordings
  • Contact details, remuneration and commercial terms
  • Internal review notes and incident evidence
  • Key ceremony and privileged audit records
ILLUSTRATIVE VC 2.0 PAYLOADJSON-LD
{
  "@context": ["https://www.w3.org/ns/credentials/v2"],
  "id": "https://proof.avatarz.com/licences/AAP-LIC-2026-C91F",
  "type": ["VerifiableCredential", "AvatarzLikenessLicence"],
  "issuer": "did:web:proof.avatarz.com",
  "validFrom": "2026-07-27T14:08:19Z",
  "validUntil": "2026-09-30T23:59:59Z",
  "credentialSubject": {
    "id": "urn:avatarz:identity:marcus-vale",
    "licensee": "urn:avatarz:org:northstar-sports",
    "policy": {
      "profile": "https://proof.avatarz.com/ns/odrl/likeness/v1",
      "permissions": ["generate", "translate", "distribute"],
      "prohibitions": ["paid-media", "political-use", "model-training"],
      "territories": ["FR", "GB"],
      "channels": ["owned-social", "crm", "stadium"],
      "languages": ["fr", "en"],
      "maxAssets": 50
    },
    "consentReceipt": "sha256:0c38…c7a1"
  },
  "credentialStatus": {
    "type": "BitstringStatusListEntry",
    "statusPurpose": "revocation",
    "statusListIndex": "4192",
    "statusListCredential": "https://proof.avatarz.com/status/2026-07"
  }
}

05 / GENERATION

Deterministic before
cryptographic.

The issuing service never signs raw form input. It validates, resolves, normalizes and canonicalizes the policy first, producing the same digest for semantically identical approved data.

✓

Schema gate

Strict Zod/JSON Schema validation; unknown policy fields fail closed.

✓

Authority gate

Representative mandate and identity status checked at issuance time.

✓

Policy compiler

Human clauses mapped to atomic ODRL-style rules; conflicts default to invalid.

✓

Canonical form

Stable JSON representation hashed with SHA-256 before signing.

✓

Key operation

Ed25519/EdDSA or approved enterprise profile; private key isolated in KMS/HSM.

✓

Trusted time

RFC 3161 time-stamp over the credential digest for long-term evidence.

✓

Status allocation

A privacy-preserving status-list index allocated independently of identity.

✓

Transparency receipt

Digest appended to a Merkle-based log; inclusion receipt returned.

06 / VERIFICATION

Verification returns
a reasoned decision.

01 / IDENTIFICATIONHow is the asset bound to a licence?

Cryptographic hard binding, multi-signal corroboration, watermark detection, or perceptual candidate.

02 / PROVENANCEAre the media claims authentic?

C2PA signer, manifest integrity, ingredients graph, actions and trusted timestamp.

03 / AUTHORITYCould the issuer grant these rights?

Accreditation, representation mandate, consent ceremony and active signing key status.

04 / USAGEIs this specific use permitted now?

Actor, action, territory, channel, purpose, dates, volume quota and current revocation status.

1Ingest media / signals
2Resolve candidate binding
3Verify signatures + root keys
4Check revocation list
5Evaluate ODRL policy
6Issue reasoned receipt
Fail closed, explain clearly.

A missing key, stale status list, unknown policy term, conflicting signal or mismatched context does not become “probably valid”. The engine returns deny or review with stable reason codes.

Two operational verification modes.

Anchored Licence Check (POST /v1/verify) evaluates a known token ID against a declared action and asset hash. Inbound Multi-Signal Discovery (POST /v1/verify-inbound) accepts raw media bytes or URLs, running C2PA, Google SynthID, and perceptual hashing in parallel to discover candidate records and evaluate rights automatically.

ANCHORED CONTEXTUAL VERIFICATIONHTTP
POST /v1/verify
{
  "token_id": "AAP-LIC-2026-C91F",
  "action": "distribute",
  "context": {
    "territory": "FR",
    "channel": "owned-social",
    "language": "fr",
    "asset_sha256": "89d2c6…a01f"
  }
}

200 OK
{
  "integrity": "valid",
  "provenance": "verified",
  "authority": "verified",
  "usage": "allow",
  "reason_codes": [],
  "checked_at": "2026-07-27T18:42:11Z",
  "receipt": "pvr_01JZCC2Y…"
}

07 / C2PA BRIDGE

C2PA proves the media chain.
Proof adds the rights chain.

C2PA 2.4

What happened to the asset?

Claim generator, ingredients, edits, content bindings, claim signature and trusted time-stamp.

PROOF

Was this use authorised?

Identity authority, consent, licensee, purpose, channels, territories, dates, duties and revocation.

For each final media asset, the intended design places the Proof token URI and credential digest in a namespaced custom C2PA assertion. The C2PA manifest remains the source of media provenance. Proof evaluates the linked commercial and consent scope.

HARD BINDINGExact bytes

Cryptographic hash detects any byte-level change.

SOFT BINDINGDerived media

Fingerprint or watermark helps recover provenance after transcoding or metadata stripping.

DURABLE LOOKUPManifest recovery

Soft binding locates the repository record; signatures and hard bindings still determine integrity.

Proof C2PA Bridge Profile v0.1 — draft.

The planned assertion label is com.avatarz.proof.binding.v1. It is an AVATARZ interoperability profile, not a registered C2PA standard assertion and not a claim of C2PA conformance. It carries references and digests—not contracts, identity documents or private commercial terms.

01C2PA validates independently

Signature, timestamp, ingredients, actions and content binding are checked according to C2PA.

✓
02Resolve the Proof reference

The verifier retrieves the signed licence by URI and confirms its digest and current status.

→
03Resolve issuer authority

The Trust Registry connects signing key, accreditation, mandate and protected subject.

→
04Evaluate declared use

Proof returns allow, deny or review with stable reason codes and a verification receipt.

✓
CUSTOM ASSERTION BODY / ILLUSTRATIVEJSON-LD
{
  "@context": "https://proof.avatarz.com/ns/c2pa/v1",
  "profile": "https://proof.avatarz.com/profiles/c2pa-bridge/v0.1",
  "licence": {
    "id": "https://proof.avatarz.com/licences/AAP-LIC-2026-C91F",
    "credentialDigest": "sha256:55f1…a80c",
    "status": "https://proof.avatarz.com/status/2026-07"
  },
  "authorization": {
    "grantDigest": "sha256:103e…9f11",
    "providerJob": "heygen:job:demo_1042"
  },
  "binding": {
    "receipt": "https://proof.avatarz.com/receipts/pbr_01JZDB1P"
  }
}

Non-equivalence rule. A trusted C2PA manifest never means that a commercial use is authorised. A valid Proof licence never guarantees that a file has an intact Content Credential. When C2PA manifests are stripped during distribution, Proof engages durable signal verification via SynthID and perceptual hashing.

08 / SYNTHID & MULTI-SIGNAL

C2PA proves the history.
SynthID survives the journey.

Embedded C2PA manifests can be dropped during social media re-encoding, video transcoders, or metadata scrubbers. Proof combines C2PA cryptographic claims with Google SynthID imperceptible watermarking and perceptual hashing into a unified multi-signal verification pipeline, recovering detached credentials and detecting unauthorized modifications.

C2PA 2.4Provenance layer

Signed manifest, claim signature, ingredient tree and tamper evidence. Fragile to platform re-encoding.

GOOGLE SYNTHIDDurable signal

Imperceptible watermark in pixels, video or audio. Survives cropping, filters, frame-rate shifts and lossy compression.

PERCEPTUAL HASHSoft binding

64-bit DCT visual fingerprint matching within Hamming distance thresholds to locate candidate assets.

PROOF RESOLVERRights evaluation

Evaluates identity authority, consent, licensee, purpose, channels, territories, dates and real-time revocation.

01C2PA verified with Proof binding

Cryptographic match directly yields verified (1.0 confidence) and evaluates rights.

✓
02Manifest stripped + SynthID detected + pHash match

Independent durable signals agree, yielding corroborated (0.90–0.95 confidence) and recovering the licence.

→
03C2PA manifest recovered via durable soft-binding

Perceptual soft-binding queries the registry to restore the detached manifest, yielding corroborated (0.95 confidence).

→
04SynthID detected with external identifier

Watermark carries a resolvable ID mapped to Proof, yielding corroborated (0.85 confidence).

→
05SynthID detected without identifier

AI origin is recorded (detected, 0.50 confidence), but rights remain unresolved; cannot authorize on watermark alone.

?
06Conflicting provider signals

Mismatched external IDs trigger an immediate collision flag (conflicting), escalating to review.

!
Watermark detection is never legal authorization.

Detecting a Google SynthID watermark confirms synthetic media origin and persistence across modifications, but never proves that a person’s likeness, voice, or character was licensed for a specific commercial campaign, territory, or channel. The resolver rejects naive “if SynthID then authorized” shortcuts.

Absence of SynthID is not proof of non-AI content.

A missing SynthID watermark must not be interpreted as evidence that content is human-made or authorized. It may originate from another model, an unsupported media modality, or modifications outside detector tolerances.

INBOUND MULTI-SIGNAL VERIFICATIONHTTP
POST /v1/verify-inbound
{
  "source_url": "https://cdn.example.com/campaigns/spot_cut_04.mp4",
  "mime_type": "video/mp4"
}

200 OK (Async Job Resolved)
{
  "job_id": "vjb_01JK88P9E2",
  "state": "done",
  "identification_state": "corroborated",
  "identification_confidence": 0.94,
  "provenance_integrity": "corroborated",
  "rights_resolution": "resolved",
  "authorization_decision": "allow",
  "resolved_licence_id": "AAP-LIC-2026-C91F",
  "reason_codes": [
    "C2PA_MISSING",
    "SYNTHID_DETECTED",
    "PHASH_CANDIDATE_MATCH",
    "AUTONOMOUS_ALLOW_HIGH_CONFIDENCE"
  ],
  "signal_observations": [
    {
      "provider": "c2pa",
      "signal_type": "provenance",
      "status": "not_detected",
      "limitations": ["no_embedded_c2pa_manifest", "c2pa_manifest_may_be_stripped_on_re_encode"]
    },
    {
      "provider": "synthid",
      "signal_type": "watermark",
      "status": "detected",
      "confidence": 0.96,
      "detector_version": "synthid-v2.0",
      "limitations": ["synthid_watermark_persistence_depends_on_media_modifications", "score_is_probabilistic_not_cryptographic_proof"]
    },
    {
      "provider": "phash",
      "signal_type": "fingerprint",
      "status": "detected",
      "confidence": 0.92,
      "external_id": "ast_01JH92KA9P",
      "limitations": ["perceptual_similarity_is_not_cryptographic_identity"]
    }
  ]
}

09 / OPTIONAL CHAIN ANCHORING

Blockchain-capable.
Never blockchain-dependent.

Proof works end to end without a blockchain. Credentials are signed, status is independently resolvable, trusted time can be provided through RFC 3161, and transparency receipts can be verified against the AVATARZ append-only log. A chain adapter is an optional publication destination for selected digests — not the source of truth and never a condition for issuing or verifying a token.

CORE PROTOCOLAlways available

Identity, consent, policy, signature, asset binding, revocation and audit remain chain-agnostic.

+
OPTIONAL ADAPTERExternal anchor

A batch Merkle root or selected receipt digest may be published to a public, consortium or private ledger.

=
ADDITIONAL EVIDENCENot additional rights

The anchor corroborates existence and ordering; it cannot create consent, validate a licence or override revocation.

WHY USE IT

Neutrality across organisations

A shared external anchor can reduce reliance on AVATARZ alone when agencies, rightsholders, platforms and auditors need common evidence.

WHAT GOES ON-CHAIN

Digests, never sensitive evidence

Only batched roots, timestamps and protocol identifiers by default. No identity documents, contracts, personal data, media or commercial terms.

PORTABILITY

Replaceable by design

The adapter interface supports several networks or none. Verification continues if a partner chain is unavailable, expensive or discontinued.

PREMIUM PROFILE

Enterprise anchoring policy

Customers could choose anchor frequency, network, redundancy, retention receipts and independent audit exports as paid assurance options.

PARTNERSHIP POSITION
A credible blockchain partner may fund the adapter and become a reference deployment.

Proof would retain protocol governance, multi-chain portability and a fully functional off-chain profile. Partnership language must never imply exclusivity, token speculation, legal validity “created” by the chain or mandatory use of the partner network.

10 / SECURITY ARCHITECTURE

Keys sign facts.
Controls protect meaning.

Signing keys

Non-exportable KMS/HSM keys, least-privilege signing role, dual control for root and rotation operations.

Key discovery

Versioned public JWK set / controlled identifier; every token pins a key ID and algorithm.

Rotation

Short operational key periods, overlapping verification window, emergency revocation and historical key retention.

Data protection

TLS in transit; envelope encryption at rest; evidence separated by tenant and purpose.

Service identity

Workload identity and mutually authenticated service calls for privileged issuance paths.

Authorisation

Fine-grained policy checks; no UI role alone can sign, revoke or export sensitive evidence.

Auditability

Every privileged read, decision and key operation produces an immutable, correlated audit event.

Privacy

Pseudonymous public identifiers, minimum disclosure, status-list caching and no identity in list indexes.

11 / STATUS & REVOCATION

History is immutable.
Authority is not.

Proof never deletes or rewrites an issued credential. It publishes a signed status transition and preserves the previous state, reason, actor and effective time.

ACTIVE

Credential can be evaluated.

→
SUSPENDED

Temporarily blocked during review.

→
REVOKED

Permanently invalid for new use.

→
ARCHIVED

Retained as evidence only.

Distribution cannot be magically recalled. Revocation changes future verification results, triggers notices and takedown workflows, and creates evidence of non-compliant reuse.

12 / THREAT MODEL

Designed around
how proof fails.

Token tampering

Signature and canonical digest fail.

Reject
Replay in a new context

Audience, action, territory, channel and asset are re-evaluated.

Deny
Metadata & manifest stripped

SynthID watermark + pHash soft-binding recover manifest & token.

Recover / review
Signal collision / spoofing

Conflicting provider external IDs trigger immediate collision flag.

Review
Signing key compromised

Revoke key, publish incident time, re-issue unaffected credentials.

Contain
Representative loses mandate

Suspend identity authority and dependent credentials.

Suspend
Provider creates extra outputs

Asset counter and unregistered hash reveal out-of-scope media.

Flag
Status service unavailable

Use bounded cache; stale beyond policy threshold never returns allow.

Review
Malicious insider

Separation of duties, dual control and independent audit stream.

Escalate

13 / PRODUCT SURFACES

One protocol.
Several trust surfaces.

PROOF ISSUEPOST /v1/licence-requests

Request issuance; sign only after authority, consent and policy validation.

PROOF AUTHORIZEPOST /v1/authorizations

Evaluate one generation job and return a short-lived grant or reasoned refusal.

PROOF BINDPOST /v1/assets

Bind the final output, provider evidence and C2PA manifest to the authorised job.

PROOF VERIFYPOST /v1/verify

Contextual allow, deny or review check for a declared licence and asset hash.

PROOF VERIFY INBOUNDPOST /v1/verify-inbound

Ingest media bytes or URL for async C2PA, SynthID and pHash multi-signal discovery.

STATUS APIGET /v1/status/:list

Cacheable signed status lists with privacy-preserving indexes.

EVENTSproof.licence.revoked

Signed webhooks for expiry, suspension, revocation and misuse.

Product names describe operational surfaces, not separate trust systems. See how Issue, Authorize, Bind and Verify form one control loop ↗

14 / GOVERNANCE

Cryptography cannot decide
who deserves trust.

Production readiness requires governance around issuer admission, identity assurance levels, representative mandates, schema changes, dispute resolution, retention, law-enforcement requests and transparent incident reporting.

○ External cryptographic review○ Legal review by territory○ C2PA conformance testing○ Independent penetration test○ Key compromise drill○ Privacy impact assessment○ Recovery and continuity tests○ Published issuer policy

15 / STANDARDS & REFERENCES

Built on standards.
Explicit about extensions.