> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roboticks.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ISO 12100

> Machinery general principles for design — risk assessment and risk reduction. The foundational standard from which most machinery requirements derive.

# ISO 12100

ISO 12100:2010, *Safety of machinery — General principles for design — Risk assessment and risk reduction*, is the foundational standard for machinery safety design. It establishes the **risk assessment / risk reduction iterative methodology** that every other machinery safety standard assumes as a starting point.

For Roboticks customers, ISO 12100 is rarely the source of derived requirements directly — it provides the methodology that leads to derivations from product-specific standards (ISO 10218, ISO 3691-4, IEC 62061). It is, however, pinned almost universally because the **hazard-and-risk-reduction methodology** itself produces requirements that need traceability.

<Warning>
  **Roboticks is audit-readiness tooling, not a certified toolchain.** We assemble the evidence your notified body, certification body, or QA process ingests. We do not replace tool qualification (DO-178C, ISO 26262-8 TCL) and we do not issue conformity assessments. Verify the regulatory interpretations on this page against the standard text and your accredited assessor.
</Warning>

## The three-step method

ISO 12100 prescribes a hierarchy of risk reduction:

1. **Inherently safe design** — eliminate hazards by design (preferred).
2. **Safeguarding and complementary protective measures** — guards, light curtains, interlocks, STO drives.
3. **Information for use** — warnings, instructions, training (last resort).

Each iteration of the cycle: identify hazards → estimate risk → evaluate risk → reduce risk → re-iterate until residual risk is acceptable.

The output of risk assessment is a documented set of hazards and the risk-reduction measures applied to each. Many risk-reduction measures translate into machinery requirements: "the cell shall have a Category 3 PLd light curtain on the entry side," "the manipulator's TCP speed in collaborative mode shall not exceed X mm/s," "the operator interface shall warn before tool change."

## What Roboticks supports

* **Derivation from ISO 12100 clauses** — particularly clauses 5 (risk assessment) and 6 (risk reduction).
* **Hazard-to-requirement traceability** — the project's `hazards.yaml` declares hazards from the risk assessment; requirements link back to the hazards they mitigate.
* **Risk-reduction evidence** — the evidence pack PDF includes a "hazard mitigation" section showing each hazard, the mitigation measure, the derived requirements, and the verification results.

## What Roboticks does not do

* **We do not perform the risk assessment.** The hazard identification, risk estimation, and risk evaluation are human safety-engineering activities. Roboticks consumes the output.
* **We do not replace your risk-assessment software.** Many customers use specialist tools (Pilz PAScal, Sistema, in-house spreadsheets). Roboticks ingests the resulting hazard list and lets you link it to requirements.

## The hazards.yaml pattern

```yaml theme={null}
hazards:
  - id: HAZ-007
    description: Operator hand crushed between cobot end-effector and workpiece during quasi-static contact
    type: mechanical/crushing
    severity: S2  # serious, reversible
    frequency: F1  # rare to often
    avoidability: P2  # scarcely possible
    pl_required: PLd
    mitigations:
      - inherent_design: "Rounded end-effector geometry"
      - safeguarding: "PFL operation with TCP force limit per ISO/TS 15066 Annex A"
      - information: "Operator training; visible warning lights during cobot motion"
    realised_by_requirements:
      - REQ-PFL-007
      - REQ-PFL-008
      - REQ-DOC-014
```

The hazard ID is referenced in requirements:

```yaml theme={null}
- id: REQ-PFL-007
  title: Quasi-static contact force on upper arm below TS 15066 Annex A limit
  type: safety
  asil_pl: PLd
  mitigates_hazards: [HAZ-007]
  derives_from:
    - standard: iso-ts-15066-2016
      clause: "Annex A, Table A.2 — upper arm, quasi-static"
      edition: "2016"
    - standard: iso-12100-2010
      clause: "§6.3 Safeguarding and complementary protective measures"
      edition: "2010"
  text: |
    …
```

The evidence pack renders this two ways:

* **Hazard view**: every hazard with its mitigations and the verification status of each.
* **Requirement view**: every requirement, including which hazards it mitigates.

This dual view is exactly what a notified body uses to assess that the risk-reduction strategy is complete.

## Suggested patterns

| Activity                          | Approach                                                                                                                                                    |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Initial risk assessment**       | Off-platform (Sistema, Pilz, spreadsheet); export hazard list to `hazards.yaml`                                                                             |
| **Hazard-to-requirement linkage** | In `requirements/*.yaml` via `mitigates_hazards`                                                                                                            |
| **Risk-reduction verification**   | Each requirement gets its confirming tests; the platform tracks coverage                                                                                    |
| **Iteration**                     | Re-run risk assessment after each significant design change; update `hazards.yaml`; the change-impact analysis surfaces requirements that may need updating |

## Pinning

```bash theme={null}
rbtk standard pin iso-12100-2010 --project acme-robotics/firmware
```

ISO 12100 is part of every machinery bulk template (`industrial-robot-eu`, `cobot-eu`, `amr-eu`).

## Next steps

<CardGroup cols={2}>
  <Card title="ISO 10218" icon="industry" href="/standards/iso-10218">
    The product standard for industrial robots that builds on ISO 12100.
  </Card>

  <Card title="ISO/TS 15066" icon="handshake" href="/standards/iso-ts-15066">
    Cobot biomechanical limits that mitigate ISO 12100 mechanical hazards.
  </Card>

  <Card title="EU MR 2023/1230" icon="flag" href="/standards/eu-mr-2023-1230">
    The Regulation that requires the ISO 12100 risk assessment.
  </Card>
</CardGroup>
