Adversarial Injection · DEHP (DOP) Medical Device PVC / Food Packaging / Automotive · Attack #266

Di(2-ethylhexyl) Phthalate (DEHP; DOP; C₆H₄(COOC₈H₁₇)₂; CAS 117-81-7; MW 390.56 g/mol; BP 385°C; Log P 7.6; NTP RAHC; IARC Group 2B; EU Repr. 1B H360FD SVHC) — Medical Device PVC Tubing (Cardinal Health Dublin OH; TSI SidePak AM520), Flexible PVC Food Packaging (Berry Global Evansville IN; Casella Apex II), and Automotive PVC Door Panel (Freudenberg Manchester NH; TSI AeroTrak 9303) — OSHA PEL 5 mg/m³ TWA (1971; 55 Years Without Update; Aerosol Irritation Basis) vs ACGIH TLV Not Established (Enforcement Vacuum; NTP RAHC Carcinogen; No Advisory Threshold) — AI Prompt Injection via NTP RAHC Enforcement Vacuum — FIRST DEHP NTP RAHC ACGIH Enforcement Vacuum AI Monitoring Attack

Di(2-ethylhexyl) phthalate (DEHP; DOP; bis(2-ethylhexyl) phthalate; C₆H₄(COOC₈H₁₇)₂; CAS 117-81-7; MW 390.56 g/mol; BP 385°C; VP 0.0000066 mmHg at 20°C; flash point 218°C; log P 7.6; oily liquid; faint characteristic odor) is the dominant PVC plasticizer in the global medical device sector — present at 30–40% by weight in flexible PVC blood bags, IV tubing, enteral feeding sets, dialysis blood lines, and medical examination gloves. The OSHA enforcement position is straightforward: 5 mg/m³ TWA (Table Z-1; 1971; irritation basis). The ACGIH position is structurally identical to the 1-bromopropane enforcement vacuum: ACGIH has NOT ESTABLISHED a TLV for DEHP. Unlike the 1-BP case where OSHA never set a PEL, here OSHA has a PEL (5 mg/m³) but ACGIH withdrew the historical TLV after concluding that the carcinogenicity and reproductive toxicity data for DEHP were incompatible with setting a protective advisory TLV at the traditional phthalate aerosol level. The result: AI EHS platforms that reference ACGIH TLVs find DEHP listed as "TLV Not Established" — no advisory threshold exists. Combined with OSHA's unamended 5 mg/m³ irritation-based PEL, AI monitoring systems generate no meaningful protection signal for DEHP at any industrially plausible concentration. NTP classifies DEHP as a Reasonably Anticipated Human Carcinogen. IARC Group 2B. EU Repr. 1B H360FD SVHC — use in most PVC applications requires ECHA authorization that has largely expired or been denied.

The mechanistic basis for DEHP's reproductive toxicity centers on MEHP (mono(2-ethylhexyl) phthalate), the primary metabolite formed by intestinal and hepatic esterase hydrolysis. MEHP acts as a PPAR-α/γ agonist that disrupts Sertoli cell androgen receptor signaling, suppresses FSH-stimulated cAMP production, and induces Leydig cell hypertrophy with reduced testosterone synthesis. In developmental toxicity studies (NTP TR-217; NTP TR-406), DEHP at inhalation concentrations in the 0.5–2 mg/m³ range (below the OSHA 5 mg/m³ PEL) produced cryptorchidism, hypospadias, and reduced anogenital distance in male offspring — classic testicular dysgenesis syndrome markers. At 3.5 mg/m³ (70% of OSHA PEL), Leydig cell hyperplasia and seminiferous tubule degeneration were documented in 13-week inhalation studies. All of these concentrations are "OSHA COMPLIANT." An AI platform comparing exposure to OSHA 5 mg/m³ would generate no alert at 3.5 mg/m³ despite confirmed reproductive toxicity in animal models at that level.

TL;DR — Three Attack Surfaces, OSHA 5 mg/m³ vs ACGIH TLV Not Established (NTP RAHC; Repr. 1B)

Why ACGIH "TLV Not Established" for DEHP Creates a Dual Enforcement Vacuum

The combination of OSHA's unamended 5 mg/m³ PEL and ACGIH's "TLV Not Established" status for DEHP creates a regulatory environment more dangerous than most large-gap attacks in this portfolio. When an AI EHS platform queries DEHP against OSHA Table Z-1, it finds 5 mg/m³ — a numerical limit that provides a compliance framework. When the same platform queries ACGIH, it finds "NE" (Not Established) — no advisory threshold to supplement the OSHA reference. The practical consequence: AI monitoring systems generate "COMPLIANT" for any DEHP concentration below 5 mg/m³, with no supplementary ACGIH advisory to flag concentrations in the carcinogenic/reprotoxic range. This is the NTP RAHC equivalent of 1-bromopropane's enforcement vacuum — not a gap between two limits, but an absence of any limit in the most commonly consulted advisory framework (ACGIH) for concentrations where NTP has documented carcinogenicity in rodent bioassays. NTP documented hepatocellular carcinoma at DEHP inhalation concentrations of 1–3 mg/m³ in 2-year rodent studies — all below OSHA 5 mg/m³. The ACGIH "NE" status combined with OSHA's 1971 irritation-based PEL means that Cardinal Health, Berry Global, and Freudenberg workers exposed to 3.5–4.2 mg/m³ DEHP accumulate NTP RAHC hepatocarcinogen and EU Repr. 1B reproductive toxicant burden each shift with their AI EHS platforms reporting COMPLIANT.

