Security

How a piece of software is allowed to touch a qualified printer.

Powdrix writes to production printers that make qualified parts, so the security story is mostly a control story: a bounded action space inside the OEM-approved envelope, a policy engine before every write, named approvers for anything that affects qualification, an append-only audit log the floor owns, hard fallback to the printer controller, and isolation between tenants.

Policy before every writeAppend-only auditPer-tenant isolation

Every agent action records
  • Model version and data lineage
  • Source signals it acted on
  • Parameter sets, specs and standards it retrieved, with citations
  • Predicted impact
  • Allowed range and the envelope applied
  • Human approval status
  • Qualification impact and build scope

Nothing is written without this record.

Guardrails

An agent that can trim laser power needs a leash

Powdrix writes to production printers that make qualified parts. Every capability is scoped to the qualified envelope, every write is policy-checked, and every action is written to an append-only audit log the floor owns.

  • Bounded action space. Each agent writes only to an explicit allow-list of printer, oven and cell parameters, inside the OEM-approved envelope and per-tag rate and magnitude limits.
  • Policy engine before every write. Autonomy level, part family, qualification status, machine state and operator presence are evaluated before a parameter moves.
  • Human approval for qualification-impacting actions. Anything that leaves the qualified envelope, changes a validated recipe or affects a part's disposition waits for a named approver. This stays mandatory until validation exists.
  • Immutable audit log. Append-only and exportable. Every action records model version, data lineage, source signals, predicted impact, allowed range, approval status and qualification impact.
  • Hard fallback. Loss of the edge node, the network or a model returns control to the printer's own controller and the standing recipe.
  • Tenant and IP isolation. Parameter sets, part geometry, defect libraries and process memory never cross a customer boundary. On-prem deployment is available for sensitive producers.

Compliance posture

Compliance and certification status
ItemScopeStatus
SOC 2 Type ICloud control plane QUEUED Planned, first 6 months
SOC 2 Type IICloud control plane QUEUED Planned, 6 to 12 months
SSO and RBACConsole and approvals QUEUED Planned, 6 to 12 months
AS9100 and ISO 13485 assurance packagesEvidence packets and model change control QUEUED Planned, 6 to 12 months; not a certification claim
Standards-cited reasoningAS9100, ISO 13485, ASTM F42, ISO 52900 RUNNING In the design, every answer cites its source
Per-tenant isolation and on-prem optionRecipes, geometry, models, memory RUNNING In the design from day one

Read the security overview

Data

What data exists and who can see it

The data strategy from the architecture: build-based, labelled from the floor, synthetic only for rare defects and only after validation, governed per tenant.

Sources

  • Parameter sets, geometry metadata, material and powder lots
  • Layer and melt-pool streams, thermal traces, recoater images
  • CT volumes, surface images, metrology, post-processing recipes
  • Non-conformance records, final pass or fail, operator and engineer corrections

Governance

  • Tenant isolation for parameter sets, geometry, models and memory
  • Strict IP and parameter-set protection; on-prem for sensitive producers
  • Model cards and dataset versioning
  • Cross-customer learning is federated and IP-isolated, and waits on written data agreements
  • Synthetic data used only to augment rare defects, validated against real CT and in-situ data before promotion
OT safety

The write path

What has to be true before a parameter moves.

  1. A declared tool. The agent can only call tools declared with parameters, units, an envelope and limits.
  2. A policy decision. Autonomy level, part family, qualification status, machine state and operator presence are evaluated.
  3. An envelope check. The move must sit inside the OEM-approved and qualified parameter envelope. Anything outside it goes to a human, always.
  4. A simulated check. Where the agent is configured with verify=twin, the move is simulated before it is written.
  5. An approval, if required. Anything that affects qualification waits for the named approver.
  6. A bounded write. The connector enforces per-tag rate and magnitude limits again at the machine boundary.
  7. A record and a rollback path. The action, its evidence and its outcome are appended to the audit log and the build genealogy, and declared rollback conditions return the parameter to its previous value or the printer to its standing recipe.
Autonomy

Four levels, set per agent and per machine

A qualified floor does not go from manual to unattended in one step. Powdrix makes the level explicit, auditable and reversible at any time, and human approval for anything that affects qualification stays mandatory until validation exists. The first release runs shadow mode, then assist mode, then graduated autonomy.

