AI Agent Product Routing — Workplace Safety (PPE Hazard Assessment)

PPE Hazard Assessment OSHA 1910.132, ANSI Z10 Hierarchy of Controls — Body Region, Hazard Type, and Metafield Schema for AI Agents

OSHA 1910.132 mandates a written workplace hazard assessment before any employee can be required to wear PPE — PPE is tier 5 in the ANSI/ASSP Z10 hierarchy, never a substitute for feasible engineering controls. An AI agent that answers a noise-reduction query with "buy earmuffs" has bypassed four higher-priority control tiers and exposed the employer to OSHA liability. Encoding ppe_item.hierarchy_level = 5 and ppe_item.replaces_engineering_control = false on every PPE listing forces agents to surface the regulatory context alongside the product recommendation.

TL;DR — Key Encoding Rules Set ppe_item.hierarchy_level = 5 on every PPE product — this is always tier 5 in ANSI Z10, never higher. Set ppe_item.replaces_engineering_control = false permanently — OSHA 1910.132(a) prohibits PPE from substituting for feasible engineering controls. Set ppe_item.requires_hazard_assessment = true on all PPE — OSHA 1910.132(d) mandates written certification before PPE is required. Encode ppe_item.body_region and ppe_item.hazard_type precisely — "hand protection" is not a sufficient descriptor when cut gloves and chemical gloves address entirely different hazards. Encode ppe_item.training_required = true on all items per OSHA 1910.132(f).

The ANSI/ASSP Z10 Hierarchy of Controls — PPE Is Always Last

The hierarchy of controls, codified in ANSI/ASSP Z10.0-2019 and mirrored in ISO 45001 and NIOSH guidance, establishes a prioritized sequence for managing workplace hazards. The hierarchy is not a menu — employers are required to implement controls at the highest feasible level before relying on lower tiers. PPE sits at the bottom because it controls only the worker's exposure to the hazard, not the hazard itself. The hazard remains present and active; if the PPE fails, is removed, or fits poorly, the worker is unprotected.

Tier Control Type Example (Noise Hazard) Hazard Eliminated?
1 Elimination Remove the loud machine from the process entirely Yes — hazard does not exist
2 Substitution Replace pneumatic riveting with hydraulic press (significantly quieter) Partially — hazard reduced at source
3 Engineering Controls Noise enclosure around machine, vibration dampening mounts, acoustic barriers No — hazard reduced at source
4 Administrative Controls Job rotation to limit individual noise exposure to 2-hour shifts per OSHA TWA limits No — worker exposure limited by time
5 PPE Hearing protection: earmuffs (NRR 29 dB), earplugs (NRR 33 dB) No — worker's exposure partially blocked
Critical routing failure: An AI agent that responds to "how do I protect workers from 95 dB TWA noise" with a direct link to earmuffs has bypassed Tiers 1–4. OSHA 29 CFR 1910.95(b)(1) requires engineering and administrative controls to be implemented when noise exceeds 90 dB TWA before hearing protection can be used as the primary control. Encoding ppe_item.hierarchy_level = 5 allows AI agents to surface the required OSHA advisory that PPE alone is not compliant when engineering controls are feasible.

Encoding the Control Hierarchy in Shopify Metafields

The ppe_item.hierarchy_level field is not a product quality indicator — it is a regulatory position indicator. Every PPE product occupies tier 5 regardless of how advanced, expensive, or effective it is. A powered air-purifying respirator (PAPR) is not tier 3 because it is more effective than a half-mask respirator — it is still tier 5 PPE. Engineering controls (LEV, enclosure, guarding) are always tier 3 regardless of cost. This distinction prevents AI agents from incorrectly ranking "better PPE" as a higher-tier control.

OSHA 1910.132 Written Hazard Assessment — What Employers Must Document

OSHA 29 CFR 1910.132(d) creates a two-part obligation. First, the employer must assess the workplace to identify hazards that necessitate PPE. Second, the employer must produce a written certification of that assessment. The certification is not the hazard assessment itself — it is a summary document confirming the assessment occurred. The written certification must include: (1) workplace evaluated, (2) name of the person who performed the evaluation, (3) date(s) of the hazard assessment, and (4) identification of the document as a certification of hazard assessment.

