How a piece of software is allowed to touch a press.
Forgiron writes to production equipment, so the security story is mostly a control story: a bounded action space, a policy engine before every write, named approvers, an append-only audit log the forge owns, hard fallback to the controller and its interlocks, and isolation between tenants and their die designs.
- Source evidence it acted on
- Recipes, specs and standards it retrieved, with citations
- The approved process envelope and the limit applied
- Confidence and estimated yield, scrap, die-life and energy impact
- Rollback path
- Responsible approver
- Part and lot scope
Nothing is written without this record.
An agent that can move a press schedule needs a leash
Forgiron writes to production equipment. Every capability is scoped, every write is policy-checked against the qualified envelope, and every action is written to an append-only audit log the forge owns.
- Bounded action space. Each agent writes only to an explicit tag allow-list, inside per-tag rate and magnitude limits and the qualified process envelope for the part family.
- Policy engine before every write. Autonomy level, shift, part family, interlock state and operator presence are evaluated before a setpoint moves.
- Human-in-the-loop gates. Press-schedule changes, die changes and lot release wait for a named approver. Safety-critical press control stays guarded by PLC interlocks and engineer approval until qualification evidence supports more.
- Immutable audit log. Append-only and exportable. Every action records source evidence, the approved process envelope, confidence, estimated yield, scrap, die-life and energy impact, rollback path, approver and lot scope.
- Hard fallback. Loss of the edge node, the network or a model returns control to the furnace, press or die controller's last known-good state. Interlocks are never in Forgiron's path.
- Tenant and die-IP isolation. Die designs, part drawings, alloy recipes and quality records never cross a customer boundary. On-prem deployment is available for sensitive producers.
Compliance posture
| Item | Scope | Status |
|---|---|---|
| SOC 2 Type I | Cloud control plane | QUEUED Planned, first 6 months |
| SOC 2 Type II | Cloud control plane | QUEUED Planned, 6 to 12 months |
| SSO and RBAC | Console and approvals | QUEUED Planned, 6 to 12 months |
| AS9100 and NADCAP assurance packages | Disposition and genealogy evidence | QUEUED Planned, 6 to 12 months; not a certification claim |
| Standards-cited reasoning | AS9100, IATF 16949, NADCAP, ASTM documents | RUNNING In the design, every answer cites its source |
| Per-tenant and die-IP isolation | Recipes, die designs, models, memory | RUNNING In the design from day one |
| On-prem and plant-edge deployment | Sensitive producers | RUNNING Design option |
What data exists and who can see it
The data strategy from the architecture: part- and lot-based, labelled from the floor, synthetic only for rare defects, governed per tenant.
Sources
- Billet alloy and lot, geometry, die ID and die age
- Heating curve, soak time, furnace and induction power, press force, ram and speed curves
- Lube and cooling events, die thermal images, robot handling timing
- Ultrasonic, MPI, vision and dimensional inspection, hardness and property tests, non-conformance records and genealogy
Governance
- Tenant isolation for die designs, part drawings, recipes, models and memory
- Die-IP redaction and data-rights controls
- Model cards and dataset versioning
- Traceable consent before any cross-forge learning, which is planned and not yet in place
- Synthetic data used only to augment rare defects, validated against real distributions
The write path
What has to be true before a setpoint moves.
- A declared tool. The agent can only call tools declared with tags, units, limits and a process envelope.
- A policy decision. Autonomy level, shift, part family, interlock state and operator presence are evaluated.
- A simulated check. Where the agent is configured with verify=twin, the move is simulated before it is written.
- An approval, if required. Press-schedule changes, die changes and lot release wait for the named approver.
- A bounded write. The connector enforces per-tag rate and magnitude limits again at the OT boundary. PLC and safety interlocks are never in Forgiron's path.
- A record. The action, its evidence and its outcome are appended to the audit log and the forging genealogy.
- A rollback path. Declared rollback conditions return the tag to its previous value or the controller to last known-good.
Four levels, set per agent and per tag
A forge does not go from manual to unattended in one step. Forgiron makes the level explicit, auditable and reversible at any time. The first release runs shadow mode, then assist mode, then bounded autonomy on low-risk actions. Press control stays supervised until the part family is qualified.
| Level | What the agent does | What the human does | Where it sits in a pilot |
|---|---|---|---|
| L1 · Shadow | Reads thermal, vision, ultrasonic, MPI, press, die, robot and MES signals; predicts and recommends; writes nothing | Runs the cell as today; compares predictions to inspection and engineer outcomes | Shadow mode, baseline 30 to 60 days |
| L2 · Assist | Proposes heating, press, die-lube, routing and handling actions with evidence, confidence, envelope and rollback path | Approves each action in the review console | Assist mode, the remainder of a 90 to 180 day pilot |
| L3 · Bounded | Executes pre-approved low-risk actions: inspection routing, lube timing, heating and soak adjustments, robot path variants, inside PLC and safety limits | Approves press-schedule changes, die changes and lot release | Graduated autonomy, after audited accuracy and ROI |
| L4 · Scaled | Supervised press-schedule adaptation for qualified part families, across cells and sites | Sets the envelope; reviews the shift record and the evaluation results | Planned; after golden-dataset evaluation, simulation validation and quality sign-off |
One scenario run, step by step
Every Forgiron run is an ordered, inspectable sequence. This is run_7c2e41 on Cell F-2 · 2,500 t closed-die press · 42CrMo4 connecting rod. Scenario completes in 10 steps with one approval gate. Surface temperature held at 1,205 °C with a 14 °C core-to-surface spread, fill predicted and confirmed complete, one lap precursor at the flash land cleared by a blow-energy trim, lot L-80412 released with full genealogy.
-
01
ingest.order
SUCCEEDED
0.6 s
Plant Orchestrator · Pulled the part spec for the 42CrMo4 connecting rod from MES: forging window 1,180 to 1,230 °C, two-blow closed-die schedule, flash land 2.4 mm, temper to 28 to 32 HRC, 1,200 pieces. Locked the qualified process envelope.
-
02
twin.simulate
SUCCEEDED
52 s
Forge Twin · Simulated 24 candidate heat-and-stroke recipes on the as-forged twin for soak time, blow energy and spray timing, ranked on predicted fill, lap risk at the flash land, die load and kWh per piece.
-
03
heat.soak
SUCCEEDED
2 m 10 s
Heat-and-Billet · Induction power on IH-2 stepped down 4% in the final soak stage as the pyrometer read 1,205 °C at the surface. Core-to-surface spread estimated at 14 °C against a 20 °C limit, no overheat, scale growth inside the window.
-
04
die.spray
SUCCEEDED
48 s
Die-and-Lube · Lower-die spray dose raised 6% and cooling extended 0.3 s as die surface temperature climbed through 240 °C. Heat-check growth on cavity 2 flagged at 0.31 of the die-change threshold.
-
05
approve.human
APPROVAL
46 s
Plant Orchestrator · Recipe #9 moves second-blow energy 3% below the standing schedule. Press-schedule changes stay supervised on this part family, so the step was held for the shift forging engineer and approved at 05:47:31.
-
06
forge.stroke
SUCCEEDED
1 m 36 s
Forge-and-Press · Two-blow schedule executed with the approved energy. High-speed vision and force curves confirmed complete fill on the first ten pieces; predicted lap risk at the flash land fell from 0.27 to 0.08.
-
07
inspect.fuse
SUCCEEDED
continuous
Defect-and-Inspect · Eight cameras, two thermal cameras and the ultrasonic station fused at the edge. One lap precursor at the flash land on piece 212 flagged and cleared by a 1.5% blow-energy trim inside the approved envelope; the piece was routed to MPI and passed.
-
08
handle.transfer
SUCCEEDED
continuous
Robot-and-Handling · Press-to-trim transfer planned and executed by the handling robot at 11 s per piece, temperature loss in transfer 38 °C against a 60 °C limit, interlock zones clear throughout.
-
09
heat.treat
SUCCEEDED
continuous
Trim-and-Heat · Temper furnace HT-1 zone 2 trimmed 5 °C against the predicted hardness from the recorded heat and stroke history. First hardness checks read 30 HRC, inside 28 to 32.
-
10
lot.release
SUCCEEDED
1 m 20 s
Quality-and-Conformance · Lot L-80412 released: genealogy written (billet lot, heat curve, stroke record, die cycles, inspection map, approvals, temper record) and dispositioned against IATF 16949 criteria with cited evidence for the quality engineer's sign-off.
What the audit log looks like
Every tool invocation, argument and result is written to an append-only, human-readable log, and every reasoning step is expandable. Nothing about a run is hidden from the forge.
- 05:40:02mes.read_order({ cell: "F-2", part: "CR-42CrMo4-118", qty: 1200 })
- 05:40:02ok envelope locked · 1,180 to 1,230 °C · 2 blows · 28 to 32 HRC
- 05:40:03twin.simulate({ candidates: 24, horizon: "1 lot" })
- 05:40:55ok best recipe #9 · fill 1.00 · lap risk 0.08 · 1.9 kWh/pc
- 05:40:56policy.evaluate({ recipe: 9, autonomy: "L2+" })
- 05:40:56ok 7 writes permitted · press_schedule requires human approval
- 05:40:57induction.set_power({ tag: "IH2.STAGE3_KW", delta: "-4%" })
- 05:43:07ok surface 1,205 °C · core-to-surface spread 14 °C · no overheat
- 05:43:08spray.set_dose({ die: "F2.LOWER", dose: "+6%", cool: "+0.3 s" })
- 05:43:56ok die surface 240 °C · heat-check index 0.31
- 05:43:57approval.request({ action: "press_schedule", blow2: "-3%" })
- 05:47:31ok approved by shift forging engineer · logged
- 05:47:32press.set_schedule({ press: "F-2", recipe: 9 })
- 05:49:08ok fill complete on 10 pieces · lap risk 0.27 → 0.08
- 05:49:09sensors.fuse({ cams: 8, thermal: 2, ut: true })
- 06:21:40precursor: lap risk 0.52 · flash land · piece 212
- 06:21:41press.set_schedule({ press: "F-2", blow2: "-1.5%", within: "approved envelope" })
- 06:21:58ok lap risk 0.52 → 0.07 · piece 212 routed to MPI · passed
- 06:22:00isaac.plan_path({ task: "press_to_trim", cell: "F-2" })
- 06:22:11ok 11 s per piece · transfer loss 38 °C · zones clear
- 06:22:12furnace.set_zone({ furnace: "HT-1", zone: 2, delta: "-5 °C" })
- 06:58:40ok first hardness 30 HRC · inside 28 to 32
- 06:58:41mes.log_forging({ lot: "L-80412", genealogy: "full" })
- 07:00:01ok scenario complete · 10 steps · 0 laps escaped · released
Reasoning trace
Plan, thought, action, observation, exactly as the orchestrator would record it.
GoalRun the 42CrMo4 connecting-rod lot on cell F-2 inside the qual…
Run the 42CrMo4 connecting-rod lot on cell F-2 inside the qualified window, hold full fill with zero laps at the flash land, and land hardness between 28 and 32 HRC.
PlanSimulate heat-and-stroke recipes on the twin first. Lead with …
Simulate heat-and-stroke recipes on the twin first. Lead with heating so the billet state is right before the stroke, then set spray against die temperature, then execute the approved press schedule. Fuse inspection continuously. Hold any press-schedule change for a human.
ThoughtThe standing schedule runs the second blow hot enough to guara…
The standing schedule runs the second blow hot enough to guarantee fill on a cold billet. With the induction soak held at 1,205 °C the twin predicts the same fill at 3% less energy and lower flash-land lap risk, because the metal arrives more uniform.
Actiontwin.simulate(candidates=24) returns recipe #9: stage-3 induct…
twin.simulate(candidates=24) returns recipe #9: stage-3 induction power down 4%, lower-die spray up 6%, second-blow energy down 3%.
ObservationRecipe #9 predicts fill 1.00, lap risk 0.08 and 1.9 kWh per pi…
Recipe #9 predicts fill 1.00, lap risk 0.08 and 1.9 kWh per piece. Two candidates scored lower on energy but pushed predicted die load past the cavity-2 limit and were discarded.
ActionExecute recipe #9: seven bounded writes permitted on heating, …
Execute recipe #9: seven bounded writes permitted on heating, spray, handling and heat-treat; the press-schedule write routed to the shift forging engineer.
ObservationLap precursor at the flash land on piece 212 at 06:21:40. A 1.…
Lap precursor at the flash land on piece 212 at 06:21:40. A 1.5% blow-energy trim inside the approved envelope cleared it in 17 s; the piece was routed to MPI and passed.
OutcomeScenario complete. Fill confirmed, no laps escaped, hardness 3…
Scenario complete. Fill confirmed, no laps escaped, hardness 30 HRC. Lot L-80412 released with full genealogy.
Standardise autonomy across the group
One policy model, one audit trail, one benchmark across every cell in every forge, with the alloy, die and qualification models kept private to each site.
- SSO and role-based access down to the tag level, planned for the 6 to 12 month release
- Group-wide autonomy policy with per-site override and approval chains
- Cross-plant benchmarking on yield, scrap, die life, energy and inspection escapes
- On-prem and plant-edge deployment, with air-gapped operation for defense and sensitive producers
- Edge autonomy that survives control-plane loss by returning to the controller's last known-good state
- Dedicated deployment engineer and quarterly model review per forge
Straight answers
The questions plant directors, forging engineers and quality engineers ask in the first meeting.
Yes, but only within an explicit tag allow-list with per-tag rate and magnitude limits, inside the qualified process envelope, and only at the autonomy level your plant has set. Design partners start in shadow mode, where Forgiron writes nothing. Press-schedule changes stay supervised by a named forging engineer until the part family is qualified.
Control returns to the furnace, press or die controller's last known-good state. Forgiron is a supervisory layer on top of the PLCs and interlocks you already run, never a replacement for them, so an outage degrades the cell to its current way of running, not to a stop.
Advisory recommendations start from the physics-based twin and the part spec in the first weeks. Defect, die-wear and heating prediction improve as cell history and labelled outcomes accumulate per part family. The first training sets are sized at 2 million labelled frames and signals, 20,000 heat and press cycles and 10,000 die-life events per design-partner cohort, all design targets.
Only if you choose cloud training. Die designs, part drawings, recipes, process models and quality records are isolated per tenant and never used to train another customer's models. A fully on-prem deployment at the plant edge is available for sensitive producers, and federated learning across sites is planned and waits on data-rights agreements.
You are, the same as with any control strategy, which is why every write is policy-checked, bounded, logged and reversible, and why anything above your risk threshold waits for a named approver. The audit log records the request, the evidence, the envelope applied and the human decision.
A paid pilot of 90 to 180 days on one cell, scoped to a single wedge with a success metric written into the order form: defect-detection accuracy, scrap reduction, die-change reduction, energy reduction or first-pass-quality improvement. The first 30 to 60 days baseline scrap, die life, energy, inspection escapes and takt in shadow mode.
Send us your security questionnaire
We answer plainly, including where an item is planned rather than done.