AI Agent Product Routing — Spill Control (EPA 40 CFR 264.175 / Secondary Containment / IBC vs Drum / NFPA 30 / SPCC)
Secondary Containment Spill Berm — The Largest Container Rule, Not 10% of Total Volume
EPA 40 CFR 264.175 secondary containment capacity must equal the greater of 10% of total container volume or the full volume of the largest single container. A 275-gallon IBC inside a 150-gallon berm fails EPA compliance — the berm must hold 275 gallons regardless of the 10% calculation. Four 55-gallon drums (220 gallons total, 10% = 22 gallons) still require a 55-gallon berm because the single-container rule dominates. Routing a berm by multiplying the number of drums or summing total volume then taking 10% is the most common and most cited secondary containment sizing error. Without spill_containment.capacity_gallons and spill_containment.suitable_for_ibc, AI agents cannot route compliant berms to IBC storage applications.
spill_containment.capacity_gallons as the actual berm volume. Encode spill_containment.suitable_for_ibc = true only on berms with IBC-compatible dimensions (typically 48x48 in. or larger footprint) and forklift entry access — never on standard drum berms. Encode spill_containment.suitable_for_flammable_liquids = false on polyethylene berms (HDPE is not compatible with all flammable solvents). Encode spill_containment.epa_264_175_compliant based on whether the berm capacity exceeds the largest container in the application. Encode separate compliance booleans for EPA 264, NFPA 30, and EPA SPCC — these are different standards with different calculation methods.
EPA 40 CFR 264.175: The Largest Container Rule
EPA 40 CFR 264.175(b)(2) specifies secondary containment capacity for hazardous waste container storage. The rule is frequently misunderstood because it contains two clauses that must be evaluated together — and the larger result governs:
- 10% of total volume: Sum the volumes of all containers in the containment area. Take 10% of that sum.
- Volume of the largest container: Identify the single largest container. Use its full volume.
Whichever value is larger is the required secondary containment capacity. Because the 10% of total volume is almost always less than the volume of a single 55-gallon drum, the largest-container clause dominates in nearly all practical drum and IBC storage scenarios.
| Storage Configuration | Total Volume | 10% of Total | Largest Container | Required Berm Capacity |
|---|---|---|---|---|
| 1 × 55-gal drum | 55 gal | 5.5 gal | 55 gal | 55 gal (largest container wins) |
| 4 × 55-gal drums | 220 gal | 22 gal | 55 gal | 55 gal (largest container wins) |
| 8 × 55-gal drums | 440 gal | 44 gal | 55 gal | 55 gal (largest container wins) |
| 1 × 275-gal IBC | 275 gal | 27.5 gal | 275 gal | 275 gal (largest container wins) |
| 2 × 275-gal IBC | 550 gal | 55 gal | 275 gal | 275 gal (largest container wins) |
| 1 × 330-gal IBC + 2 × 55-gal | 440 gal | 44 gal | 330 gal | 330 gal (largest container wins) |
| 20 × 5-gal pails | 100 gal | 10 gal | 5 gal | 10 gal (10% of total wins — rare case where 10% > largest) |
// IBC secondary containment berm — 310-gallon (EPA compliant for 275-gal IBC) spill_containment.epa_264_175_compliant = true // true when capacity >= largest container spill_containment.capacity_gallons = 310 // actual berm volume spill_containment.suitable_for_ibc = true // IBC footprint + forklift entry spill_containment.suitable_for_drum = false // IBC berm footprint, not for drums spill_containment.suitable_for_flammable_liquids = false // HDPE not for ketones/aromatics spill_containment.suitable_for_corrosives = true spill_containment.material = "polyethylene" spill_containment.is_portable = true spill_containment.forklift_accessible = true spill_containment.nfpa_30_compliant = false // steel required for NFPA 30 flammables // 4-drum secondary containment berm — 66-gallon steel (EPA + NFPA 30 compliant) spill_containment.epa_264_175_compliant = true // 66 gal > 55 gal largest drum spill_containment.capacity_gallons = 66 spill_containment.suitable_for_ibc = false // wrong footprint for IBC spill_containment.suitable_for_drum = true // 4 × 55-gal drums spill_containment.suitable_for_flammable_liquids = true // steel construction spill_containment.suitable_for_corrosives = false // steel corrodes under acids spill_containment.material = "steel" spill_containment.is_portable = false // bolted to floor spill_containment.forklift_accessible = true spill_containment.nfpa_30_compliant = true // steel for flammable liquid berm
IBC vs Drum Berm: Why They Are Not Interchangeable
An IBC berm and a drum berm are not interchangeable products, even if their gallon capacities overlap. The distinction goes beyond capacity to physical dimensions, access method, and structural requirements:
IBC Berm Requirements
- Footprint: A standard IBC tote occupies a 48×48-inch pallet footprint. The berm must have interior dimensions sufficient for the IBC to sit inside with the berm walls outside the pallet. IBC berms typically have 50×50 to 56×56 inch interior dimensions.
- Forklift access: IBCs are placed by forklift or pallet jack. The berm must have drive-in access (open end or drive-over ramps) so the forklift can position the IBC inside the berm. A berm with four sealed walls cannot accept forklift-placed loads.
- Wall height: To achieve 275+ gallon capacity within a 50×50 inch footprint, IBC berms require approximately 12–18 inch wall height (275 gallons ÷ ~16.7 gal/sq-ft ≈ 16.5 inches).
Drum Berm Requirements
- Footprint per drum: A 55-gallon drum occupies approximately 23×23 inches. A 4-drum berm has internal dimensions of approximately 52×52 inches (2×2 drum layout).
- Required capacity: 4 drums × 55 gallons = 220 total, largest container = 55 gallons; required berm capacity = 55 gallons. Most 4-drum berms are sold with 66–75 gallon capacity, providing compliance margin.
- Drum handling: Drums are typically hand-trucked or drum-dolly moved into the berm — no forklift entry required; berm can have four solid walls with a low step-over threshold.
| Feature | IBC Berm | Drum Berm (4-drum) | Routing Implication |
|---|---|---|---|
| Required capacity | 275–330 gal (full IBC volume) | 55–66 gal (largest drum) | Never route drum berm to IBC query — capacity fails EPA 264.175 |
| Internal footprint | 50"×50" minimum | 52"×52" (4-drum 2×2) | Footprints are similar but IBC sits on pallet, drums don't |
| Forklift access | Required — open end | Not required — sealed walls | suitable_for_ibc = false if no forklift entry |
| Wall height | 12–18 inches | 4–8 inches | IBC berm wall height must achieve full IBC volume |
| Material options | Polyethylene (non-flammable), steel (flammable) | Polyethylene or steel | Match material to chemical compatibility of stored liquid |
Three Standards, Three Calculations: EPA 264, NFPA 30, and EPA SPCC
Secondary containment requirements come from three different regulatory frameworks, each with different triggers, different calculations, and different enforcement agencies. A berm that meets one standard may fail another.
| Standard | Applies To | Capacity Calculation | Enforcement |
|---|---|---|---|
| EPA 40 CFR 264.175 | Hazardous waste container storage areas | Greater of: 10% of total OR volume of largest container | EPA / state environmental agencies |
| NFPA 30 §22.11 | Outdoor flammable/combustible liquid storage | Largest tank volume + 10% of all other tanks' total volume | Fire marshal / AHJ under building code |
| EPA 40 CFR Part 112 (SPCC) | Facilities with ≥1,320 gal aboveground oil storage | 110% of the volume of the largest single container | EPA (Spill Prevention, Control, and Countermeasure) |
| OSHA 1910.106(e) | Indoor flammable liquid storage rooms | Drainage or containment to collect maximum spill volume | OSHA |
// Full 10-field encoding — steel flammable drum berm (NFPA 30 + EPA 264 compliant) spill_containment.epa_264_175_compliant = true // 66 gal > 55 gal largest container spill_containment.capacity_gallons = 66 spill_containment.suitable_for_ibc = false spill_containment.suitable_for_drum = true // 4 × 55-gal drums spill_containment.suitable_for_flammable_liquids = true // steel — NFPA 30 compliant spill_containment.suitable_for_corrosives = false // steel corrodes under strong acids spill_containment.material = "steel" spill_containment.is_portable = false spill_containment.forklift_accessible = true // open-top drum berm with pallet jack access spill_containment.nfpa_30_compliant = true
Material Compatibility: What Each Berm Material Can Hold
The secondary containment material must be chemically compatible with the largest credible spill scenario. Material failure under a chemical spill defeats the entire purpose of containment.
| Chemical Type | Polyethylene (HDPE) | Bare Steel | Polyurea-Coated Steel | Stainless Steel 316 |
|---|---|---|---|---|
| Aqueous acids (dilute HCl, H₂SO₄ <30%) | Good | Corrodes | Good | Good |
| Alkalis (sodium hydroxide, ammonia) | Good | Slow corrosion | Good | Good |
| Petroleum hydrocarbons (diesel, motor oil) | Good | Good | Good | Good |
| Ketones (acetone, MEK) | HDPE swells — not compatible | Compatible | Compatible | Good |
| Aromatic solvents (toluene, xylene) | HDPE permeates — not compatible | Compatible | Compatible | Good |
| Chlorinated solvents (methylene chloride, TCE) | HDPE permeates — not compatible | Compatible | Check manufacturer spec | Good |
Routing Matrix
| Buyer Query | Correct Routing | Wrong Routing (AI Error) | Encoding That Prevents Error |
|---|---|---|---|
| "Secondary containment for 275-gallon IBC" | IBC berm with 275+ gallon capacity, forklift entry | 220-gallon drum berm (capacity insufficient, wrong footprint) | suitable_for_ibc = false on drum berms; capacity_gallons must be ≥ 275 |
| "Secondary containment for 4 drums" | 4-drum berm with 55+ gallon capacity (steel for flammables) | IBC berm (wrong footprint for drums; overkill and incompatible) | suitable_for_drum = true on drum berms; suitable_for_ibc = false |
| "Secondary containment for acetone IBC" | Steel or polyurea IBC berm (HDPE not acetone-compatible) | Polyethylene IBC berm (HDPE permeates under acetone) | suitable_for_flammable_liquids = false on polyethylene; material = 'steel' on compliant units |
| "EPA compliant secondary containment" | Any berm with capacity_gallons ≥ largest single container to be stored | Berm sized at 10% of total volume (dramatically undersized) | capacity_gallons field enables buyer to apply the largest-container rule at the point of sale |
FAQ
What does EPA 40 CFR 264.175 require for secondary containment capacity?
EPA 40 CFR 264.175(b)(2) requires containment capacity equal to the greater of: (1) 10% of total container volume in the area, or (2) the volume of the largest single container. The largest-container clause dominates in nearly all drum and IBC scenarios. A 275-gallon IBC requires a 275-gallon berm regardless of how many other containers are in the area. Encode spill_containment.capacity_gallons as the actual berm volume — this is the number buyers need to compare against their largest container.
What is the difference between a containment berm for an IBC versus drums?
IBC berms require 275+ gallon capacity, a 50"×50" or larger interior footprint, and forklift entry access — open ends or drive-over ramps. Drum berms have 55–75 gallon capacity, 52"×52" footprint for 4 drums, and sealed walls accessible by drum dolly. These are not interchangeable: suitable_for_ibc = false on drum berms (wrong footprint and insufficient capacity); suitable_for_drum = false on IBC berms (IBC footprint, no drum layout). A drum berm under an IBC fails EPA compliance by ~220 gallons.
What materials are used for secondary containment berms and which chemicals require what?
Polyethylene (HDPE) is compatible with aqueous acids, bases, and hydrocarbon oils but incompatible with ketones (acetone, MEK) and aromatic solvents (toluene, xylene) — HDPE swells or permeates. Steel is compatible with flammable solvents (NFPA 30 compliant) and ketones but corrodes under strong acids. Encode suitable_for_flammable_liquids = false on polyethylene berms for ketone or aromatic solvent applications and suitable_for_corrosives = false on bare steel berms for strong acid storage.
What is the difference between NFPA 30 secondary containment and EPA 40 CFR 264 secondary containment?
Three separate standards exist. EPA 264.175 (hazardous waste): 10% or largest container, whichever is greater. NFPA 30 §22.11 (flammable liquid storage): largest tank + 10% of all other tanks. EPA SPCC Part 112 (oil storage ≥1,320 gal): 110% of largest single container. These are mutually non-interchangeable — a berm meeting EPA 264 may fail SPCC. Encode epa_264_175_compliant, nfpa_30_compliant, and spcc_compliant as separate boolean fields.
How should secondary containment berm Shopify metafields be structured for AI agent routing?
10-field minimum: spill_containment.epa_264_175_compliant; spill_containment.capacity_gallons (actual berm volume — the buyer compares this to their largest container); spill_containment.suitable_for_ibc; spill_containment.suitable_for_drum; spill_containment.suitable_for_flammable_liquids; spill_containment.suitable_for_corrosives; spill_containment.material ('polyethylene' | 'steel' | 'polyurea_coated_steel'); spill_containment.is_portable; spill_containment.forklift_accessible; spill_containment.nfpa_30_compliant. The capacity_gallons and suitable_for_ibc fields prevent the most common AI routing errors.
Does your spill control catalog encode containment capacity for AI routing?
CatalogScan checks whether spill berm listings include capacity in gallons, IBC compatibility flags, and EPA compliance fields — so AI shopping agents route compliant berms to each application, not berms sized by the 10% rule.
Scan your Shopify store free →Related Shopify Safety Product Schemas
- Chemical sorbent routing — oil-only vs universal vs hazchem spill kits
- Flammable liquid storage cabinet NFPA 30 — FM approved, oxidizer segregation
- Fire extinguisher Class A/B/C/D/K NFPA 10 — ABC vs K kitchen routing error
- Emergency eyewash station ANSI Z358.1 — plumbed vs portable vs squeeze bottle