Security and compliance

Software that can move a setpoint in a chemical plant needs more than a good model.

Tinteon is designed around three facts: coatings are made to customer standards under VOC permits, formulas are intellectual property, and the plant's existing automation must keep running if Tinteon stops. This page is the design posture; certifications are on the roadmap and not claimed.

Standards read, never writtenTenant isolation by designSOC 2 on the roadmap

run_scn_01 · agent graph · scenario 10 nodes · 1 approval gate
01 · orchestrator order.receive ✓ SUCCEEDED 02 · orchestrator twin.simulate ✓ SUCCEEDED 03 · dose_disperse disperse.mill ✓ SUCCEEDED 04 · letdown_thin letdown.thin ✓ SUCCEEDED 05 · tint_color tint.match ✓ SUCCEEDED 06 · defect_inspect inspect.spectral ✓ SUCCEEDED 07 · orchestrator approve.human ◆ APPROVAL 08 · filter_fill filter.fill ✓ SUCCEEDED 09 · robot_handling handle.palletize ✓ SUCCEEDED 10 · quality_conf release.genealogy ✓ SUCCEEDED

Illustrative scenario: Plant run · one architectural deep tint base from dosing to pallet · bead mill, let-down tank, tint station, filling line. Not a measured run.

Defense in depth

Six layers between a model and a setpoint

01

Allow-list

An agent can only write to tags declared for it.

02

Limits

Per-tag rate, magnitude and retint limits, declared and versioned, inside documented formula, tolerance, VOC, equipment and rollback bounds.

03

Stage

Shadow, assist or bounded, set per loop; nothing writes in shadow.

04

Policy engine

Interlock state, product, formula, shift and operator presence evaluated before every write; changes that leave a customer tolerance or touch a VOC limit are blocked.

05

Human gate

Anything above the threshold, every move against a standard or a permit limit and every release waits for a named person.

06

Fallback

If Tinteon stops, the plant runs on its existing mill, dispenser and filling-line control and interlocks.

Tool calls

Every call, on the record

Every tool invocation, argument and result is written to an immutable, human-readable log, and every reasoning step is expandable. Nothing about a run is hidden from the plant. The log below is the scenario run, not a measured one.

tool-call stream · run_scn_01
  1. 05:40:02mes.read_order({ batch: "B-4471", product: "TB-DEEP-07", standard: "STD-2210" })
  2. 05:40:02ok formula locked · tolerance Delta-E v4 · VOC limit on product
  3. 05:40:03lab.read_results({ lot: "PIG-8831", test: "incoming pigment" })
  4. 05:40:03ok lot inside spec · accepted for dosing
  5. 05:40:04twin.simulate({ candidates: 24, horizon: "batch" })
  6. 05:40:45ok best path #9 · tolerance held · lowest solvent and energy per batch
  7. 05:40:46policy.evaluate({ plan: 9, stage: "bounded" })
  8. 05:40:46ok 7 writes permitted · 1 write requires human approval
  9. 05:40:47plc.write_setpoint({ tag: "MILL2.ENERGY", basis: "power+spectral" })
  10. 07:28:30ok Hegman on target · color strength on target · no re-mill
  11. 07:29:00viscosity.predict({ tank: "LD-3", basis: "inline rheology+solids" })
  12. 07:29:00ok two resin and one solvent addition predicted · stability clear
  13. 07:29:01plc.write_setpoint({ tag: "LD3.SOLVENT_DOSE", window: "formula" })
  14. 07:55:10ok viscosity on spec · no overshoot
  15. 07:56:00spectro.read_curve({ station: "TINT-2", standard: "STD-2210" })
  16. 07:56:01dispenser.write({ colorant: "B", basis: "spectral prediction", retint_limit: 1 })
  17. 08:10:12ok draw-down inside Delta-E tolerance · one retint remaining
  18. 08:10:13vision.stream({ cameras: 12, models: ["color_gloss", "hiding_power", "seed_foam", "fill_label"] })
  19. 08:21:48flag: seed · pail 0417 · attributed to filter cartridge F-2 loading
  20. 08:21:49defect.attribute({ event: "seed", cause: "filter.cartridge_F2" })
  21. 08:21:49ok filter_fill notified · cartridge change scheduled · fill held 40 s
  22. 08:21:52approval.request({ action: "retint.beyond_limit", reason: "tighter Delta-E on lowest-solvent path" })
  23. 08:24:02ok approved by the shift color-matcher · tolerance untouched · one bounded addition
  24. 08:24:03plc.write_setpoint({ tag: "FIL1.TARGET_WEIGHT", basis: "fill-weight+foam feedback" })
  25. 09:48:40ok pails on weight · no spills · labels verified
  26. 09:49:38mes.release_batch({ batch: "B-4471", genealogy: "full" })
  27. 09:50:36ok batch released · scenario complete