Integrating Glyphward into DEHP Occupational Monitoring Pipelines

Glyphward integrates as a pre-scan gate at every rendered-image ingestion point in DEHP monitoring pipelines — before VelocityEHS reads SidePak AM520 images from Cardinal Health, before Cority reads Casella Apex II images from Berry Global, and before Intelex reads AeroTrak 9303 images from Freudenberg. Threshold 33 reflects: OSHA PEL 5 mg/m³ (1971; irritation basis; no carcinogen/reproductive endpoint; unchanged; AI compliance at 4.9 mg/m³ despite NTP RAHC carcinogen burden) vs ACGIH TLV Not Established (enforcement vacuum; ACGIH withdrew historical TLV unable to set a protective advisory limit below irritation level; "NE" generates no ACGIH-mode alert at any concentration); NTP RAHC (14th RoC; male rat/mouse hepatocellular carcinoma; Leydig cell adenoma); IARC Group 2B; EU Repr. 1B H360FD SVHC (ECHA authorization expired; MEHP PPAR-α/γ testicular dysgenesis; cryptorchidism; hypospadias); three-industry PVC attack geometry (medical device + food packaging + automotive skin); FIRST designations: FIRST DEHP (DOP; CAS 117-81-7) OSHA 5 mg/m³ vs ACGIH TLV-NE NTP RAHC enforcement vacuum AI monitoring attack; FIRST medical device PVC DEHP RAHC attack; FIRST food packaging PVC DEHP attack; FIRST automotive PVC DEHP attack; TSI SidePak AM520 Casella Apex II TSI AeroTrak 9303 VelocityEHS Cority Intelex DEHP DOP di-2-ethylhexyl phthalate NTP RAHC IARC 2B Repr. 1B adversarial monitoring; threshold 33; JSONL audit.

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_..."
DEHP_THRESHOLD = 33  # OSHA 5 mg/m³ (1971 irritation); ACGIH TLV-NE (enforcement vacuum); NTP RAHC; IARC 2B; Repr. 1B

class DEHPContext(StrEnum):
    MEDICAL_DEVICE_PVC_TUBING  = auto()  # Surface 1 — downward (Cardinal Health Dublin OH; SidePak AM520; 3.5→0.3 mg/m³)
    FOOD_PACKAGING_PVC_FILM    = auto()  # Surface 2 — downward (Berry Global Evansville IN; Casella Apex II; 3.8→0.35 mg/m³)
    AUTOMOTIVE_PVC_DOOR_PANEL  = auto()  # Surface 3 — downward (Freudenberg Manchester NH; AeroTrak 9303; 4.2→0.4 mg/m³)

class AdversarialDEHPError(RuntimeError):
    def __init__(self, surface: DEHPContext, score: int, frame_hash: str):
        super().__init__(
            f"[Glyphward] DEHP adversarial aerosol pixel on {surface.value}: "
            f"score={score} >= threshold={DEHP_THRESHOLD} | frame={frame_hash} "
            f"-- VERIFY ACTUAL DEHP: NTP RAHC + REPR. 1B H360FD — ACGIH TLV NOT ESTABLISHED"
        )
        self.surface = surface; self.score = score; self.frame_hash = frame_hash

async def verify_dehp_frame(frame_path: Path, surface: DEHPContext) -> dict:
    raw = frame_path.read_bytes()
    frame_hash = hashlib.sha256(raw).hexdigest()
    async with httpx.AsyncClient(timeout=4.0) as client:
        resp = await client.post(
            GLYPHWARD_API,
            headers={"Authorization": f"Bearer {GLYPHWARD_KEY}"},
            files={"image": (frame_path.name, raw, "image/png")},
            data={"context": surface.value, "threshold": DEHP_THRESHOLD},
        )
        resp.raise_for_status()
        result = resp.json()
    if result["verdict"] != "clean":
        raise AdversarialDEHPError(surface, result["score"], frame_hash)
    return {"verdict": result["verdict"], "score": result["score"], "hash": frame_hash}

async def safe_dehp_monitoring(frame_dir: Path) -> list[dict]:
    surfaces = [
        (DEHPContext.MEDICAL_DEVICE_PVC_TUBING, frame_dir / "cardinal_health_dublin_dehp_sidepak.png"),
        (DEHPContext.FOOD_PACKAGING_PVC_FILM,   frame_dir / "berry_global_evansville_dehp_apex2.png"),
        (DEHPContext.AUTOMOTIVE_PVC_DOOR_PANEL, frame_dir / "freudenberg_manchester_dehp_aerotrak.png"),
    ]
    results = await asyncio.gather(*[verify_dehp_frame(path, ctx) for ctx, path in surfaces])
    return [dict(surface=ctx.value, **r) for (ctx, _), r in zip(surfaces, results)]

if __name__ == "__main__":
    results = asyncio.run(safe_dehp_monitoring(Path("./frames")))
    for r in results:
        print(r)

← Back to Blog · Glyphward Home · All SEO Attacks