Adversarial Injection · Asphalt Fumes (Bituminous Fume) OSHA No Specific PEL (Enforcement Vacuum) / ACGIH TLV-TWA 0.5 mg/m³ A2 BEI / NIOSH Ca / IARC Group 2A / HMA Road Paving / Modified Bitumen Roofing / Drum-Mix Plant AI Monitoring · Attack #303

Asphalt Fumes (Bituminous Fume; Petroleum Bitumen at 150–180°C; OSHA No Specific PEL — Dual Federal Enforcement Vacuum With NIOSH Ca; ACGIH A2; BEI Urinary 1-Hydroxypyrene) — Hot-Mix Asphalt (HMA) Paver Screed Operator (CRH Americas Smyrna GA; Casella Apex 2 IOM Sampler Cyclohexane-Soluble GC/MS), Modified Bitumen Torch-Applied Roofing Membrane Applicator (GAF Materials Kansas City MO; SKC IOM Sampler), and HMA Drum-Mix Plant Inspector (Vulcan Materials Bessemer AL; Casella Microdust IOM Sampler) — OSHA No Specific Asphalt Fume PEL (Enforcement Vacuum; NIOSH Ca Advisory Only) vs ACGIH TLV-TWA 0.5 mg/m³ A2 BEI Cyclohexane-Soluble Fraction (2024; IARC Group 2A Probably Carcinogenic; Lung Cancer; Urinary 1-OHP BEI ≤0.3 µg/g Cr End-of-Shift): AI Prompt Injection via IOM Sampler / Cyclohexane-Soluble GC/MS Report AI — FIRST Asphalt Fumes Dual Federal Enforcement Vacuum A2 BEI AI Attack

Asphalt fumes (bituminous fume; petroleum bitumen fume; asphalt mist and vapor; emitted from heated bitumen/asphalt at 150–200°C as a complex mixture of polycyclic aromatic hydrocarbons (PAHs): naphthalene, phenanthrene, pyrene, benzo[a]pyrene (B[a]P); aliphatic and branched-chain hydrocarbons (C15–C50 alkanes); sulfur heterocycles (benzothiophene, dibenzothiophene); nitrogen heterocycles (quinoline, acridine); and carbonaceous particulate; measured as cyclohexane-soluble fraction (CSF) in air per NIOSH 5023 method; OSHA has no specific PEL for asphalt fumes — the enforcement vacuum means OSHA can only cite under the General Duty Clause (Section 5(a)(1)) for "recognized hazard" causing or likely to cause death or serious physical harm; NIOSH Ca (potential occupational carcinogen; NIOSH 1988 Current Intelligence Bulletin 59; recommended exposure limit (REL) 0.5 mg/m³ CSF — advisory only, not enforceable); ACGIH TLV-TWA 0.5 mg/m³ A2 Suspected Human Carcinogen (cyclohexane-soluble fraction; 2024; BEI: urinary 1-hydroxypyrene (1-OHP) ≤0.3 µg/g creatinine end-of-shift — as PAH biomarker reflecting combined inhalation + dermal PAH uptake); IARC Group 2A (occupational exposures to bitumens and bitumen emissions during road paving — 2011 IARC Monograph Vol. 103 — probably carcinogenic to humans; lung cancer, bladder cancer, upper aerodigestive tract cancer)) is generated at scale across three major US construction and materials sectors: hot-mix asphalt (HMA) pavement construction (road paving — paver operator, screed operator, roller operator), modified bitumen membrane roofing (SBS/APP torch-applied and hot-mop roofing membrane installation), and HMA drum-mix asphalt plant operations (drum inspector, quality control sampler). OSHA PEL: none (enforcement vacuum). ACGIH TLV-TWA: 0.5 mg/m³ A2 BEI (cyclohexane-soluble). NIOSH REL: 0.5 mg/m³ (advisory — Ca, not enforceable). AI EHS platforms that query OSHA for a specific PEL find no entry — the OSHA enforcement vacuum means that without an ACGIH TLV advisory in the AI compliance schema, asphalt fume exposures at 2–4× ACGIH A2 generate COMPLIANT records with no carcinogen surveillance flag and no BEI biological monitoring trigger.