Reasoning trace

Goal, plan, thought, action, observation, exactly as the orchestrator would record it.

GoalDisperse batch B-4471 to Hegman fineness, let it down to visco…

Disperse batch B-4471 to Hegman fineness, let it down to viscosity spec, tint it inside Delta-E of standard STD-2210, filter and fill it to exact weight and release it with full genealogy.

PlanSimulate the whole batch on the twin first. Lead with fineness…

Simulate the whole batch on the twin first. Lead with fineness so the let-down gets the right mill base and the tint station gets the right color strength. Keep the customer tolerance and the VOC limit as hard constraints. Let the dispenser converge only inside the declared retint limit; hold anything beyond it for a human.

ThoughtThe standing practice grinds to a fixed time, lets down by fou…

The standing practice grinds to a fixed time, lets down by four additions and tints by draw-down loops. With live fineness and viscosity prediction and a spectral color-match model the batch can land on the first pass. The saving is rework, colorant and solvent, not tolerance: the customer standard is never a candidate for optimization.

Actiontwin.simulate(candidates=24) → path #9: Hegman on target in on…

twin.simulate(candidates=24) → path #9: Hegman on target in one grind, three let-down additions, one colorant pass, lowest predicted solvent and energy per batch, takt met.

ObservationPath #9 wants a second colorant addition beyond the declared r…

Path #9 wants a second colorant addition beyond the declared retint limit to tighten Delta-E further. The policy engine routes that single move to the shift color-matcher and permits the other seven writes.

ActionExecute path #9 at the bounded stage: mill energy, let-down do…

Execute path #9 at the bounded stage: mill energy, let-down dosing and the first colorant pass proceed; inspection runs continuously; the extra addition waits.

ObservationApproval granted at 08:24:02 with the tolerance untouched and …

Approval granted at 08:24:02 with the tolerance untouched and a tighter draw-down check. Two seeds were attributed to filter cartridge F-2 and Filter-and-Fill scheduled the change with a 40 second hold.

OutcomeScenario complete. The batch is released with raw-material lot…

Scenario complete. The batch is released with raw-material lots, grind profile, let-down moves, colorant additions, spectral curves, inspection outcomes, VOC and solvent use and the human decision in the genealogy. No measured plant result is claimed; this is the run the platform is designed to execute.

Guardrails

An agent that can move a setpoint needs a leash

Tinteon writes to production equipment in a chemical plant. Every capability is scoped, every write is policy-checked, every output is cited, and every action is written to an append-only audit log the plant owns.

  • Bounded action space. Each agent can only write to an explicit tag allow-list, inside per-tag rate, magnitude and retint limits, at the autonomy stage the plant has set.
  • Standards and limits are read, never written. The customer color standard and its tolerance, the VOC and solvent limits under the plant's permit and the batch release decision stay with the quality system and the people who own it.
  • Policy engine before every write. Autonomy stage, interlock state, product, formula, shift and operator presence are evaluated before a setpoint or a colorant addition moves.
  • Grounded and cited. Every recommendation carries a citation to the formula, color standard, spec or procedure it relied on. Retrieval is tenant-isolated and permission-aware.
  • Immutable audit log. Append-only, exportable and retained on the plant's own storage, aligned to ISO 9001, VOC and REACH and customer color-standard record-keeping.
  • Hard fallback. If the edge node, the network or a model stops, the plant keeps running on its existing mill, dispenser and filling-line control and interlocks.
  • Tenant and IP isolation. Formulas, color standards, raw-material data and tolerance models never cross a customer boundary. On-prem deployment available.

Assurance posture

Assurance and certification status
ItemScopeStatus
SOC 2 Type ICloud control plane QUEUED Roadmap, first 6 months
SOC 2 Type IICloud control plane QUEUED Roadmap, 6 to 12 months
ISO 9001 · VOC and REACH · customer color standardsGrounding and record-keeping RUNNING Design basis for retrieval and the audit log
Per-tenant isolationData, memory, models RUNNING Design rule
On-prem deploymentFormula-sensitive producers RUNNING Design option

Tinteon supports your quality and VOC records. It is not a certification and it does not replace your quality system or your permit.

Read the security overview

Autonomy

Four stages, set per loop

A plant does not go from manual to bounded control in one step. Tinteon makes the stage explicit per loop, auditable and reversible at any time, and some decisions never leave the person.

