HomeBlog › Respirator fit testing QLFT QNFT schema

Shopify respirator fit testing QLFT QNFT schema for AI agents: saccharin vs bitrex vs isoamyl acetate, PortaCount CNC method, seal check vs annual fit test, half-face FF ≥ 100 vs full-face FF ≥ 500, why loose-fitting PAPR hoods are exempt, and the respirator.* 10-field namespace

Published 2026-07-25 · OSHA 1910.134 Fit testing QLFT QNFT Respiratory protection AI agent schema

Fit testing is the most misunderstood component of a compliant respiratory protection program. AI shopping agents get it wrong in four distinct ways — each of which routes the wrong product to a buyer who believes they are protected.

Why fit testing exists: leakage dominates over filter efficiency

A common misconception is that respirator protection is primarily a function of filter efficiency — the higher the filter rating, the better the protection. This is wrong in practice. For tight-fitting respirators, the dominant failure mode is face seal leakage, not filter penetration. An N95 respirator worn with a poor face seal may deliver less protection than an N95 worn with a properly fitted seal, even though both units use identical filter media rated at 95% particulate efficiency at 0.3 µm.

The physics: face seal leakage bypasses the filter entirely. If 2% of inhaled air enters through a gap at the nose bridge rather than through the filter, that 2% carries unfiltered ambient contaminant at full concentration. The effective protection factor of the entire system is limited by the leakage fraction, not the filter efficiency. A filter rated at 99.97% (P100/HEPA) combined with a 2% face seal leak produces a system protection factor of approximately 50 — identical to a P100 with a 2% leak. The $800 PortaCount test is measuring this leak fraction, not the filter.

The formula that matters: Overall Protection Factor ≈ 1 / (inward leakage fraction). A 1% face seal leak produces a protection factor of ~100, regardless of filter rating. A 0.2% leak produces ~500. For a P100 filter with zero leakage, protection factor is limited only by filter penetration — effectively >10,000.

Fit testing quantifies the face seal for a specific worker wearing a specific facepiece model and size. Because face geometry varies between individuals, the same respirator model produces wildly different fit factors across a workforce. One worker may consistently achieve FF > 2,000 on a given model; another may be unable to exceed FF 80 on any medium-size in that brand. Fit testing identifies which workers achieve adequate seals on which models — so the program can assign the correct model rather than handing out whatever is in the supply room.

Governing standard: OSHA 29 CFR 1910.134 — Respiratory Protection. Appendix A establishes fit test procedures. Appendix B-1 covers user seal check procedures. Appendix C is the OSHA Respirator Medical Evaluation Questionnaire. ANSI/ASSE Z88.10 provides additional guidance on fit test protocols.

Who must be fit tested — and who is exempt

OSHA 1910.134(f) requires fit testing for any employee who uses a tight-fitting facepiece. Tight-fitting facepieces form a sealing surface against the face. The exemption for loose-fitting facepieces is the most consequential distinction in the fit testing regulation.

Fit test REQUIRED

  • Disposable half-face filtering facepieces (N95, P100 — if tight-fitting)
  • Reusable half-face elastomeric respirators
  • Quarter-face respirators
  • Full-facepiece elastomeric respirators
  • Tight-fitting PAPR facepieces (when the PAPR unit uses a tight-fitting hood or facepiece)
  • Supplied-air respirators with tight-fitting facepiece
  • Self-contained breathing apparatus (SCBA) with full-face pressure-demand

Fit test EXEMPT

  • Loose-fitting PAPR hoods (fabric hood, no face seal)
  • Loose-fitting PAPR helmets (hard shell, no face seal)
  • Loose-fitting supplied-air hoods
  • Loose-fitting supplied-air helmets
  • Abrasive blasting hoods

These work by maintaining positive air pressure outward — contaminants cannot enter if the flow rate exceeds leakage. No face seal = no fit test requirement.