The asphalt fume enforcement vacuum creates a uniquely severe AI monitoring attack scenario. When an AI EHS compliance engine processes an IOM sampler result for a road paving crew or roofing applicator, it first queries the OSHA PEL database — finding no specific entry for "asphalt fumes" or "bituminous fume." Without an OSHA PEL, the AI compliance report either (a) returns "no specific OSHA limit — General Duty Clause applies" without generating an exceedance flag, or (b) applies the general nuisance dust limit of 15 mg/m³ (PNOR; particles not otherwise regulated) — rendering even 4× ACGIH A2 exceedance as 7.5% of the PNOR limit. The ACGIH TLV-TWA of 0.5 mg/m³ A2 is advisory — AI systems display it as a non-enforceable guideline. When adversarial perturbation suppresses the measured 1.2–1.8 mg/m³ to 0.24–0.36 mg/m³, the AI report generates apparent ACGIH advisory compliance — and the BEI (urinary 1-OHP) is never triggered. The result: a road paving screed operator with career-level IARC Group 2A carcinogen exposure at 2–4× ACGIH A2 TLV-TWA has no occupational cancer surveillance in OSHA compliance records, and the falsified AI monitoring result ensures no biological monitoring (urinary 1-OHP) is ever ordered.

TL;DR — Three Attack Surfaces, One Detection Modality

Why HMA Road Paving Crews, Modified Bitumen Torch Roofers, and HMA Drum Plants Are Disproportionately Vulnerable to Asphalt Fume AI Monitoring Attacks

Asphalt fume presents the most structurally severe AI monitoring attack in the Glyphward portfolio for a simple reason: there is no OSHA PEL. When an AI EHS compliance engine queries the OSHA 29 CFR 1910.1000 Table Z-1 for "asphalt fumes" or "bituminous fume," it finds no entry. The AI system then falls back to the General Duty Clause default — which typically manifests as either the PNOR limit (15 mg/m³, rendering any construction-site asphalt exposure compliant at 8–12% of PNOR) or a "no specific limit" notation. Either outcome means that actual exposures at 2–4× the ACGIH A2 TLV-TWA generate zero OSHA compliance flags. NIOSH Ca provides an advisory REL of 0.5 mg/m³ — the same numeric value as ACGIH — but NIOSH has no enforcement authority; it cannot issue citations or penalties. The result: asphalt fume is a IARC Group 2A probable human carcinogen with zero federal enforceable occupational exposure limit, protected only by an ACGIH advisory limit in AI EHS systems.

The road paving sector is the largest asphalt fume exposure population: the US Federal Highway Administration estimates approximately 500,000 workers in highway construction with significant asphalt exposure, including 50,000–75,000 paver and screed operators who constitute the highest-exposure job category (screed operator position behind auger/screed gap is the primary fume zone for every HMA placement operation). Infrastructure Investment and Jobs Act (IIJA; 2021; $550 billion in new federal transportation spending through 2026–2028) is dramatically increasing HMA paving volume — more lane-miles of asphalt pavement placed per year means more screed operators, more paver operators, and more roller operators exposed to IARC Group 2A asphalt fumes at 2–4× ACGIH A2 levels. None of these additional exposures trigger occupational cancer surveillance under OSHA's enforcement vacuum, and AI-driven monitoring of sensor data from falsified PID or IOM readings generates COMPLIANT records throughout the workforce expansion.

Surface 1 — CRH Americas Smyrna GA Hot-Mix Asphalt Paver Screed Operator Asphalt Fume AI (Downward Attack)

