Skip to main content
The sandbox is for synthetic test data. The initial live image implementation has the local retention limits below in its deployed code. Signing activation, observed purges and supplier processing guarantees require separate evidence. Broader protocol features remain planned. Start with the runnable quickstart and sandbox support matrix.
A check needs to see the request a model will receive, and a generation check needs the output. This page lists what you send, how long Reflections keeps each kind of data, and how to send less when your product requires it.

Initial live image implementation

The initial live image journey accepts full text inputs and one inline PNG. It does not accept end-user IDs, redacted or withheld prompt modes, retention: "none", uploaded files, reference exports or sessions. These limits apply to Reflections-managed API records and copies: Public receipts and receipt verification expose a defined signed projection and current use status. They do not expose prompt text, execution job IDs or private metadata. Digest lookup requires the owning account’s live key. Private files can expire before their provenance or receipt records; a retained receipt does not restore the file. Reflections’ deletion of its own records does not prove deletion by an upstream evaluator or model provider. Supplier agreements, retention settings and processing evidence must be verified separately before activation. No upstream account-level zero-data-retention guarantee has been verified for this implementation.

Broader protocol: what you send

Send the end user as a stable ID scoped to your platform, never an email or a name. Reflections stores only an HMAC of it, and authorization tokens carry that HMAC in the eu claim. Never put personal data in metadata.

Broader protocol retention limits

Uploaded files expire after 24 hours unless a held generation needs them, and events are kept 30 days. With prompt_handling.retention: "none", prompt text is deleted as soon as the check is decided, whatever the decision. A reviewer of an escalation and anyone handling a later dispute then see the structured use and the digests, not the text.

Broader protocol prompt modes

prompt_handling.mode sets how much prompt text a check receives. Redacted. Remove personal data about anyone other than the talent: email addresses, phone numbers, street addresses, account numbers, and the names of private people. Keep the talent’s name and every word that describes what the output should show, because the talent’s rules are checked against them. Privacy modes gives the patterns. Withheld. With no text, Reflections cannot find a talent from the prompt, follow an indirect reference or match a reference image it only knows by digest. Match names on your side with the name index and pass the talent in talent. Scope terms such as channels, territories and purpose are still checked at the check, because they come from use. The talent’s own rules are checked on the output.

Who is responsible

The protocol assigns the following responsibilities; this text is not evidence that a particular supplier agreement or production processing setup has been qualified. For prompts and outputs, Reflections is a processor for your platform under a data processing agreement. For talent identity data, such as face and voice templates, Reflections is a controller acting for the talent.

Example: a birthday message

A Northlight user asks for “Maya Okafor wishing my sister Dana Whitfield a happy birthday, her number is 555-0142”. Northlight removes the private name and the number, and asks Reflections not to keep the text:
The check is decided on the redacted script, the text is deleted once it is decided, and the receipt keeps only the request_digest. Northlight fills in the sister’s name only in what it sends to the voice model, and still submits the output as a generation, where the spoken words are checked.

Privacy modes

Full, redacted and withheld prompts in practice.

Resolution

Matching names locally with the name index.

Privacy in the Standard

Data minimization on both sides.