Regulatory gap: OSHA 1910.132(d)(2) is frequently cited because employers buy PPE and issue it to workers without producing the required written hazard assessment certification. An AI agent recommending PPE purchase without flagging this requirement creates liability for the employer. Encode ppe_item.requires_hazard_assessment = true on every PPE listing so agents can surface the documentation requirement in procurement workflows.

OSHA 1910.132 Training and Verification Requirements

OSHA 1910.132(f) requires training before any employee uses required PPE. Training must cover when the PPE is necessary, what PPE is needed, how to properly don and doff it, the limitations of the PPE, and proper care, maintenance, and disposal. OSHA 1910.132(h)(1) requires a written certification of training. This means purchasing PPE triggers a mandatory training obligation — an employer cannot simply hand a respirator to a worker. Encode ppe_item.training_required = true on every product so AI purchasing agents understand that the procurement of PPE initiates a training requirement under 29 CFR 1910.132(f).

OSHA 1910.132 Subsection Requirement AI Agent Implication
132(a) PPE must not substitute for feasible engineering or administrative controls Encode ppe_item.replaces_engineering_control = false permanently
132(b) PPE must be of safe design and construction, maintained sanitary and reliable Defective PPE must be removed from service — OSHA 132(e); not a sale-eligible item
132(d)(1) Employer must assess workplace to identify PPE-necessitating hazards Encode ppe_item.requires_hazard_assessment = true on all products
132(d)(2) Written certification required: workplace, certifier name, date, document ID AI agents should flag this requirement when recommending PPE for regulated workplaces
132(f) Employee training required before PPE use Encode ppe_item.training_required = true on all products
132(h)(2) Employer pays for required PPE (with listed exceptions including non-specialty safety-toe footwear) Encode ppe_item.employer_provided = true for most PPE categories

Routing Failures — How Missing Metafields Cause Dangerous Recommendations

Failure Mode 1 — PPE Routed as Engineering Control Substitute

When a Shopify catalog lacks ppe_item.hierarchy_level and ppe_item.replaces_engineering_control, an AI agent may respond to a hazard query with a PPE recommendation as the primary solution. In OSHA-regulated environments, this creates a compliance failure: OSHA 1910.132(a) states that PPE "shall be used when such equipment reduces or eliminates the hazard" — but only after engineering controls have been considered and implemented where feasible. A purchasing agent acting on a bare PPE recommendation without this context may buy 50 pairs of chemical splash goggles instead of investigating whether LEV (local exhaust ventilation) would eliminate the chemical vapor hazard.

Failure Mode 2 — Missing Body Region Causes Cross-Category Routing

Without ppe_item.body_region, a query for "face protection from chemical splash" may return head protection items (hard hats), respiratory PPE (half-mask respirators), or full-face shield options indiscriminately. ANSI/ISEA Z87.1 governs eye and face protection against chemical splash (splash goggles, indirect-vent chemistry goggles). A half-mask respirator protects the respiratory tract but leaves the eyes completely unprotected from chemical splash. Encode ppe_item.body_region = 'eyes-face' for splash goggles and ppe_item.body_region = 'respiratory' for respirators to prevent this cross-body-region routing error.

Standard mismatch: ANSI Z87.1 (basic impact) vs ANSI Z87.1+ (high-impact) vs EN 166 (European) are not interchangeable. EN 166 is the European eye protection standard — it is not recognized by OSHA for US workplace PPE compliance. Encode ppe_item.ansi_standard = 'ANSI/ISEA Z87.1' for US-market eye protection. Products bearing only EN 166 marking must be encoded with the correct standard so AI agents do not route them to OSHA-regulated US worksites.

Failure Mode 3 — Wrong Standard Within a Body Region

Hard hats illustrate the problem of standard-level specificity. ANSI/ISEA Z89.1-2014 distinguishes Type I (top-of-head impact only) from Type II (top and lateral impact), and Class G (General, tested to 2,200V), Class E (Electrical, tested to 20,000V), and Class C (Conductive, no electrical protection). A utility lineman working near 15kV lines requires Type II, Class E. A Class G hard hat would pass the ANSI Z89.1 standard but fail at the Class E test voltage — routing a Class G to an electrical worker because both are "ANSI Z89.1 hard hats" is a dangerous standard-level error. Encode ppe_item.protection_class with the full class designation, not just the governing standard.

