Color contract per print shop
Destination profile, intent, black point compensation and ink limit per print shop and paper, with the date the print shop confirmed it in writing.
Deliverable: perfis_grafica.json with historyOcto for color and print in Photoshop
Photoshop converts color per document and, through a UXP script, with the convertProfile method. Octo turns what the print shop asked for into a versioned color contract, checks each file's embedded profile before touching anything, writes the script that converts without touching the source and generates the soft proof with out-of-gamut colors flagged. The printed proof and the release stay with people.
Six possible deliverables, drawn from the research. None of them saves over the source, all of them check the result by content, and all of them go to whoever answers for prepress.
Destination profile, intent, black point compensation and ink limit per print shop and paper, with the date the print shop confirmed it in writing.
Deliverable: perfis_grafica.json with historyMode, profile and profile class of each file, read without changing anything. A file without a profile becomes a question, not an assumption.
Deliverable: conferencia_cor.csv with sha256A UXP script that duplicates, converts using the contract, saves a copy with the profile in a new folder and closes the source without saving, with the designer at the workstation.
Deliverable: ConverterPerfil.psjs and a batch logA proof that simulates the paper and marks where the color doesn't fit, for the designer to look at before requesting the printed proof.
Deliverable: proof sheet and tificc logAnother print shop's CMYK and files without a profile don't enter the batch: they become open items with a reason, for someone to decide in writing.
Deliverable: list of open items with reasonsSource, profile, intent, workstation, Photoshop version and who released it. The question "what profile did this go out with?" has an answer months later.
Deliverable: registro_conversao.csv per batchThe same Octo cycle, applied to print color. Each arm has a narrow role; the ones who define the profile, approve the proof and release the submission are people.
Which print shops, papers and profiles are in use, how each workstation is configured and which Photoshop version runs.
Profile, intent, black point compensation and ink limit per print shop and paper, in a versioned file.
The source is never saved, a new output folder, the print shop's profile kept out of public repositories, personal metadata flagged (LGPD, Brazil's data protection law).
Recorded action, UXP script or Little CMS on the command line, depending on volume and frequency.
Conversion script, check script and soft proof, with the source of each rule noted.
Mode, profile and profile class by script; a sample of values in a manual check. "It finished without errors" is not a check.
Checked folder and manifest. The submission is made with a person's approval.
Color contract, versions, workstations and who approved each proof, with the date.
Octo converts only copies and closes the source without saving. It does not approve color, does not choose the print shop's profile and does not calibrate monitors.
The criteria Octo uses to choose, with the documented limit of each path.
| Task | Path | Notes |
|---|---|---|
| Convert a file now and then | Edit > Convert to Profile | Convert, never Assign, to go to CMYK |
| Convert a folder without a script | Recorded action + File > Automate > Batch | The profile lives inside the action, with no history |
| Batch with a log and refusal of what shouldn't be converted | UXP script with convertProfile | Photoshop 23.0 or newer, designer present |
| Keep an existing JSX script | ExtendScript Document.convertProfile | Dialogs off; legacy platform |
| Check the embedded profile of a folder | exiftool + Python | Read-only |
| Soft proof and out-of-gamut in batch | Little CMS (tificc -p -g) | On exported TIFF; doesn't read PSD |
| Convert in the cloud | Photoshop API v2 | Output profile not documented in the pages read |
| Approve the color | The print shop's printed proof | No script replaces it |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo checks the folders that already come in, without changing how you convert.
A color contract written with the print shop and the conversion script running from it.
Soft proof with out-of-gamut flagged on every batch, before requesting the printed proof.
Every point below has a source published by the vendor, by the project or by the responsible agency. The sources are in the next section.
3
points with a published source, each with its reference shown alongside.
colorProfileType distinguishes its own profile, the working space or none.Source: developer.adobe.com, UXP reference, Document class-p (proofing profile), -g (flags out-of-gamut), -k (ink limit) and -e (embeds the destination profile).Source: tificc help and Little CMS source codeOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: processed files, proofs, reports and spreadsheets.
Deliverable: material ready to checkThe client or the art director checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.
Step: checked by the person who approvesOcto does not approve the artwork. Artwork carries no legal signature: approval of the artwork and the proof stays with the client or the art director.
Approval: client or art directorAdobe's UXP reference and Photoshop API documentation, the 27.11 release announcement, Little CMS, ImageMagick, exiftool and ECI, consulted on Oct 31, 2026.
The assessment starts by checking a delivery folder that already exists. You get the profile of each file, what needs a decision and the questions only your team and your print shop can answer, and you decide with that in hand.