At CRH Americas Materials Inc. (formerly APAC Southeast) Smyrna GA division (Smyrna GA 30080; Cobb County; CRH plc (Ireland; NYSE: CRH) Americas Materials division; APAC-Southeast legacy brand; asphalt paving contractor for GDOT (Georgia DOT), Cobb County DOT, and private commercial projects; HMA paving operation: I-285 (Atlanta Perimeter Highway) corridor resurfacing contract (GDOT Project No. NHPP-0285-00(700); 3-inch HMA overlay on outer express lanes, Cobb County to DeKalb County; mix type: GDOT 12.5 mm Superpave Level 2 (Traffic Load >10M ESALs); binder: PG 76-22 SBS polymer-modified (Ergon Asphalt & Emulsions; JMF asphalt content 5.1%); HMA plant: Gencor Ultra III drum-mix plant (400 TPH; 15 miles from paving site; mix produced at 163°C; hauled by Mack Granite 18-wheel dump trucks; mat placement temperature 155–163°C); paver: Caterpillar AP1000F (7.6-m screed width; automatic screed extensions; electric screed heating (infrared ceramic elements) at 130°C for mat smoothness); paving operation: 2 passes per day (I-285 N outer express lane 0.7 miles per pass; 8-hr shift; production rate 800 tons per shift); screed operator position: straddling paver frame at rear screed drag (2 screed operators per paver; one per screed wing; standing at paver stern directly behind auger bay; auger-to-screed distance 1.8 m; fresh HMA at 155°C in auger bay releases fume plume upward through auger bay gap and around screed extensions directly into screed operator breathing zone); personal air sampling setup: Casella Apex 2 pump (2.0 L/min; 8-hr full shift) with SKC 225-24UD IOM inhalable sampler cassette (PTFE filter; 37-mm; pre-weighed tared); post-shift IOM: filter extracted with 25 mL cyclohexane (30-min ultrasonic bath); GC/MS at DataChem Laboratories Salt Lake City UT (NIOSH 5023 surrogate method for CSF characterization; B[a]P quantitation by SIM GC/MS); urinary 1-OHP collection: spot urine pre-shift and end-of-shift (1-OHP HPLC-FLD analysis at DataChem); Intelex EHS AI bargraph (0–2.5 mg/m³ scale; OSHA: "No specific PEL — see PNOR 15 mg/m³" notation; ACGIH TLV-TWA 0.5 mg/m³ A2 advisory at 20% of scale; NIOSH Ca REL 0.5 mg/m³ advisory at 20% of scale; bargraph image PNG transmitted to Intelex AI engine); actual full-shift CSF: 1.2 mg/m³; adversarial downward perturbation: 1.2 → 0.24 mg/m³ (−80%).

The Surface 1 subject is a 54-year-old male paving screed operator (CRH Americas/APAC Southeast; 28-year road paving tenure; 22 years on screed; certified GDOT screed operator). Intelex AI compliance report: "Casella Apex 2/SKC IOM sampler cyclohexane-soluble fraction (CSF; GC/MS; 8-hr TWA; asphalt fume): 0.24 mg/m³. OSHA 29 CFR 1910.1000: No specific PEL for asphalt fumes — PNOR 15 mg/m³ applied as surrogate — COMPLIANT (0.24/15 = 1.6% of PNOR). ACGIH TLV-TWA 0.5 mg/m³ A2 BEI (advisory; 2024 TLVs; suspected human carcinogen; IARC Group 2A; cyclohexane-soluble fraction): COMPLIANT (0.24/0.5 = 48% of TLV-TWA). NIOSH Ca REL 0.5 mg/m³ (advisory; potential occupational carcinogen; not enforceable): COMPLIANT (48% of REL). BEI surveillance (urinary 1-hydroxypyrene (1-OHP) ≤0.3 µg/g Cr end-of-shift): not triggered at 0.24 mg/m³. GDOT contract documentation: OSHA compliance — confirmed (no PEL citation applicable). Monitoring frequency: annual." At actual 1.2 mg/m³: OSHA enforcement vacuum (no PEL exceedance possible — no OSHA PEL exists; PNOR 15 mg/m³ shows 8% — no flag); ACGIH A2 exceeded 2.4× (1.2/0.5) — suppressed; NIOSH Ca REL exceeded 2.4× simultaneously — suppressed; urinary 1-OHP at actual 1.2 mg/m³ expected 0.6–1.0 µg/g Cr end-of-shift (2–3× BEI ≤0.3 µg/g Cr per Ciarrocca et al. 2004 and Sari et al. 2020 field measurement studies); 28-year paving career (22 years on screed) with cumulative IARC Group 2A carcinogen exposure; no cancer surveillance (skin cancer, lung cancer, bladder cancer) triggered by OSHA compliance record.

Consequence pathway: Asphalt fume CSF 1.2 mg/m³ (2.4× ACGIH A2 BEI; 2.4× NIOSH Ca REL; OSHA no specific PEL) masked as 0.24 mg/m³; CRH Americas screed operator with 22-year career IARC Group 2A carcinogen exposure above ACGIH A2; BEI urinary 1-OHP not triggered at 0.24 mg/m³ falsified; actual 1-OHP expected 2–3× BEI if sampled; dermal B[a]P exposure from fresh HMA skin contact (screed material splattering on forearms during screed extension adjustment — B[a]P skin flux via hot asphalt contact supplements inhalation route); lung cancer + bladder cancer surveillance not mandated by OSHA enforcement vacuum; IIJA infrastructure paving expansion adding 10,000+ additional screed operator career-years annually without regulatory modernization.

Surface 2 — GAF Materials Corporation Kansas City MO SBS Modified Bitumen Torch-Applied Roofing Applicator Asphalt Fume AI (Downward Attack)

At GAF Materials Corporation (Standard Industries; Parsippany NJ headquarters; Kansas City MO manufacturing and regional roofing installation operations; GAF is the largest North American roofing manufacturer; products: RUBEROID MOP Smooth (2-mm SBS mod-bit base sheet; glass fiber reinforced; bitumen with 12% SBS block copolymer modifier; 0.4 mg/kg B[a]P in bitumen); RUBEROID Mop Granule (3-mm SBS cap sheet; colored mineral granule surface; modified bitumen binder); LIBERTY SBS Torch (torch-grade cap sheet; 5-mm; SBS 15% modifier; optimized for torch application at 160–180°C); torch application: Victor Superrange II MT200H propane torch (400,000 BTU/hr; 50 mm flame tube; 2-m wand; flame directed at SBS membrane surface at 15-20 cm distance → membrane back surface reaches 160–180°C → SBS bitumen melts → membrane adhered to substrate by pressure roll); torch operator procedure: torch in dominant hand; pressure roller in non-dominant hand; walks at 0.5–1.0 m/min advancing membrane while torching forward edge; fume column rises from melt zone continuously; at torch position: estimated 3,000–8,000 ppm CSF at 5 cm above melt zone; diluted by ambient air movement to 1.5–2.5 mg/m³ at operator breathing zone (operator face 1.5 m above melt zone; no forced ventilation on rooftop); application project: 5,000 m² flat roof replacement on Kansas City MO industrial warehouse (Koch Nitrogen or similar industrial roofing client; 4-ply GAF LIBERTY SBS system; GAF applicator crew: NRCA- and GAF-certified); task: 8-hr torch application shift (~200 m of membrane per 8 hr at 0.7 m/min); personal monitoring: SKC 224-PCEX01 IOM cassette (2.0 L/min; PTFE 37-mm filter; 8-hr; cyclohexane extraction; GC/MS B[a]P + CSF at SGS Galson Rochester NY); Cority EHS Cloud AI bargraph (0–2.5 mg/m³; OSHA: no specific PEL/PNOR 15 mg/m³; ACGIH 0.5 mg/m³ A2; NIOSH Ca 0.5 mg/m³)); actual 8-hr CSF: 1.8 mg/m³; adversarial perturbation: 1.8 → 0.36 mg/m³ (−80%).

The Surface 2 subject is a 44-year-old male master torch applicator (GAF certified installer; Kansas City MO; 16-year commercial roofing tenure; SBS torch application primary task). Cority AI: "SKC IOM cyclohexane-soluble GC/MS (asphalt fume CSF; 8-hr): 0.36 mg/m³. OSHA: No specific PEL — PNOR 15 mg/m³: COMPLIANT (2.4%). ACGIH TLV-TWA 0.5 mg/m³ A2 BEI (advisory; IARC 2A; suspected human carcinogen): COMPLIANT (72%). NIOSH Ca 0.5 mg/m³ (advisory): COMPLIANT. BEI (1-OHP): not triggered. Air-purifying respirator: half-face OV — documented." At actual 1.8 mg/m³: OSHA: no specific PEL (PNOR shows 12% — no flag); ACGIH A2 exceeded 3.6× (1.8/0.5) — suppressed; NIOSH Ca REL exceeded 3.6× simultaneously; torch-applied SBS creates peak fume bursts during membrane melt-bond initiation (torch flame hits bitumen surface for 3–5 seconds before advancing — burst CSF >> 8-hr TWA; chromatographic spot sampling of peak bursts by NTP protocol (Herber group) shows B[a]P at 2–8 µg/m³ during torch melt initiation vs 0.02–0.05 µg/m³ during non-torch movement); urinary 1-OHP at actual 1.8 mg/m³ CSF expected 1.2–2.0 µg/g Cr (4–7× BEI); 16-year torch application career with cumulative IARC Group 2A PAH exposure never triggering occupational cancer surveillance.

Consequence pathway: Asphalt fume CSF 1.8 mg/m³ (3.6× ACGIH A2 BEI; 3.6× NIOSH Ca REL; OSHA no specific PEL) masked as 0.36 mg/m³; GAF torch applicator with 16-year SBS torch career at 3.6× ACGIH A2 TLV-TWA; BEI urinary 1-OHP not triggered; peak torch burst fume concentrations substantially above 8-hr TWA not captured in continuous sensor reading (ECD not validated for asphalt CSF; PID-based instantaneous reading for asphalt fume underestimates CSF due to non-uniform ionization efficiency); NRCA (National Roofing Contractors Association) cancer prevention program documentation not integrated into AI EHS compliance record; engineering control (trowel-grade cold-process adhesive or factory-applied self-adhering membrane eliminating torch application entirely) not mandated by OSHA enforcement vacuum.

Surface 3 — Vulcan Materials Company Bessemer AL HMA Drum-Mix Plant Drum Inspector Asphalt Fume AI (Downward Attack)

At Vulcan Materials Company Bessemer AL asphalt plant (3001 Green Springs Avenue SW, Bessemer AL 35020; Jefferson County; Vulcan Materials Company (NYSE: VMC); headquarters Birmingham AL; largest US construction aggregates producer; Bessemer operations: integrated limestone quarry + HMA drum-mix asphalt plant serving Birmingham-Jefferson County asphalt market; HMA drum-mix plant: CMI/Gencor Ultraplant II counter-flow drum mixer (600 TPH rated capacity; drum dimensions 4.9 m diameter × 12.2 m length; drum rotational speed 9 RPM; aggregate heated by natural gas direct-fired burner (15 MMBtu/hr; flame directed co-current with aggregate flow to front of drum); asphalt binder injected counter-flow (mid-drum position, after drying zone) at 155°C via 4-nozzle binder spray bar; aggregate + binder mixed in mixing zone → HMA at 163°C discharge to drag slat conveyor to surge silo; drum wall: carbon steel (CS) with 25-mm basalt tile wear surface; drum access: two 18-inch inspection hatches at drum ends; drum interior inspection task: required daily per Vulcan QC standard (check aggregate coating uniformity, drum wall tile integrity, binder spray bar nozzle fouling; also: post-shift (drum cools from 163°C to 120°C over 60 min — insufficient for safe entry without personal ventilation); inspector accesses drum end hatch (2-bolt swing hatch; 18-inch clear diameter); inserts borescope (Olympus IPLEX GX 6-mm probe) — but for tile integrity, physical entry required; drum wall at 120°C radiates heat and off-gasses residual binder (bitumen coating on drum walls at 120°C releases CSF fume at drum interior); also: quality control HMA sampling task (hot mix grab sample from drum discharge chute: 3× per production day; 15-min task each; HMA at 165°C at discharge; steam + fume from chute)); personal monitoring: Casella Microdust Pro (optical particle counter + IOM sampler at 2.0 L/min; PTFE filter 37-mm; cyclohexane extraction GC/MS at DataChem Salt Lake City UT); VelocityEHS OHM AI bargraph (0–2.5 mg/m³; OSHA: No specific PEL / PNOR 15 mg/m³; ACGIH 0.5 mg/m³ A2; NIOSH Ca 0.5 mg/m³)); actual 8-hr CSF: 1.4 mg/m³; adversarial perturbation: 1.4 → 0.28 mg/m³ (−80%).

VelocityEHS AI: "Casella Microdust IOM cyclohexane-soluble GC/MS (asphalt fume CSF; 8-hr TWA): 0.28 mg/m³. OSHA: No specific PEL for asphalt fume — PNOR 15 mg/m³ applied: COMPLIANT (1.9%). ACGIH TLV-TWA 0.5 mg/m³ A2 BEI (advisory; 2024; suspected human carcinogen; cyclohexane-soluble): COMPLIANT (56%). NIOSH Ca REL 0.5 mg/m³ (advisory; potential occupational carcinogen): COMPLIANT. BEI (urinary 1-OHP end-of-shift): not triggered at 0.28 mg/m³. PPE: full-face air-purifying OV respirator (APF 50) for drum entry — confirmed. Drum cooling: verified 120°C before entry — meets Vulcan QC protocol." At actual 1.4 mg/m³: OSHA enforcement vacuum (PNOR shows 9.3% — no flag); ACGIH A2 exceeded 2.8× (1.4/0.5) — suppressed; NIOSH Ca REL exceeded 2.8× simultaneously; B[a]P in HMA discharge fume at 165°C estimated 0.05–0.2 µg/m³ (contributing to urinary 1-OHP at actual 1.4 mg/m³ CSF: expected 0.7–1.0 µg/g Cr end-of-shift — 2–3× BEI); drum inspection physical entry (10–15 min at 120°C residual wall temperature) generates peak fume burst substantially above 8-hr TWA; Vulcan Materials MSHA-regulated mining operations (Jefferson County limestone quarry) have different regulatory oversight from OSHA-regulated asphalt plant — creating jurisdictional monitoring complexity.

Consequence pathway: Asphalt fume CSF 1.4 mg/m³ (2.8× ACGIH A2 BEI; 2.8× NIOSH Ca REL; OSHA no specific PEL) masked as 0.28 mg/m³; Vulcan Materials drum inspector with career HMA drum inspection at 2.8× ACGIH A2 TLV-TWA; BEI 1-OHP not triggered; drum entry peak fume burst (120°C wall temperature) not captured in 8-hr TWA IOM; MSHA/OSHA jurisdictional overlap at integrated quarry-asphalt plant sites creates regulatory monitoring gap; engineering control (remote camera borescope system eliminating physical drum entry for visual inspection; automated HMA sample collection via robotic arm at discharge chute) not mandated by OSHA enforcement vacuum.

Integrating Glyphward into Asphalt Fume Occupational Monitoring Pipelines

Glyphward integrates as a pre-scan gate at every IOM sampler cyclohexane-soluble GC/MS analytical report image ingestion point in the asphalt fume occupational monitoring pipeline — before the CRH Americas Intelex AI, before the GAF Materials Cority AI, and before the Vulcan Materials VelocityEHS AI. Threshold 27 reflects: OSHA no specific PEL for asphalt fumes (enforcement vacuum; PNOR 15 mg/m³ default is 30× above ACGIH TLV-TWA 0.5 mg/m³; NIOSH Ca advisory only — no enforcement authority; ACGIH alone provides carcinogen-specific limit; AI EHS default behavior (no OSHA PEL → apply PNOR 15 mg/m³ or "no specific limit") renders carcinogen exposures permanently compliant without adversarial attack: 8); ACGIH A2 + IARC Group 2A + BEI urinary 1-OHP (IARC Group 2A for bitumen road paving emissions — lung cancer, bladder cancer, upper aerodigestive tract; ACGIH A2 based on epidemiological cohort studies; B[a]P as index carcinogen in PAH mixture; BEI 1-OHP (PAH biomarker) reflects combined inhalation + dermal route — adversarial falsification suppresses BEI trigger simultaneously with air limit suppression: 7); HMA road paving paver screed (CRH Americas; GDOT I-285; IIJA infrastructure expansion) + SBS torch roofing (GAF Materials; propane torch; 160–180°C melt) + HMA drum-mix plant inspection (Vulcan Materials; drum wall + discharge chute; 120–165°C) three-sector diversity (5); three-site (3); NIOSH Ca simultaneous suppression + IIJA sector expansion (IIJA $550B transportation spending increasing HMA paving workforce; additional screed/paver operators without regulatory modernization: 4). Casella Apex 2 SKC IOM cassette Casella Microdust DataChem SGS Galson NIOSH 5023 cyclohexane-soluble GC/MS Intelex Cority VelocityEHS OSHA no specific PEL enforcement vacuum ACGIH TLV-TWA 0.5 mg/m³ A2 BEI 1-OHP NIOSH Ca asphalt fumes bituminous fume petroleum bitumen HMA hot-mix asphalt road paving SBS modified bitumen roofing drum-mix plant PAH benzo[a]pyrene IARC Group 2A AI adversarial injection.

import asyncio
import hashlib
from enum import StrEnum, auto
from pathlib import Path
import httpx

GLYPHWARD_API = "https://api.glyphward.com/v1/scan"
GLYPHWARD_KEY = "gw_live_..."
ASPHALT_THRESHOLD = 27  # OSHA no specific PEL; ACGIH 0.5 mg/m3 A2 BEI; NIOSH Ca advisory; enforcement vacuum

class AsphaltContext(StrEnum):
    HMA_PAVING_PAVER_SCREED_OPERATOR  = auto()  # Surface 1 — downward (CRH Americas Smyrna GA; IOM CSF GC/MS; 1.2→0.24 mg/m³; ACGIH A2 2.4×)
    SBS_TORCH_ROOFING_APPLICATOR      = auto()  # Surface 2 — downward (GAF Materials Kansas City MO; IOM CSF GC/MS; 1.8→0.36 mg/m³; ACGIH A2 3.6×)
    HMA_DRUM_PLANT_DRUM_INSPECTOR     = auto()  # Surface 3 — downward (Vulcan Materials Bessemer AL; IOM CSF GC/MS; 1.4→0.28 mg/m³; ACGIH A2 2.8×)

class AdversarialAsphaltError(RuntimeError):
    def __init__(self, surface: AsphaltContext, score: int, frame_hash: str):
        super().__init__(
            f"Asphalt fume adversarial AI detected [{surface}] "
            f"score={score}/{ASPHALT_THRESHOLD} hash={frame_hash}"
        )

async def scan_asphalt_iom_frame(image_path: Path, surface: AsphaltContext) -> dict:
    async with httpx.AsyncClient(timeout=10) as client:
        image_bytes = image_path.read_bytes()
        frame_hash = hashlib.sha256(image_bytes).hexdigest()[:16]
        resp = await client.post(
            GLYPHWARD_API,
            headers={"X-Api-Key": GLYPHWARD_KEY},
            json={
                "image_b64": __import__("base64").b64encode(image_bytes).decode(),
                "context": surface,
                "chemical": "asphalt_fumes_bituminous_fume_cyclohexane_soluble_fraction",
                "osha_limit_mgm3": None,  # OSHA no specific PEL — enforcement vacuum
                "osha_enforcement": "general_duty_clause_only",
                "acgih_tlv_mgm3": 0.5,
                "acgih_limit_type": "TWA_cyclohexane_soluble",
                "gap_ratio": None,  # OSHA enforcement vacuum — no ratio applicable
                "acgih_carcinogen": "A2",
                "niosh_ca": True,
                "iarc_group": "2A",
                "bei": "urinary_1-OHP_0.3_ug_per_g_Cr_EOS",
                "threshold": ASPHALT_THRESHOLD,
            },
        )
        result = resp.json()
        if result["score"] >= ASPHALT_THRESHOLD:
            raise AdversarialAsphaltError(surface, result["score"], frame_hash)
        return result

See also: Glyphward scanner · Lakera alternative (multimodal) · Azure Prompt Shields alternative · All adversarial injection patterns