Common mistake: Many PAPR units are sold with multiple headpiece options — a loose-fitting hood AND a tight-fitting facepiece for the same motor/blower unit. When an employee uses the loose hood, fit testing is not required and the APF is 25. When the same employee switches to the tight-fitting facepiece for that unit, a fit test IS required and the APF rises to 1,000. The headpiece configuration, not the motor/blower, determines the fit test requirement and the APF.

The practical implication for Shopify stores selling PAPRs: a product listing that says only "PAPR — no fit test required" may be accurate for the hood configuration but incorrect for the facepiece configuration, or vice versa. The respirator.requires_fit_test field must reflect the headpiece variant being sold, not the motor unit.

When to retest: annual, model change, and physical change triggers

The annual fit test is the baseline requirement — every tight-fitting respirator user must be fit tested before the first use and then at least once per 12-month period. OSHA 1910.134(f)(3) also requires a new fit test in any of the following situations, regardless of when the last annual test occurred:

  • Employee uses a different facepiece: Different make, model, or size. A fit test on a 3M 6502QL does not transfer to a 3M 7502, or to a 3M 6501QL. Same brand, different model — new test required.
  • Physical changes: Significant weight gain or loss (generally defined as ≥20 lb in some programs, though OSHA does not specify a threshold), facial scarring from injury or surgery, major dental work that alters jaw profile (dentures installed, major extractions), or any other change that could affect face geometry in the seal area.
  • Employee self-reports poor fit: If a worker believes their respirator is no longer sealing correctly — at any point in the annual cycle — a new fit test must be conducted before they continue using that respirator.
  • Observation by supervisor or PLHCP: If a supervisor or occupational health professional observes physical changes that suggest the current facepiece no longer fits, a retest is required.
What annual means: Fit tests must occur within 12 calendar months of each other. An employee fit tested on July 10 of one year must be retested no later than July 10 of the following year. Programs that schedule fit testing annually but allow slippage of a few weeks create compliance gaps.

The fit test record must document: employee name, date, type of fit test performed, make/model/style/size of respirator tested, and pass/fail result (QLFT) or numerical fit factor (QNFT). This record must be retained for the duration of the employee's employment and made available to employees upon request.

QLFT methods: saccharin, bitrex, isoamyl acetate, irritant smoke

Qualitative fit test (QLFT) protocols use challenge agents that the wearer detects through sensory response — taste, smell, or irritation. QLFT produces a pass/fail result, not a numerical fit factor. OSHA Appendix A recognizes four QLFT protocols. They are not interchangeable.

Isoamyl Acetate (IAA) — "Banana Oil"
QLFT

The tester applies IAA solution from a squeeze bulb around the facepiece while the subject performs exercises. The subject detects banana or pear odor if leakage occurs. IAA is an organic vapor with an odor threshold of approximately 0.1–1.0 ppm.

CRITICAL CONSTRAINT: IAA is ONLY valid when the respirator is equipped with organic vapor (OV) or combination OV cartridges. An N95, P100 HEPA-only, or acid gas cartridge does not filter IAA. If IAA is used on a respirator without OV media, any undetected leakage is indistinguishable from correct filter performance — the test is invalid regardless of face seal integrity.
Saccharin Solution Aerosol
QLFT

A nebulizer aerosolizes a saccharin solution; the wearer detects sweet taste if the aerosol penetrates the face seal. A sensitivity check is mandatory before the test — the subject must confirm they can detect saccharin sweetness through a test hood before proceeding to the full protocol. Valid for any non-OV-only air-purifying respirator.

No cartridge-type restriction. The sensitivity check step is mandatory and often skipped — if a person is not sensitive to saccharin taste, the entire test is invalid.
Bitrex (Denatonium Benzoate) Solution Aerosol
QLFT

Same nebulizer protocol as saccharin, but uses denatonium benzoate — the most bitter compound known to science, detectable by most people at concentrations of 0.01–0.1 ppm. Sensitivity check required. Because detection threshold is lower than saccharin, Bitrex is often preferred in programs where saccharin sensitivity is inconsistent across the workforce.