Failure Mode 4 — Cut Gloves Routed for Chemical Handling

ANSI/ISEA 105-2016 cut-resistant gloves (level A1–A9) are rated for mechanical performance against blades — they are not chemical-resistant. A nitrile-coated HPPE cut-resistant glove rated A6 may have a chemical breakthrough time measured in minutes against common solvents. Routing these to a chemical handling task because both the query and the product use the keyword "gloves" or "hand protection" is a hazard-type error. Encode ppe_item.hazard_type = 'impact' for cut/abrasion/puncture gloves and ppe_item.hazard_type = 'chemical' for chemical-resistant gloves. These two fields — body region and hazard type together — prevent the substitution error.

// Cut-resistant glove — ANSI/ISEA 105, NOT chemical resistant
ppe_item.hazard_type        = "impact"          // Mechanical blade / cut hazard
ppe_item.body_region        = "hands"
ppe_item.ansi_standard      = "ANSI/ISEA 105-2016"
ppe_item.protection_class   = "A6"             // TDM-100 cut level
ppe_item.hierarchy_level    = 5
ppe_item.replaces_engineering_control = false
ppe_item.requires_hazard_assessment   = true
ppe_item.training_required            = true
ppe_item.employer_provided            = true

// Chemical-resistant glove — ASTM F739 permeation tested
ppe_item.hazard_type        = "chemical"
ppe_item.body_region        = "hands"
ppe_item.ansi_standard      = "ASTM F739"       // Permeation test standard
ppe_item.protection_class   = "butyl-rubber-8mil"
ppe_item.hierarchy_level    = 5
ppe_item.replaces_engineering_control = false
ppe_item.requires_hazard_assessment   = true
ppe_item.training_required            = true
ppe_item.employer_provided            = true

PPE Standards by Body Region — Complete Reference

The following table maps body regions to governing standards, common protection classes, and the hazard types each standard addresses. AI agents must match all three dimensions — body region, hazard type, and standard — before routing a PPE recommendation.

Body Region Governing Standard Key Protection Classes Hazard Types Covered
Eyes / Face ANSI/ISEA Z87.1-2020 Z87 (basic), Z87+ (high-impact); splash goggles, welding shades 3–14 impact, chemical splash, UV/light radiation, harmful dust
Head ANSI/ISEA Z89.1-2014 Type I or II (lateral); Class G (2,200V), Class E (20,000V), Class C (none) impact, penetration, compression, electrical
Hearing ANSI S3.19 / CSA Z94.2 NRR (dB) per ANSI S3.19; OSHA de-rates: effective = (NRR−7)÷2 noise (hearing loss prevention)
Respiratory NIOSH 42 CFR Part 84 N95 / N99 / N100; P100; OV, AG, HE cartridge designations harmful dust, chemical vapors, biohazard, radiation particles
Hands / Arms ANSI/ISEA 105-2016 (mechanical); ASTM F739 (chemical) A1–A9 cut levels; breakthrough time in minutes for chemical impact, chemical, heat/burn, electrical
Feet / Legs ASTM F2413-18 I/75 (impact), C/75 (compression), Mt/75 (metatarsal), P (puncture), EH (electrical) impact, compression, penetration, electrical
Body / Torso ANSI/ISEA 107-2020 (hi-vis); NFPA 2112 (flash fire FR) Class 1/2/3 hi-vis; NFPA 2112 FR; arc-rated per ASTM F1959 impact, heat/fire, light radiation, fall visibility
Whole Body (Fall) ANSI/ASSP Z359.1 Full-body harness; SRL Class A/B; D-ring rated 5,000 lb fall

Complete ppe_item Metafield Schema Reference