Autonomy levels and the human role at each
LevelWhat the agent doesWhat the human doesWhere it sits in a pilot
L1 · AdvisoryPredicts and recommends, with citations; nothing is writtenEnters every change manuallyShadow mode on one machine, first weeks of a pilot
L2 · SupervisedProposes a parameter, thermal or inspection move; it executes on approvalApproves each move in the review consoleAssist mode once accuracy is measured against CT
L3 · BoundedWrites inside the OEM-approved parameter envelope and per-tag limitsApproves anything that leaves the envelope or affects qualificationGraduated autonomy on low-risk loops, if the floor is satisfied
L4 · UnattendedRuns the envelope without promptingSets the envelope; reviews the shift recordPlanned; only after validation on the part family
Run timeline · scenario

One scenario run, step by step

Every Powdrix run is an ordered, inspectable sequence. This is run_7c2e4b on PBF-2 · Ti-6Al-4V bracket family, 24-part build. Scenario completes in 10 steps with one approval gate. Twin recipe #14 selected, one lack-of-fusion precursor at layer 1,872 cleared by a bounded power trim, CT triage in 11 minutes, 23 of 24 parts released with full genealogy and one held for review.

run_7c2e4b PBF-2 · Ti-6Al-4V bracket family, 24-part build illustrative scenario SUCCEEDED
  1. 01 ingest.job SUCCEEDED 0.7 s

    Floor Orchestrator · Pulled the job from AM MES: 24 Ti-6Al-4V brackets, 60 µm layers, 3,140 layers, density target 99.7%, geometry tolerance ±0.10 mm, AS9100 evidence packet required. Locked the OEM-approved parameter envelope for PBF-2.

  2. 02 twin.simulate SUCCEEDED 6 m 12 s

    Part Twin · Simulated 40 candidate orientation, support and parameter recipes for thermal field, residual stress and distortion, ranked on predicted density, geometry deviation, takt and energy.

  3. 03 prep.release SUCCEEDED 48 s

    Prep-and-Parameter · Recipe #14 released: 32° orientation, lattice supports on two faces, laser power and speed inside the qualified envelope. Predicted distortion 0.06 mm, predicted density 99.8%.

  4. 04 recoat.check SUCCEEDED continuous

    Recoat-and-Powder · Recoater image checked every layer. Powder lot L-2291 on its third reuse, humidity in window. One short-feed at layer 412 corrected with a dosing increase before the next layer fused.

  5. 05 melt.stabilise SUCCEEDED continuous

    Melt-and-Layer · Melt-pool, photodiode and thermal streams fused at 120 fps. Lack-of-fusion risk rose to 0.61 on part 17 at layer 1,872 and was cleared by a 3% power trim inside the envelope within four layers.

  6. 06 thermal.compensate SUCCEEDED 2 m 04 s

    Thermal-and-Distortion · Interlayer temperature on the tall brackets ran 14 °C above the twin's prediction from layer 2,300. A 1.5 s interlayer dwell held the thermal field inside the predicted band through the top section.

  7. 07 approve.human APPROVAL 4 m 30 s

    Floor Orchestrator · Melt-and-Layer proposed a hatch-spacing change on part 17 beyond the qualified envelope. Held for the AM process engineer, who declined it and chose to flag part 17 for CT priority instead. Decision logged.

  8. 08 handle.depowder SUCCEEDED 38 m

    Robot-and-Handling · Plate unloaded by the handling cell on build complete, depowdered, and parts transferred to stress relief. Powder returned to the sieve with lot L-2291 reuse count incremented in genealogy.

  9. 09 inspect.ct SUCCEEDED 11 m

    Defect-and-Inspect · 24 CT volumes segmented for pores, cracks and lack of fusion in 11 minutes. 23 parts graded accept against the acceptance criteria. Part 17 shows a 180 µm indication at layer 1,870 and is routed to the inspector for disposition.

  10. 10 release.qualify SUCCEEDED 1 m 20 s

    Quality-and-Conformance · 23 parts released with the full genealogy: recipe, layer tags, melt-pool events, thermal trace, approvals, post-processing cycles and CT result. Part 17 held with a non-conformance opened. Evidence packet assembled for sign-off.

Tool calls · scenario

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 build is hidden from the floor or from the certification engineer.