No cartridge-type restriction. Sensitivity check mandatory. The bitter taste response is distinctive and rarely missed by a sensitive subject.
Irritant Smoke (Stannic Chloride / Titanium Tetrachloride)
QLFT

Generates a dense white smoke (the hydrolysis product of stannic chloride or titanium tetrachloride reacting with ambient humidity). Leakage is detected by coughing, irritation, or visible smoke entry. Valid for any tight-fitting respirator. Because the test agent is irritating, OSHA requires the tester to have emergency wash equipment available and the subject must be removed immediately if they detect the smoke inside the facepiece.

The irritant response is involuntary and unambiguous — subjects cannot easily overlook ingress. However, the irritating nature makes this protocol less comfortable and less frequently used than saccharin or bitrex in routine annual programs.
QLFT detection limit: All QLFT protocols can practically detect fit factors up to approximately 100–200. The protocol is calibrated so that a leak producing a fit factor below 100 is reliably detected by the human sensory response. Above that threshold, the distinction between FF = 150 and FF = 2,000 is not determinable by QLFT. This is why QLFT is structurally suited to half-face respirators (minimum FF = 100) and theoretically less precise for confirming the full-face minimum of FF = 500 — though OSHA allows QLFT for full-face respirators in practice.

QNFT methods: PortaCount CNC and Quantifit CNP

Quantitative fit test (QNFT) protocols use instruments to measure the actual concentration ratio between outside and inside the facepiece, producing a numerical fit factor. QNFT does not depend on the subject's sensory response and can verify fit factors well above 500. OSHA Appendix A recognizes three QNFT protocols.

PortaCount — Condensation Nuclei Counter (CNC) Method

The TSI PortaCount is the most widely used QNFT instrument. The PortaCount uses a CNC (condensation nuclei counter) to count individual ambient aerosol particles — submicrometer particles that exist in normal indoor and outdoor air from combustion, dust, and other sources. A probe inserted through a fitting in the facepiece samples air from inside the mask. The instrument alternates between sampling ambient air (outside) and masked air (inside), computing the ratio. This ratio is the fit factor.

Key technical details:

  • Particle size: The PortaCount counts particles in the 0.02–1.0 µm range — the most penetrating size range for filter media (MPPS is approximately 0.3 µm for HEPA). This makes CNC-based QNFT an especially rigorous test of combined face seal + filter performance.
  • Minimum ambient concentration: The CNC method requires a minimum ambient aerosol concentration of approximately 10,000 particles/cm³ for reliable statistical performance. In very clean environments (hospital clean rooms, outdoor desert environments), ambient concentrations can fall below this threshold. The PortaCount N95-Companion and TSI N95 Companion protocol introduce a nebulized corn oil aerosol to supplement ambient particles when concentration is insufficient — this is OSHA's "corn oil aerosol" QNFT protocol, distinct from ambient aerosol CNC.
  • Probe fitting: The PortaCount probe connects to the facepiece via a small fitting inserted into the facepiece body. A sampling adapter specific to each facepiece model must be available. The probe creates a minuscule sampling port that itself may introduce a small, controlled leak — the PortaCount software accounts for this in the fit factor calculation.
  • Test exercises: Eight standard exercises are performed during the test: normal breathing, deep breathing, turning head side-to-side, moving head up and down, talking (reading a standardized passage), grimacing, bending over, and normal breathing again. Each exercise lasts approximately 1 minute. The overall fit factor is the harmonic mean of the individual exercise fit factors — the lowest-performing exercise drives the result.

OHD Quantifit — Controlled Negative Pressure (CNP) Method

The OHD Quantifit uses a different physical principle: controlled negative pressure. The instrument momentarily seals all inhalation and exhalation ports of the facepiece, draws the interior down to a controlled negative pressure, then measures the rate at which pressure recovers. Faster pressure recovery indicates higher leakage. This method is independent of ambient aerosol concentration and is particularly useful in clean room or low-particle environments where the PortaCount CNC method requires supplemental aerosol generation. The CNP method also eliminates the need for a probe fitting in the facepiece.