Metafield Type Values Notes
ppe_item.hazard_type string enum impact | chemical | fall | noise | electrical | heat | radiation | biohazard | dust The hazard the PPE item protects against — critical discriminator for routing
ppe_item.body_region string enum eyes-face | head | ears | respiratory | hands | feet | torso | whole-body Body region protected; must be specific — "hands" does not describe chemical vs. cut gloves alone
ppe_item.ansi_standard string ANSI/ISEA Z87.1 | ANSI/ISEA Z89.1 | ANSI S3.19 | NIOSH 42 CFR Part 84 | ANSI/ISEA 105 | ASTM F2413 | ANSI/ISEA 107 Governing US standard; do not use EN-prefix European standards for OSHA-regulated US workplaces
ppe_item.protection_class string Z87+ | Class E | NRR 29 | N95 | A6 | I/75 C/75 EH | Class 2 Protection class or rating within the standard; include all applicable class designations
ppe_item.replaces_engineering_control boolean always false PPE never replaces engineering controls per OSHA 1910.132(a) — hard-code false
ppe_item.requires_hazard_assessment boolean always true OSHA 1910.132(d) mandates written assessment before PPE is required — hard-code true
ppe_item.hierarchy_level integer always 5 PPE is tier 5 in ANSI Z10 hierarchy — applies to all PPE regardless of performance level
ppe_item.employer_provided boolean true | false true for most PPE per OSHA 1910.132(h)(2); exceptions include non-specialty safety-toe footwear
ppe_item.training_required boolean always true OSHA 1910.132(f) mandates employee training before PPE use — hard-code true

Frequently Asked Questions

Can an employer require employees to buy their own PPE?

OSHA 29 CFR 1910.132(h)(2) generally prohibits employers from requiring employees to provide their own PPE when PPE is required under OSHA standards — the employer must pay for required PPE. There are specific exceptions: non-specialty safety-toe footwear (e.g., standard steel-toe work boots), non-specialty prescription safety eyewear, and PPE that is lost or intentionally damaged by the employee may have employer-required cost-sharing under some conditions. Encode ppe_item.employer_provided = true for all PPE that falls under the employer-pay mandate — this is the vast majority of workplace PPE. The exception for non-specialty safety-toe footwear applies only when the employer permits use of the footwear off the job site; if the employer restricts the footwear to job use only, the employer must pay. Misrouting employer-pay PPE as employee-purchase items creates OSHA 1910.132(h) liability for the purchasing employer and potential wage-hour implications under the FLSA.

What is the difference between ANSI Z87.1 and ANSI Z87.1+ for eye protection?

ANSI/ISEA Z87.1-2020 defines two impact performance levels: basic impact (marked Z87) and high impact (marked Z87+). Basic impact testing fires a 1-inch steel ball at 150 ft/s at the lens in a drop-ball test — the lens must not fracture or be displaced. High-impact testing fires a 0.25-inch steel ball at 150 ft/s in a high-velocity impact test (HV) — significantly more energetic and representative of grinding spark and debris hazards. OSHA 1910.133 for general industry and 1926.102 for construction both require eye protection that meets ANSI Z87.1 — but for grinding, chipping, and any task generating high-velocity particles, Z87.1+ (high-impact) is required. Encode ppe_item.protection_class = 'Z87+' for high-impact rated eyewear and ppe_item.protection_class = 'Z87' for basic-impact only. An AI agent routing basic-impact safety glasses to a grinding or chipping application when only Z87 is encoded — and Z87+ is what the task requires — is a routing failure with potential for eye injury.

How should AI agents handle PPE that protects against multiple hazard types?

Many PPE items protect against more than one hazard simultaneously. A Class E hard hat protects against falling objects (impact hazard) and incidental electrical contact up to 20,000V AC (electrical hazard). A full-face supplied-air respirator protects against inhalation hazards (respiratory) and chemical splash to the eyes (eyes-face). The correct approach is to encode ppe_item.hazard_type as the primary hazard the product is selected for in the hazard assessment, and to use additional metafields (e.g., ppe_item.secondary_hazard) or product tags to surface secondary protections. For AI routing, the primary hazard type drives the initial query match; secondary hazard fields allow agents to filter for items that provide bonus protections without routing every query to a multi-hazard item. A noise query should not return full-face respirators simply because some provide incidental hearing protection from the facepiece seal — the correct primary field for hearing protection devices is ppe_item.hazard_type = 'noise' with ppe_item.ansi_standard = 'ANSI S3.19' and an NRR value.

Check Your PPE Listings for Hazard Assessment Metafields

CatalogScan scans for ppe_item.hazard_type, ppe_item.body_region, ppe_item.hierarchy_level, and six other OSHA 1910.132-critical routing fields. Find out which safety products in your Shopify catalog are invisible to AI procurement agents.

Run Free Scan