This page describes the target production lifecycle. The current service is a fictional test
sandbox: it simulates decisions and signs test receipts. Real talent, media evaluation, webhooks,
sessions, revocation changes and settlement are not available. Run the supported
quickstart and check availability before building against a feature.
1. The talent sets terms
A talent is a person whose name, likeness or voice is protected through Reflections. Each part of their identity that can be licensed is a facet: a likeness, a voice, a persona, a body of their own words. The talent, or a representative they appoint, signs licenses with licensees: a brand for a campaign, or a platform for its own users’ personal use. A license is a signed document. Its terms say which facets, which modalities, which purposes, channels and territories, for which dates, which changes to the talent’s appearance are allowed, which rules the talent wrote (“Do not show alcohol or tobacco”), and what the licensee owes. Each signed version is a license revision with aterms_digest, and its terms never change.
Talent also publish a posture: their standing public answer for uses with no license, such as
prohibited for political advertising. See Licenses and
Talent and facets.
2. The platform checks the use
Before generating, your platform sends a check: the request your model will receive (prompt, system text, your rewritten prompt, references) and how the output will be used. Reflections finds which talent the request invokes, finds the license that covers the use, and decides.
An
allow carries an authorization: a signed token bound to the exact request
(request_digest), with a generation count and an expiry. Pass it to the tool or provider that
generates; they can verify it offline. See Decisions.
3. The platform meets the obligations
Anallow is conditional. Obligations say what must happen for the use to stay licensed: pass
the talent’s rules to the model, submit every output, hold outputs for release, label the result,
embed the receipt, never train on the material, report usage. Each obligation is typed, so your
code can meet it without reading prose. See Obligations.
4. The platform submits the output
The output goes back to Reflections as a generation, bound to its check and candidate by its SHA-256. Reflections checks the license’s rules on the actual bytes: that the person is the same person, that only licensed changes were made, and that the talent’s own rules hold. Only the talent the check covered are checked. Most outputs returnallow at once. Video and long audio are checked asynchronously. Licenses that
require the talent to approve each output return escalate with the output held until they
release it. See Generation checks.
5. The receipt is embedded in the output
Every decision produces a receipt: a JWS signed by Reflections that names the talent, the license revision and its digest, the output’s SHA-256, the obligations and the decision. You embed it in the output’s C2PA manifest as theai.reflections.license assertion. A distribution
platform, a journalist or the talent can verify it, by manifest, by file, or by receipt ID, and
read its live status. See Provenance.
6. Consent can narrow at any time
A talent can revoke a license, suspend it during a dispute, or withdraw a facet. A revocation stops new checks at once, voids pending and held work, terminates live sessions within seconds, and tells you what to do with outputs already released. Your platform acknowledges that it complied. See Revocation.7. Usage is reported and reconciled
Licenses that carry compensation are settled from usage records your platform reports, reconciled against Reflections’ own record of checks and generations. Monthly statements show what is owed. See Usage and settlement.Who decides what
No live-mode endpoint can sign, accept or widen a license. A license request asks; only a
signature on the talent’s side grants.
Related
Parties
Talent, representatives, licensees, platforms and end users.
What we enforce
Checked terms, recorded terms, and assurance levels.