Production protocol reference. The sandbox uses deterministic fixture rules and test markers.
Inline bytes are digest-checked, not evaluated for identity or license-term compliance. Test
receipts are not proof of production enforcement or permission to use a real person.
Start with the runnable quickstart and sandbox support matrix.
- Every license term is either
checkedorrecorded. - Every receipt states its
assurance:observedorattested. Reflections never claims to have inspected bytes or prompts it did not receive.
Checked and recorded terms
Each license revision lists every term with its class in
enforcement, and the stage where each
checked term is enforced. That list is the answer for that license. The table below is how terms
are usually classed.
channels, territories, purpose and commercial use are checked against the use you send.
Reflections does not see where you publish an output. If you declare social and place the output
on TV, the check cannot stop it. The receipt’s permitted_use records the use you declared, so
anyone downstream can compare it with where the output appears.Observed and attested
A generation receipt is
observed: Reflections checked the bytes. A check receipt is attested
when Reflections recorded what you stated, such as text you sent withheld.
Where checking stops
- A check decides on the request you send. Send the request your model receives, including your system text, rewritten prompt and references. See Binding the request.
- A prompt that describes a person without naming or crediting them is not resolved, and outputs are checked only for the talent their check covered. Reflections does not screen outputs for talent nobody named. A talent who finds such an output can verify it; a verified receipt names the license it was made under.
- A rule the talent wrote that cannot be read at the generation is delivered and listed in
unchecked_terms. A protected attribute, such asidentity.samePerson, that cannot be confirmed is never delivered. - In a live session, up to 15 seconds of generated speech passes unchecked between samples. A platform that
misses
session.terminatedcan keep a session running until its token expires, at most 5 minutes. - A tool that verifies an authorization offline cannot learn of a revocation before the token expires, at most 15 minutes after it was issued.
allowwithtalent: [], a resolution withstatus: "none", and a verification withresult: "not_found"each mean only that no protected talent or receipt was found. None of them says content is licensed.talent.verificationproves that a real adult controls the account and signed its licenses. It does not prove who owns every right in the name.- Reflections does not move money and cannot guarantee that a statement is paid.
What you can rely on
- Every decision names the license revision and the
terms_digestit relied on, and you can recompute the digest from the signed terms. - Every receipt is signed by Reflections and verifies offline against
https://app.reflections.ai/.well-known/jwks.json. - A use the talent declared
prohibitedis never allowed, and no license can change that. - No endpoint can sign, accept or widen a license. Only a person’s signature on the talent’s side makes one.
Example: Ridgeline’s license K7Q4M2
conflicts names: that term is Ridgeline’s promise, signed and
on the record.
Related
Licenses
Terms, scope and the
enforcement list.Generation checks
What is checked on the bytes.
Provenance
Receipts and their assurance.
Failure modes
What happens when a check cannot finish.