Autonomy stages and the human role at each
StageWhat the agent doesWhat the person doesWhen
ShadowPredicts fineness, viscosity, Delta-E, hiding power, contamination and fill faults; writes nothingRuns the plant as today; compares predictions to the lab, the spectrophotometer and PLC outcomesFirst phase with every design partner
AssistRecommends bounded mill, let-down, colorant, filtration and fill moves with the evidenceA formulator, color-matcher or quality manager approves or rejects each oneAfter accuracy is proven against the baseline
BoundedWrites low-risk dispersion, tinting and inspection setpoints inside documented formula, tolerance, VOC, equipment and rollback limitsApproves anything above the limits; reviews the shift recordAfter the quality and ROI gates agreed up front
ExceptionsEscalates anything outside its envelope, any move against a customer standard or VOC limit, and release decisionsAlways decides these; the agent never doesPermanent
Assurance

Certification status

Stated plainly. Items on the roadmap are roadmap items.

Assurance items and status
ItemScopeStatus
SOC 2 Type ICloud control plane QUEUED Roadmap, first 6 months
SOC 2 Type IICloud control plane QUEUED Roadmap, 6 to 12 months
Quality and VOC assurance packagesDesign partners QUEUED Roadmap, 6 to 12 months
ISO 9001, VOC and REACH, customer color standardsGrounding and records RUNNING Design basis; not a certification of Tinteon
IP-safe deploymentFormulas, color standards, raw-material data RUNNING Design rule; on-prem option
OT safety

Failing safe is a design requirement

  • Supervisory, not primary. Tinteon sits above existing mill, dispenser and filling-line control; it never replaces an interlock or a safety system.
  • Standards and limits are read-only. Customer color standards, tolerances and VOC limits are cited and logged, never written.
  • Release is human. The conformance agent assembles the genealogy and checks it against spec; a person releases the batch.
  • Loss of Tinteon is loss of advice. The plant degrades to the way it runs today, not to a stop.

What leaves the plant, and when

Data flows
DataWhere it stays
Formulas, color standards, tolerance modelsTenant-scoped; on-prem option
Raw-material, pigment and colorant dataTenant-scoped
Audit log and genealogyThe plant's own storage, exportable
Rare-fault and drift patternsFederated, IP-isolated transfer across similar lines (planned, opt-in)
Multi-agent handoff

Agents negotiate, they do not collide

Two agents will want the same actuator. The orchestrator arbitrates on the run goal, with the customer color standard, the VOC limit and a clean fill above everything, and the handoff is logged like any other step.

Contested move: filter cartridge change on the filling line

  1. 01yield_takt.request(skip change) SUCCEEDED0.2 s

    Yield-and-Takt wants to defer the filter cartridge change to the shift break so the filling line stays on takt and the next color family starts on time.

  2. 02filter_fill.request(change now) SUCCEEDED0.2 s

    Filter-and-Fill requires the change now because inspection attributed two seeds to the loaded cartridge. Contamination in a released pail is a customer complaint.

  3. 03orchestrator.arbitrate SUCCEEDED0.4 s

    Product conformance outranks takt under every run goal. The cartridge change wins the actuator; the request to defer is logged with its score and the reason it lost.

  4. 04yield_takt.handoff(resequenced) SUCCEEDED80 s

    Yield-and-Takt recovers the schedule by pulling the next batch's wash earlier and moving a lighter color family ahead. Takt is met without filling through a loaded cartridge.

Arbitration rules

  • Run goal first. Every request is scored against the declared goal, not against the requesting agent's local objective.
  • Conformance outranks everything. The customer color standard, the VOC limit and a clean fill are never optimization variables. A contaminated or off-color pail is a complaint; a takt miss is a schedule.
  • Time-boxed ownership. An agent holds a contested actuator for a bounded window, then must re-justify.
  • Everything is logged. The losing request, the score and the reason all appear in the run record.
  • Deadlocks escalate to a human rather than resolving by timeout.

See the agent roster

Enterprise

Standardize autonomy across the group

One policy model, one audit trail and one set of yield, rework, waste, solvent, energy and color benchmarks across every plant in the group, with each site's formulas, color standards and tolerance models kept private to that site.

Talk to us Enterprise details

  • Multi-site plant-edge fleet with shared model governance
  • Custom formula, color and tolerance models per site
  • SSO and role-based access, named approvers (roadmap, 6 to 12 months)
  • Model versioning, validation reports and rollback
  • On-prem or private-cloud deployment
  • SLAs and outcome-based components on the highest-value workflows
FAQ

Straight answers

The questions plant directors, formulators, color-matchers and quality managers ask in the first meeting.

Only at the autonomy stage your plant has set, and only to an explicit allow-list of low-risk loops inside documented limits. Every design partner starts in shadow mode, where Tinteon predicts and writes nothing. Assist mode follows, where a formulator or color-matcher approves each recommendation. Bounded autonomy on dispersion, tinting and inspection loops comes after the quality and ROI gates agreed up front.

Get started

Get the security pack

The design posture, the data flows and the roadmap dates, written for a quality manager and an IT/OT lead.