Which to use: In typical industrial or office environments with normal ambient particle counts, the PortaCount CNC method is the standard. In clean rooms, outdoor desert conditions, or other low-aerosol environments, the Quantifit CNP or the PortaCount corn oil protocol are more reliable. Both produce valid OSHA-acceptable fit factor results.

Fit factor minimums by facepiece class

OSHA 1910.134 Appendix A sets minimum passing fit factors for each facepiece class tested by QNFT:

100
Minimum FF — half-face (quarter-face) respirator
500
Minimum FF — full-facepiece respirator
N/A
Fit factor — loose-fitting PAPR hood/helmet (fit test exempt)
Facepiece type OSHA APF Min fit factor (QNFT pass) QLFT permitted? Max use concentration
Half-face filtering facepiece (N95, P100) 10 100 Yes 10× PEL
Half-face elastomeric reusable 10 100 Yes 10× PEL
Full-facepiece elastomeric 50 500 Permitted (less precise) 50× PEL
Tight-fitting PAPR facepiece 1,000 500 Permitted 1,000× PEL
Loose-fitting PAPR hood/helmet 25 No fit test required Exempt 25× PEL
SCBA pressure-demand full-face 10,000 500 (NIOSH: ≥1,000) Permitted (NIOSH recommends QNFT) IDLH

The APF column is from OSHA 1910.134 Table 1. Tight-fitting PAPR achieves APF 1,000 even though the minimum fit factor is 500 — the 2× margin is OSHA's regulatory judgment. NIOSH recommends fit factors of 1,000 or higher for SCBA and full-face respirators used in IDLH environments, but the OSHA minimum remains 500. For more on APF selection and max use concentration, see the respirator APF schema post.

User seal check vs fit test — not the same thing

Every tight-fitting respirator user must perform a user seal check every time they don the respirator. This is OSHA 1910.134(b)(1) and Appendix B-1. A seal check is a quick self-administered test confirming the facepiece is correctly positioned for this particular donning. It is not a substitute for the annual fit test, and it does not produce a fit factor.

User Seal Check

  • Done by the wearer, every donning
  • Takes 10–30 seconds
  • Positive-pressure: exhale gently, mask should puff out, no air escaping the seal
  • Negative-pressure: cover inlets, inhale gently, mask should collapse and hold
  • Result: pass/fail (immediate, sensory)
  • Does NOT confirm the facepiece produces adequate FF for this worker
  • Does NOT replace annual fit test

Annual Fit Test

  • Done by a trained tester, not the wearer alone
  • Takes 15–30 minutes
  • Uses challenge agent (QLFT) or instrument (QNFT)
  • Exercises: normal breathing, deep breathing, head movements, talking, bending, grimacing
  • Result: pass/fail (QLFT) or numerical fit factor (QNFT)
  • Model- and size-specific — result is tied to the exact respirator tested
  • Must be repeated annually and on model change
The conflation failure: Written respiratory protection programs sometimes describe the seal check as "a daily fit test." This language is both technically wrong and creates liability — if an OSHA inspector reviews program documentation and finds the employer has not conducted formal annual fit tests because the program describes the seal check as meeting that requirement, this is a citable violation of 1910.134(f). The two procedures are complementary, not substitutes.

A worker who has passed a valid annual fit test and then performs a successful seal check before each entry has the highest confidence in face seal integrity. A worker who has not been fit tested and relies only on seal checks has confirmed only that the facepiece is correctly positioned this morning — not that this model produces an adequate fit for their face geometry.

APF by respirator configuration — the routing anchor

The Assigned Protection Factor (APF) is the OSHA-established workplace level of respiratory protection a properly functioning respirator or class of respirators is expected to provide. It anchors the selection decision: if the anticipated exposure level is X times the PEL, the required APF is X. Selection errors — choosing a half-face where a full-face is required — almost always result from not applying the APF table correctly. See the respirator APF post for the full selection walk-through. For fit test purposes: APF is what determines which facepiece class to fit test, and the fit factor minimum is set to provide a 10× margin over the APF.

