Protocol reference. The sandbox can return example obligations for fictional licenses.
Production delivery, deletion, usage reporting and provider enforcement described below are
not supplied or certified by the sandbox.
Start with the runnable quickstart and sandbox support matrix.
allow is conditional. Obligations say what must happen for the use to stay licensed: pass
rules to the model, submit outputs, hold them for release, label them, embed the receipt, keep
material out of training, delete it, report usage. Each obligation is typed, so your code can meet
it without reading prose.
Where obligations appear
Every obligation has a
type and only the fields listed for that type. Any obligation can carry
term, the address of the license term it comes from, such as
license:lic_k5zba2q8v1m3n7p4r6s9t0wxyh/terms.neverExtras.
Unknown types are unmet
The obligation types are a registry, extended by a published change to the Talent License Protocol. If a response carries atype your code
does not know, treat it as unmet: do not generate, and do not deliver. Never skip an obligation
because you do not recognize it.
generation_check
Fields: required (all or sampled), sample_rate (0 to 1).
Submit outputs as generations before anyone sees them. With all,
submit every output. With sampled, submit at least the share in sample_rate, chosen at random
rather than by content. Deliver a submitted output only when its decision is allow.
hold_until_release
Fields: reviewer (talent, representative or reflections).
A person releases each output. Its generation returns escalate with status: "held". Keep the
clean output private, and deliver it only after
generation.released. A held output that nobody
reviews expires after 7 days and can never be released. See Escalation.
draft_watermark
No fields.
Anything you show before release, such as a preview for the person who asked for it, carries a
visible draft watermark. Without this obligation, show nothing before release. Deliver the clean
output only after release.
generation_instructions
Fields: instructions (a list of strings).
Include every instruction, as written, in what the model receives, for example in its system text.
Instructions say what must stay (“Keep Maya Okafor the same person: face, skin tone and build
unchanged.”) and what must not appear (“Do not show alcohol or tobacco.”). Do not paraphrase or
drop any of them.
disclosure
Fields: level (licensed, brand or scope), text, placement (visible, metadata or
both).
Label the output with text, exactly as given. licensed says the person’s likeness is licensed;
brand adds who licensed it; scope adds the use. With visible, show the label with the output
wherever it appears; with metadata, write it into the file’s metadata; with both, do both.
Embedding provenance shows where.
attribution
Fields: text.
Show the credit line in text, as written, where the output appears.
c2pa_manifest
No fields.
Before you deliver, add the generation’s c2pa object to the output’s C2PA manifest as an assertion
under its label, ai.reflections.license. You stay the C2PA claim signer for your output; the
receipt inside is signed by Reflections. See Provenance.
no_training
Fields: material (references, voice or outputs).
Do not use the covered material to train or fine-tune any model, yours or a provider’s. A license
can change this only with scope.training: "permitted".
delete_material
Fields: material (references, voice or outputs), within (an ISO 8601 duration).
Delete the covered material, including copies held at model providers, within within, counted
from the decision that carried the obligation. Copies at providers, such as a voice, are listed
in the facet’s provider_bindings.
usage_report
Fields: units (outputs, seconds, characters, placements or impressions), within.
Report usage in units with a usage record that names the
generation or session. within is counted from the generation’s decision, or for a session from
the session’s end.
Example: an image for Ridgeline
A check for a Ridgeline campaign image returns these obligations:Related
Decisions
What an
allow carries.Obligations registry
The registered types and how new ones are added.
Submitting outputs
Uploads, candidates and findings.
Embedding provenance
The C2PA assertion and the disclosure label.