tool-call stream · run_7c2e4b · timestamps span a 31-hour build
  1. 05:10:04mes.read_job({ printer: "PBF-2", job: "J-4471" })
  2. 05:10:05ok 24 parts · Ti-6Al-4V · 3,140 layers · envelope locked
  3. 05:10:05twin.simulate({ candidates: 40, targets: ["density", "geometry", "takt"] })
  4. 05:16:17ok best recipe #14 · distortion 0.06 mm · density 99.8% · takt 31.2 h
  5. 05:16:18policy.evaluate({ recipe: 14, autonomy: "L3" })
  6. 05:16:18ok recipe inside envelope · 6 bounded writes permitted
  7. 05:16:19printer.release_recipe({ id: 14, orientation: 32, supports: "lattice" })
  8. 05:17:07ok build started · layer 1 of 3,140
  9. 06:02:40recoat: short feed at layer 412 · dosing +4% applied
  10. 13:48:11precursor: lack-of-fusion risk 0.61 · part 17 · layer 1,872
  11. 13:48:12printer.trim_power({ part: 17, delta: "-3%", layers: 4 })
  12. 13:49:03ok risk 0.61 → 0.08 · pool stable
  13. 13:49:04approval.request({ action: "hatch_change", part: 17 })
  14. 13:53:34ok declined by AM process engineer · part 17 flagged CT priority
  15. 18:21:50printer.set_dwell({ interlayer: "+1.5 s", from_layer: 2300 })
  16. 18:23:54ok thermal field inside predicted band
  17. 12:20:30isaac.plan_grasp({ task: "unload_plate", cell: "RC-1" })
  18. 12:58:30ok depowdered · 24 parts to stress relief · lot L-2291 reuse 4
  19. 14:05:02ct.segment({ volumes: 24, criteria: "BRK-TI-A" })
  20. 14:16:02ok 23 accept · 1 indication 180 µm · part 17 → inspector
  21. 14:16:03packet.sign({ job: "J-4471", parts: 23, hold: [17] })
  22. 14:17:23ok scenario complete · 23 released · 1 NCR opened

Reasoning trace

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

GoalRun job J-4471, 24 Ti-6Al-4V brackets on PBF-2, to 99.7% densi…

Run job J-4471, 24 Ti-6Al-4V brackets on PBF-2, to 99.7% density and ±0.10 mm, with an AS9100 evidence packet on every released part.

PlanSimulate the recipe on the twin first. Release only inside the…

Simulate the recipe on the twin first. Release only inside the qualified envelope. Watch recoat and melt pool every layer, compensate thermally against the twin, and route anything outside the envelope to the process engineer. Triage every part by CT before release.

ThoughtThree candidate recipes beat #14 on takt but predicted distort…

Three candidate recipes beat #14 on takt but predicted distortion above 0.08 mm on the tall brackets. Takt is not worth a geometry failure on a qualified part family. Recipe #14 wins on the stated targets.

Actiontwin.simulate(candidates=40) returns recipe #14: 32° orientati…

twin.simulate(candidates=40) returns recipe #14: 32° orientation, lattice supports, power and speed inside the envelope, predicted distortion 0.06 mm.

ObservationLack-of-fusion risk 0.61 on part 17 at layer 1,872. A 3% power…

Lack-of-fusion risk 0.61 on part 17 at layer 1,872. A 3% power trim, inside the envelope, clears it in four layers. The proposed hatch change would leave the envelope, so it goes to a human and is declined.

ActionFlag part 17 for CT priority. Hold interlayer dwell at +1.5 s …

Flag part 17 for CT priority. Hold interlayer dwell at +1.5 s from layer 2,300 to keep the thermal field inside the twin's band.

ObservationCT confirms a 180 µm indication on part 17 at layer 1,870, two…

CT confirms a 180 µm indication on part 17 at layer 1,870, two layers below the precursor. The other 23 parts grade accept. The precursor, the action and the CT result are now one linked record.

OutcomeScenario complete. 23 parts released with full genealogy, part…

Scenario complete. 23 parts released with full genealogy, part 17 held with a non-conformance, CT triage in 11 minutes, no unapproved parameter left the envelope.

Enterprise

Standardise autonomy across the group

One policy model, one audit trail, one benchmark across every machine on every floor, with the alloy, polymer and qualification models kept private to each site.

Talk to us Enterprise details

  • SSO and role-based access down to the parameter level, planned for the 6 to 12 month release
  • Group-wide autonomy policy with per-site override and approval chains
  • Cross-floor benchmarking on build failure, yield, porosity and parameters, planned as data-network tiers
  • On-prem GPU inference and floor-edge deployment, with air-gapped operation for sensitive producers
  • Validated model change control and AS9100 and ISO 13485 evidence packs, planned
  • Dedicated deployment engineer and quarterly model review per floor
FAQ

Straight answers

The questions operations directors, process engineers and certification engineers ask in the first meeting.

Only inside the OEM-approved parameter envelope, only on an explicit allow-list with per-tag limits, and only at the autonomy level your floor has set. Level 1 is advisory: Powdrix predicts and recommends and a human enters everything. Design partners start there, in shadow mode. Anything that leaves the envelope or affects qualification always waits for a named approver.

Get started

Send us your security questionnaire

We answer plainly, including where an item is planned rather than done.