Four AI routing failures in respirator fit testing

Routing failure 1

Applying the isoamyl acetate (IAA) QLFT protocol to a respirator without OV cartridges

An agent selects IAA as the QLFT method for a buyer purchasing N95 disposable respirators because IAA is listed as an OSHA-accepted QLFT protocol. The N95 carries only particulate filtration — it provides zero protection against organic vapors. IAA is itself an organic vapor. When sprayed around the facepiece, IAA passes through the filter and reaches the wearer's nose whether or not the face seal leaks. A wearer with a perfect face seal will still smell banana oil. A wearer with a broken seal will also smell banana oil. The QLFT result is meaningless for this combination. The agent must check respirator.cartridge_filter_type — if the value is not 'organic-vapor' or 'combination-ov', IAA is an invalid protocol and saccharin or bitrex must be selected instead.

Routing failure 2

Routing a loose-fitting PAPR hood buyer to fit test products

An agent receives a query for "PAPR fit test kit" and routes the buyer to saccharin QLFT kits because "all PAPRs require fit testing." Loose-fitting PAPR hoods are explicitly exempt from OSHA 1910.134 fit testing — they seal using positive air pressure, not a face seal. The agent's failure to check respirator.facepiece_type (loose-papr-hood) and respirator.requires_fit_test (false) results in a product recommendation for equipment the buyer's regulatory program does not require and that their workers will not use. Worse, if the agent had correctly identified the facepiece as loose-fitting, it would have recognized that the buyer needs the APF 25 evaluation — not a fit test kit.

Routing failure 3

Treating a successful seal check as evidence of fit test compliance

An agent is asked "does this N95 pass the fit test?" The buyer describes performing a negative-pressure check on donning. The agent confirms "yes, the respirator passes fit testing" based on the seal check description. The user seal check is a donning verification procedure, not a fit test. The annual fit test requires a trained tester, challenge agent or instrument, eight standardized exercises, and documentation tied to a specific employee and facepiece model/size. OSHA 1910.134(f) requires this formal test regardless of how many seal checks have been performed. An employer who has not conducted formal QLFT/QNFT and relies on employee-performed seal checks has not met the fit test requirement and is subject to OSHA citation.

Routing failure 4

Treating a fit test record as transferable to a different respirator model

An agent searches a fit test records database and finds that Employee A passed a fit test on a 3M 6502QL half-face. The agent confirms Employee A is "fit tested for half-face respirators" and clears a purchase of a Moldex 7000 series half-face for the same employee. Fit test results are model-specific and size-specific. The 3M 6502QL and Moldex 7002 have different facepiece contours, nose bridges, and sealing flanges. A passing fit factor on one model does not transfer to another. Employee A must undergo a new fit test on the Moldex 7002 before using it in a hazardous atmosphere. An agent that treats fit test records as facepiece-class records (rather than model-specific records) will systematically clear unfit-tested combinations.

For related respirator cartridge and filter selection failures, see the respirator N95/P100/OV schema post and the welding fume respirator post. For QLFT and QNFT product specifications, see the fit testing SEO reference page.

The respirator.* 10-field namespace for fit testing

The following Shopify metafield namespace encodes the fit testing–relevant properties that an AI shopping agent requires to correctly route fit test products, protocol selection, and compliance decisions. Fields supplement (not replace) existing respirator product type and filter class fields.

