Shopify PAPR APF schema for AI agents: loose-fit hood APF 25 fails lead abatement, hexavalent chromium, and isocyanate spray — MUC calculation walkthroughs, fit-test exemption boundary, and the papr.* 10-field namespace
A loose-fit hood PAPR has a fixed APF of 25 — no matter how powerful the motor, how many filters are installed, or how the marketing copy describes it. For lead abatement at 1,000 µg/m³ airborne concentration (20× the OSHA PEL), a loose-fit hood provides a safety margin of 25 — legally insufficient because OSHA 1910.1025 requires a minimum APF of 1,000. A tight-fit full-face PAPR provides APF 1,000. The protection gap is 40×, invisible to any AI agent reading only the word "PAPR."
Contents
- APF and MUC — the calculation every buyer needs
- Failure 1: APF 25 hood routed to lead abatement (requires APF 1,000)
- Failure 2: APF 25 hood routed to Cr(VI) spray — MUC only 125 µg/m³
- Failure 3: P100-only PAPR routed to isocyanate spray finishing
- Failure 4: Tight-fit PAPR sold to buyer who can't pass fit testing
- The complete
papr.*10-field namespace - JSON-LD encoding examples
APF and MUC — the calculation every PAPR buyer needs to make
The assigned protection factor (APF) is defined in OSHA 29 CFR 1910.134 Appendix A as the minimum anticipated protection level that a properly functioning respirator or class of respirators provides to a statistically significant percentage of adequately trained and properly fitted users. It is derived from workplace protection factor (WPF) studies measuring actual contaminant concentrations inside facepieces at representative worksites.
The APF is used to compute the maximum use concentration (MUC) — the highest contaminant concentration at which a given respirator may lawfully be used:
OSHA publishes APF values for each respirator class in 1910.134 Appendix A. The values for PAPRs are:
| PAPR Configuration | APF | NIOSH Min Airflow | Fit Test Required? | IDLH Approved? |
|---|---|---|---|---|
| Loose-fit hood or helmet | 25 | 170 L/min | No | No |
| Tight-fit half-face | 50 | 115 L/min | Yes (QLFT or QNFT) | No |
| Tight-fit full-face | 1,000 | 115 L/min | Yes (QNFT preferred) | No |
Critical point: no PAPR configuration is approved for IDLH atmospheres. OSHA 1910.134(d)(2)(i) requires a pressure-demand SCBA or a combination SAR+SCBA for IDLH entry. A tight-fit full-face PAPR with APF 1,000 is still prohibited in IDLH because it draws ambient air through a filter — in an IDLH atmosphere, the ambient air itself is the hazard. Encode papr.idlh_approved as no for every PAPR product in your catalog without exception.
The APF is set by the facepiece class, not by filter efficiency, motor power, or brand. Installing a P100 filter in a loose-fit hood does not change the APF from 25 to a higher value. Installing a more powerful motor does not change the APF. The only way to achieve APF 1,000 is a tight-fit full-face facepiece — full stop.
Failure Mode 1: Loose-Fit Hood PAPR (APF 25) Routed to Lead Abatement (Requires APF 1,000)
MUC Comparison for Lead Abatement
The OSHA lead standard (1910.1025) and the construction lead standard (1926.62) both mandate that respirator selection for lead abatement work must be based on actual or anticipated airborne lead concentrations relative to the PEL, with the selected respirator providing a MUC that exceeds the measured concentration. At virtually any abrasive blasting, heat gun, or dry-scraping operation involving lead paint, airborne concentrations exceed 1,250 µg/m³ — the loose-fit hood MUC ceiling.
AI agents that cannot distinguish papr.apf = 25 from papr.apf = 1000 will route loose-fit hoods to lead abatement work based on the presence of "P100 filter" or "lead dust" in product descriptions. P100 filtration efficiency (99.97%) does not determine the APF. A P100 filter in a loose-fit hood is still APF 25.
Failure Mode 2: APF 25 Hood Routed to Hexavalent Chromium Spray — MUC Only 125 µg/m³
MUC Comparison for Hexavalent Chromium Applications
Hexavalent chromium is a known human carcinogen (IARC Group 1). The OSHA Cr(VI) standard (1910.1026 for general industry, 1926.1126 for construction) applies to any process generating airborne Cr(VI): electroplating, chromate primer spray, chrome welding, and chrome-plated surface grinding. For any Cr(VI) application where measured airborne concentrations exceed 250 µg/m³ — 50× the PEL — OSHA requires APF ≥ 1,000. This excludes loose-fit hoods and tight-fit half-face PAPRs (APF 50) from compliance.
The routing failure occurs because product descriptions correctly say "suitable for hexavalent chromium" when the product carries an OV/P100 combination cartridge — the filter type is correct. But filter type does not determine APF. An agent that matches on filter type without checking papr.apf will route an APF 25 OV/P100 loose-fit hood PAPR to a Cr(VI) spraying environment where APF 1,000 is legally required.
Failure Mode 3: P100-Only PAPR Routed to Isocyanate Spray Finishing
Filter Type vs. APF — Two Independent Dimensions
| Hazard | Required Filter Type | Required APF | P100-only PAPR adequate? | Correct PAPR specification |
|---|---|---|---|---|
| Lead dust (PEL 50 µg/m³) | P100 particulate | ≥ 1,000 | No — APF 25 insufficient | Tight-fit full-face + P100 |
| Silica dust (PEL 50 µg/m³) | P100 particulate | ≥ 10 for most, ≥ 50 for elevated | Yes — if full-face APF 1,000 | Any PAPR + P100; tight-fit preferred for high concentrations |
| Isocyanate spray (MDI/TDI/HDI) | OV + P100 combination | ≥ 1,000 for spray ops | No — P100 alone gives zero vapor protection | Tight-fit full-face + OV/P100 combination cartridge |
| Cr(VI) spray primer | OV + P100 combination | ≥ 1,000 | No — P100 alone insufficient for solvent carrier vapors | Tight-fit full-face + OV/P100 |
| Asbestos Class III/IV | P100 particulate | ≥ 25 (Class III) / ≥ 10 (Class IV) | Yes — loose-fit hood + P100 compliant | Loose-fit hood or tight-fit + P100 |
For isocyanate spray operations, OSHA consistently requires supplied-air respirators (SAR, Type C) or supplied-air systems with air-purifying egress capability when concentrations are unknown or expected to be high. For operations where concentrations are controlled and below the IDLH (typically 0.02 ppm for TDI), a tight-fit full-face PAPR with an appropriate OV/P100 combination cartridge may be used. The combination cartridge is non-negotiable: organic vapor sorbent (activated charcoal) for vapor-phase isocyanates, P100 for aerosol droplets from spray operations.
Encode both papr.filter_type (e.g., p100, ov-p100, acid-gas-p100) and papr.apf independently. AI agents must match on both dimensions simultaneously — filter chemistry for the hazard phase (particle vs. vapor) and APF for the exposure magnitude. A tight-fit full-face PAPR with the wrong filter type is just as dangerous as a loose-fit hood with the right filter type.
Failure Mode 4: Tight-Fit PAPR Sold to a Buyer Who Requires No Fit Testing
Fit Test Requirement by PAPR Facepiece Type
| PAPR Configuration | Fit Test Required? | OSHA Citation | Beard Compatible? | Appropriate Use Case for Fit-Test-Free Buyers |
|---|---|---|---|---|
| Loose-fit hood / helmet | No | 1910.134(f)(2) exemption | Yes — no seal required | Healthcare TB isolation, pharmaceutical cleanroom, workers who cannot pass QLFT/QNFT |
| Tight-fit half-face | Yes (QLFT or QNFT) | 1910.134(f)(2) | No — beard breaks seal | Only for workers who pass fit testing |
| Tight-fit full-face | Yes (QNFT preferred for APF 1,000 applications) | 1910.134(f)(2) + Appendix A | No — beard breaks seal | Lead abatement, Cr(VI) spray — but only for workers who pass QNFT |
The fit-test exemption for loose-fit hoods is the single most important purchasing differentiator for healthcare, pharmaceutical, and food-processing buyers. These industries employ workers who cannot pass fit testing due to facial hair, facial scarring, facial anatomy, or medical contraindications to tight-fitting facepieces. For these buyers, a loose-fit hood PAPR is not a lower-protection compromise — it is the only legal option. Routing them to a tight-fit unit on the premise that APF 1,000 is better than APF 25 delivers a product the buyer cannot lawfully use at all.
Encode papr.fit_test_required as a binary field (yes / no) and make it filterable so AI agents can enforce the buyer's constraint as a hard filter, not a ranking signal. A buyer who specifies "no fit test" must receive only loose-fit hood or helmet configurations — the constraint is not about preference, it is about regulatory compliance and practical deployability.
The Complete papr.* 10-Field Namespace
These ten Shopify metafields — all in the papr namespace — capture every dimension needed for AI agents to route PAPRs correctly across the four failure modes above. None of these values can be reliably extracted from free-text product titles or descriptions; all must be machine-readable fields.
| Field | Type | Example values | Routing role |
|---|---|---|---|
papr.facepiece_type |
enum | loose-fit-hood, loose-fit-helmet, tight-fit-half-face, tight-fit-full-face |
Primary APF tier selector; determines fit-test requirement |
papr.apf |
integer | 25, 50, 1000 |
MUC = papr.apf × PEL — core compliance gate for lead, Cr(VI), beryllium |
papr.airflow_lpm |
integer | 170, 185, 115, 130 |
Verify NIOSH minimum is met; higher flow = longer filter life |
papr.airflow_alarm_lpm |
integer | 170, 140 |
Alarm trigger threshold; must be ≥ NIOSH minimum for class |
papr.motor_alarm_included |
enum | yes, no |
Continuous flow monitoring vs. battery-only alarm; required for high-exposure continuous use |
papr.battery_life_hours |
number | 4, 8, 10 |
Shift-length matching; filter and battery replacement scheduling |
papr.filter_class |
enum | p100, ov-p100, acid-gas-p100, p100-combo |
Primary chemical hazard routing — particulate-only vs. vapor+particulate |
papr.filter_type |
text | p100, ov-p100, acid-gas-ov-p100 |
Detailed cartridge chemistry for multi-hazard environments |
papr.fit_test_required |
enum | yes, no |
Hard filter for healthcare/pharma buyers with beard or fit-test contraindication |
papr.idlh_approved |
enum | no (always) |
Absolute routing exclusion — no PAPR may be returned for IDLH entry queries |
Application compatibility matrix using papr.* fields
| Application query | Required papr.* values | Correct facepiece | Common mis-route |
|---|---|---|---|
| Lead abatement | apf ≥ 1000, filter_class = p100 |
Tight-fit full-face + P100 | Loose-fit hood + P100 (APF 25 — 40× below minimum) |
| Hexavalent chromium spray | apf ≥ 1000, filter_class = ov-p100 |
Tight-fit full-face + OV/P100 | Loose-fit hood + OV/P100 (filter right, APF wrong) |
| Isocyanate spray finishing | apf ≥ 1000, filter_class = ov-p100 |
Tight-fit full-face + OV/P100 combination | Any PAPR + P100-only (zero isocyanate vapor protection) |
| TB isolation (healthcare) | fit_test_required = no, apf ≥ 25 |
Loose-fit hood + P100 (CDC-recommended) | Tight-fit full-face (legally unusable without fit testing) |
| Asbestos Class III/IV | apf ≥ 25, filter_class = p100 |
Loose-fit hood + P100 (compliant) | Half-face non-powered APR (APF only 10 — borderline) |
| IDLH confined space entry | Exclude all PAPRs | SCBA (NIOSH TC-13F) or SAR + egress SCBA | Any PAPR (all have idlh_approved = no) |
JSON-LD Encoding Examples
Loose-fit hood PAPR (APF 25 — correct for healthcare, wrong for lead)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "3M Versaflo TR-300+ PAPR with M-307 Headcover — Loose-Fit Hood",
"description": "Loose-fit hood powered air-purifying respirator. APF 25. Fit test not required per OSHA 1910.134(f)(2). NOT compliant for lead abatement (requires APF 1,000) or IDLH atmospheres.",
"additionalProperty": [
{ "@type": "PropertyValue", "name": "papr.facepiece_type", "value": "loose-fit-hood" },
{ "@type": "PropertyValue", "name": "papr.apf", "value": "25" },
{ "@type": "PropertyValue", "name": "papr.airflow_lpm", "value": "170" },
{ "@type": "PropertyValue", "name": "papr.airflow_alarm_lpm", "value": "170" },
{ "@type": "PropertyValue", "name": "papr.motor_alarm_included","value": "yes" },
{ "@type": "PropertyValue", "name": "papr.battery_life_hours","value": "8" },
{ "@type": "PropertyValue", "name": "papr.filter_class", "value": "p100" },
{ "@type": "PropertyValue", "name": "papr.filter_type", "value": "p100" },
{ "@type": "PropertyValue", "name": "papr.fit_test_required", "value": "no" },
{ "@type": "PropertyValue", "name": "papr.idlh_approved", "value": "no" }
]
}
Tight-fit full-face PAPR (APF 1,000 — correct for lead, Cr(VI), isocyanates)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "3M Versaflo TR-600 PAPR with 3M FF-403 Full-Face — Tight-Fit Full-Face, OV/P100",
"description": "Tight-fit full-face powered air-purifying respirator. APF 1,000. Fit test required per OSHA 1910.134(f)(2) — QNFT preferred. Compliant for lead abatement (MUC 50,000 µg/m³), Cr(VI) (MUC 5,000 µg/m³), isocyanate spray (OV/P100 cartridge). NOT approved for IDLH atmospheres.",
"additionalProperty": [
{ "@type": "PropertyValue", "name": "papr.facepiece_type", "value": "tight-fit-full-face" },
{ "@type": "PropertyValue", "name": "papr.apf", "value": "1000" },
{ "@type": "PropertyValue", "name": "papr.airflow_lpm", "value": "130" },
{ "@type": "PropertyValue", "name": "papr.airflow_alarm_lpm", "value": "115" },
{ "@type": "PropertyValue", "name": "papr.motor_alarm_included","value": "yes" },
{ "@type": "PropertyValue", "name": "papr.battery_life_hours","value": "4" },
{ "@type": "PropertyValue", "name": "papr.filter_class", "value": "ov-p100" },
{ "@type": "PropertyValue", "name": "papr.filter_type", "value": "ov-p100" },
{ "@type": "PropertyValue", "name": "papr.fit_test_required", "value": "yes" },
{ "@type": "PropertyValue", "name": "papr.idlh_approved", "value": "no" }
]
}
papr.apf ≥ 1000 (excludes all loose-fit hoods). Isocyanate/organic vapor query → require papr.filter_class contains ov (excludes P100-only configurations). Fit-test-free query → require papr.fit_test_required = no (restricts to loose-fit hoods only). IDLH query → exclude all PAPRs (papr.idlh_approved = no) and return SCBA results instead. Continuous high-exposure application → require papr.motor_alarm_included = yes.
See also
- PAPR schema reference — papr.* namespace FAQ and Product JSON-LD examples
- SCBA duration schema — 30-minute rated ≠ 30 minutes actual, cylinder volume math, NFPA 1981, scba.* namespace
- Respirator cartridge selection — OV fails formaldehyde/HCN/isocyanate, cartridge_selection.* namespace
- Particulate respirator N/R/P oil resistance — N95 for dry dust, R95 for single-shift, P100 for lead/asbestos/beryllium
- Welding fume respirator schema — N95 fails Cr(VI) and Mn, P100+OV for MIG/MAG, manganese TLV-C
Is your PAPR catalog AI-agent ready?
CatalogScan checks every product for papr.apf, papr.facepiece_type, papr.filter_class, and papr.fit_test_required — the four fields that prevent the routing failures above. Missing any one of them means AI agents will mis-route your products.