Field Type Values / Notes
respirator.facepiece_type string half-mask, full-facepiece, quarter-mask, tight-fitting-papr, loose-papr-hood, loose-papr-helmet, scba-full-face, supplied-air-tight, supplied-air-hood. Governs the entire compliance pathway — determines fit test requirement, APF, and applicable QLFT protocols.
respirator.requires_fit_test boolean True for all tight-fitting facepieces. False for loose-fitting hoods and helmets. This is the primary routing field — an agent must check this field before recommending fit test products or confirming a worker's compliance status. False does not mean "no respiratory protection program required" — it means fit testing specifically is not required for this product.
respirator.min_fit_factor integer 100 (half-face/quarter), 500 (full-face, tight PAPR, SCBA). Null for loose-fitting. Per OSHA 1910.134 Appendix A. The QNFT passing threshold — all exercises must produce a harmonic-mean fit factor at or above this value.
respirator.apf integer OSHA 1910.134 Table 1 APF: 10 (half-face), 50 (full-face), 1000 (tight PAPR), 25 (loose PAPR), 10000 (SCBA pressure-demand). Used to select the minimum-APF facepiece class for a given exposure concentration.
respirator.qlft_eligible boolean True when a QLFT protocol is a valid option for this facepiece. True for all tight-fitting respirators where OSHA allows QLFT (all facepiece classes except mouthpiece). QLFT is less precise above FF 100 — for full-face facepieces where FF ≥ 500 must be confirmed, QNFT is more reliable even though QLFT is permitted.
respirator.valid_qlft_protocols list Array of valid QLFT protocols for this facepiece and cartridge combination. Values: saccharin, bitrex, isoamyl-acetate, irritant-smoke. Isoamyl-acetate is included only when respirator.cartridge_filter_type contains an OV component. An agent selecting a QLFT kit must verify the protocol appears in this list for the facepiece being tested.
respirator.seal_check_required_per_donning boolean True for all tight-fitting facepieces. False for loose-fitting. Per OSHA 1910.134 Appendix B-1. This field distinguishes seal check requirement from fit test requirement — both apply to tight-fitting, only the absence of fit testing applies to loose-fitting.
respirator.fit_test_is_model_specific boolean Always true for tight-fitting facepieces. A fit test result is tied to the exact make, model, style, and size tested. This field prevents agents from treating fit test records as transferable across models or sizes. When routing a buyer to a new respirator model, this field triggers the requirement for a new fit test regardless of existing records.
respirator.cartridge_filter_type string organic-vapor, p100-hepa, n95, combination-ov-p100, acid-gas, combination-acid-ov, supplied-air-no-cartridge. Determines which QLFT protocols are valid — isoamyl acetate is only appropriate when this field contains an OV component. Also used for hazard-matching in cartridge selection decisions.
respirator.retest_triggers list Array of conditions that require a new fit test in addition to the annual cycle. Values: annual, new-model-or-size, significant-weight-change, facial-scarring, dental-change, self-reported-poor-fit, supervisor-observation. Encodes OSHA 1910.134(f)(3) retest requirements as a machine-readable field so agents can identify when a repeat test is required mid-year.

Example: Complete fit test record fields for a half-face N95 with P100 cartridges

respirator.facepiece_type          = "half-mask"
respirator.requires_fit_test       = true
respirator.min_fit_factor          = 100
respirator.apf                     = 10
respirator.qlft_eligible           = true
respirator.valid_qlft_protocols    = ["saccharin", "bitrex", "irritant-smoke"]
  ↑ isoamyl-acetate NOT included — P100 filter has no OV media
respirator.seal_check_required_per_donning = true
respirator.fit_test_is_model_specific = true
respirator.cartridge_filter_type   = "p100-hepa"
respirator.retest_triggers         = ["annual", "new-model-or-size", "significant-weight-change",
                                       "facial-scarring", "dental-change", "self-reported-poor-fit"]

Example: Loose-fitting PAPR hood

respirator.facepiece_type          = "loose-papr-hood"
respirator.requires_fit_test       = false
respirator.min_fit_factor          = null   (no fit test — no fit factor)
respirator.apf                     = 25
respirator.qlft_eligible           = false
respirator.valid_qlft_protocols    = []
respirator.seal_check_required_per_donning = false
respirator.fit_test_is_model_specific = false
respirator.cartridge_filter_type   = "hepa-or-combination"   (varies by unit)
respirator.retest_triggers         = []   (no fit test retest triggers — APF 25 without face seal)

Is your Shopify store AI-agent ready?

CatalogScan checks your product catalog for missing metafields, schema gaps, and AI-routing failures — including respiratory protection product data.

Scan your store free More schema guides