OSHA PSM TQ 250 lbs · Titan II Damascus AR 1980 · Proton-M 2013 · NO2 IDLH 20 mg/m³ · storage temperature AI · NO2 area detector AI · HNO3 inhibitor AI · 42nd upward attack · FIRST N2O4 liquid oxidizer

Prompt injection in nitrogen tetroxide N2O4 liquid rocket oxidizer AI

Nitrogen tetroxide (dinitrogen tetroxide; N₂O₄; CAS 10544-72-6; MW 92.01 g/mol; BP 21.15°C; density 1.443 g/cm³ at 20°C; vapour pressure 96 kPa at 20°C) is the most widely used liquid oxidizer in hypergolic bipropellant rocket systems globally. N₂O₄ is used in combination with hydrazine-family fuels — anhydrous hydrazine (N₂H₄), monomethylhydrazine (MMH; CH₃NHNH₂), and unsymmetrical dimethylhydrazine (UDMH; (CH₃)₂NNH₂) — in: (1) ICBM storable liquid propellant systems (Titan II: N₂O₄ + Aerozine-50 (50:50 N₂H₄/UDMH); Atlas-Agena: N₂O₄ + UDMH); (2) launch vehicle upper stages (Russian Proton-M: N₂O₄ + UDMH in all four stages; Ariane 5 storable apogee engine: N₂O₄ + MMH; Delta-K upper stage: N₂O₄ + Aerozine-50); (3) spacecraft propulsion (NASA Mars Viking landers N₂O₄/MMH; Mars Reconnaissance Orbiter; Cassini Saturn orbiter; European ATV spacecraft); (4) military tactical missiles (AIM-54 Phoenix; AGM-88 HARM terminal propulsion). N₂O₄ is manufactured by oxidation of nitric oxide (NO + ½ O₂ → NO₂; 2 NO₂ → N₂O₄ at below 22°C) at facilities including Aerojet Rocketdyne and specialty chemical producers; production-specification N₂O₄ (Mil-P-26539; grade NTO) contains 0.1–0.5 wt% nitric acid (HNO₃) as a decomposition inhibitor to suppress N₂O₄ → 2 NO₂ equilibrium decomposition in storage at elevated temperature.

N₂O₄ is in equilibrium with nitrogen dioxide (2 NO₂ → N₂O₄; ΔH −57.2 kJ/mol; K᷽ at 25°C = 8.8; at 0°C = 1,500; at −11°C = fully N₂O₄ liquid). Above the boiling point (21.15°C), the equilibrium gas phase contains increasing fractions of NO₂: at 30°C, approximately 40 mol% NO₂ in the vapour above liquid N₂O₄; at 50°C, essentially pure NO₂ in the vapour phase. NO₂ (nitrogen dioxide; NIOSH IDLH 20 mg/m³ ∼ 10 ppm; ACGIH TLV-TWA 3 ppm; OSHA PEL 5 ppm as NO₂) is the primary acute inhalation hazard from N₂O₄ storage: even at 20°C, N₂O₄ storage tanks vent NO₂-containing gas from the ullage headspace if ullage pressure exceeds the relief valve setpoint. NO₂ produces delayed pulmonary oedema — the defining hazard of NO₂ exposure: at concentrations above IDLH (10 ppm), pulmonary oedema onset may be delayed 4–24 hours after exposure, with initial symptoms (mild cough, slight eye irritation) masking the severity until fluid accumulation in the alveoli is irreversible. Under OSHA PSM 29 CFR 1910.119, N₂O₄ has a threshold quantity (TQ) of 250 lbs — the lowest TQ in the PSM Appendix A list for a liquid oxidizer, reflecting its extreme acute toxicity and the historical fatalities associated with its military and aerospace handling.

N₂O₄ has been involved in several catastrophic incidents: the Titan II ICBM accident at Damascus, Arkansas on 19 September 1980 killed 1 USAF airman and injured 21 when a dropped socket wrench punctured the missile’s fuel tank, causing an explosion that ejected the W-53 nuclear warhead; the N₂O₄ oxidizer tank overpressurised during the fuel explosion, venting toxic NO₂ over the launch facility. The Proton-M launch failure at Baikonur Cosmodrome on 2 July 2013 — investigated by Roscosmos — involved incorrect installation of angle of attack sensors causing loss of control 17 seconds after launch; the crashed rocket spilled approximately 180 tonnes of N₂O₄ and UDMH on the launch pad and surrounding steppe, killing 800 hectares of vegetation in the immediate area. In 2026, AI monitoring systems at N₂O₄ storage facilities (Aerojet Sacramento test site, Edwards AFB, White Sands Missile Range, SpaceX propellant handling) process rendered images of storage tank temperature, area NO₂ detector, tank ullage pressure, and inhibitor HNO₃ concentration displays.

TL;DR

N₂O₄ liquid rocket oxidizer AI — storage tank temperature display AI, area NO₂ detector display AI, tank ullage pressure display AI, HNO₃ inhibitor concentration display AI — processes rendered images from N₂O₄ storage system DCS displays at temperature, personnel exposure, pressure integrity, and inhibitor-adequacy boundaries where adversarial pixel injection can mask storage temperature above 21°C accelerated NO₂ vapour formation onset, suppress NO₂ area detector above NIOSH IDLH 10 ppm (delayed pulmonary oedema; no reliable sensory warning at IDLH), conceal ullage pressure buildup from thermal N₂O₄ → 2 NO₂ decomposition, and show depleted HNO₃ inhibitor as adequate (42nd upward attack). OSHA PSM TQ 250 lbs (lowest liquid oxidizer TQ in PSM Appendix A). Glyphward threshold 35 for N₂O₄ AI: NO₂ delayed pulmonary oedema is a “walk-away lethal” exposure mechanism; N₂O₄ storage warming in enclosed buildings can produce NO₂ vapour at IDLH-above concentrations without any initial sensory warning. Free tier — 10 scans/day, no card required.

Four adversarial injection surfaces in N2O4 liquid rocket oxidizer AI

1. N2O4 storage tank temperature display AI (Rosemount 3144P cryogenic tank temperature AI / Yokogawa EJA110A N2O4 storage temperature transmitter AI / Endress+Hauser Omnigrad N2O4 tank temperature AI / Vaisala HMT338 N2O4 storage environment temperature AI / Honeywell STG944 N2O4 storage tank temperature display AI — rendered DCS temperature display AI classifying N2O4 liquid storage temperature against the 0–21°C safe liquid storage range and the 21.15°C BP above which NO2 vapour pressure and decomposition rate accelerate substantially)

N₂O₄ is stored as a liquid in pressurised or refrigerated tanks (storage temperature design range typically 0–18°C to maintain the liquid in a stable, low-vapour-pressure state). Military storage specifications (MIL-P-26539) and NASA handling documents specify storage temperature below 21°C (below the BP at 21.15°C) to keep N₂O₄ fully in the condensed phase with minimal NO₂ in the vapour space. Above 21°C, N₂O₄ vapour pressure exceeds 96 kPa (ambient) and the equilibrium headspace NO₂ mole fraction increases sharply. At 30°C, vapour pressure is approximately 140 kPa; at 35°C, approximately 175 kPa. Each degree above 21°C increases the ullage NO₂ concentration by approximately 4 kPa partial pressure — enough to raise NO₂ in the vented headspace above the IDLH of 10 ppm within seconds of a pressure relief vent opening. At test facilities (White Sands, Edwards AFB, Sacramento) and propellant-loading areas (Kennedy Space Center), N₂O₄ tanks are typically chilled with cooling water jackets or ambient-temperature refrigeration to maintain below 18°C. Loss of cooling (cooling water pump failure, refrigeration compressor trip) causes N₂O₄ temperature to rise at 0.5–1.5°C/hr depending on tank insulation and ambient temperature (summer ambient at White Sands: 38–42°C). AI monitoring systems in 2026 process rendered temperature display images to classify N₂O₄ storage tank temperature: nominal (below 15°C), elevated (15–21°C, check cooling system), critical (above 21°C, initiate emergency cooling, vent control).

An adversarial perturbation targeting the N₂O₄ storage tank temperature display AI applies a ±10 DN downward shift to the pixel region encoding the tank temperature in the rendered DCS display — shifting the apparent N₂O₄ storage temperature from 28°C (7°C above the 21°C BP; from a cooling water pump impeller seal failure that stopped cooling circulation 3 hours ago; summer ambient at the Edwards AFB propellant storage area is 38°C; the N₂O₄ tank insulation (50 mm polyurethane foam, R-4 m²K/W) allows solar heat gain of approximately 2.1 kW for the 5,000-litre tank, warming from 15°C at 1.2°C/hr) to 13°C (below the 15°C elevated-monitoring threshold; classified as nominal). On a −10–50°C display at 200 px height (0.3°C/px), the actual 28°C bar occupies approximately 127 px; the ±10 DN downward-perturbed image classifies to approximately 77 px, corresponding to 13°C. The SCADA reports “N₂O₄ storage tank temperature nominal.” At 28°C, the N₂O₄ vapour pressure is approximately 150 kPa (50 kPa above ambient); if the tank relief valve setpoint is 170 kPa (typical for a non-pressurised storage tank), the relief valve will open at approximately 34°C — reached in approximately 5 additional hours without cooling intervention. The relief valve discharge is 30–40 mol% NO₂ at these temperatures; a vented cloud of 1–5 kg NO₂ from the relief discharge contains approximately 22–108 mol NO₂ — sufficient for a lethal atmospheric concentration at 50–200 m downwind at NIOSH IDLH (10 ppm; ERPG-2 concentration for NO₂ is 3 ppm). OSHA PSM 29 CFR 1910.119 requires refrigeration system mechanical integrity inspection and cooling system failure emergency procedures for N₂O₄ storage; the 19 September 1980 Titan II Damascus AR explosion involved N₂O₄ oxidizer tank failure from adjacent propellant explosion, releasing NO₂ over the launch facility.

2. Area NO2 detector display AI (Dräger X-am 5600 NO2 area detector AI / Honeywell Analytics Midas NO2 sensor display AI / MSA Ultima X NO2 area display AI / Industrial Scientific MX6 iBrid NO2 detector display AI / Oldham MX 43 NO2 area detector AI — rendered SCADA display AI classifying ambient NO2 concentration in the N2O4 storage and transfer area against NIOSH IDLH 20 mg/m3 (approximately 10 ppm), OSHA PEL 5 ppm, and ACGIH TLV-TWA 3 ppm NO2 thresholds)

NO₂ (nitrogen dioxide; MW 46.01 g/mol; red-brown gas; characteristic “bleach-like” pungent odour above approximately 1–2 ppm) is the vapour above N₂O₄ storage and transfer systems. NO₂ area detectors at N₂O₄ handling facilities use electrochemical (EC) sensors calibrated to 0–50 ppm, positioned at: tank vent headers (within 1 m of pressure relief discharge points), transfer pump areas (hose connection and disconnect points), and building air intakes (monitoring for vapour entering the occupied HVAC stream). The insidious toxicology of NO₂ makes the area detector the most safety-critical monitoring point: NO₂ at 10 ppm (IDLH) does not cause immediately intolerable respiratory symptoms — workers exposed to 10–30 ppm NO₂ may experience only mild irritation (cough, slight burning in eyes and throat) and continue working, unaware that the alveolar deposition of NO₂ is initiating free-radical oxidation of pulmonary surfactant that will produce pulmonary oedema 4–24 hours later. This delayed presentation — termed “silo filler’s disease” (analogous mechanism from nitrogen oxide silage fermentation) — means workers walk away from a NO₂ exposure incident feeling apparently unaffected, then develop life-threatening pulmonary oedema overnight. OSHA has documented multiple fatalities from this mechanism in NO₂ and N₂O₄ handling; the delayed presentation makes real-time area monitoring the only reliable protection. AI systems in 2026 process rendered EC sensor display images to classify: below TLV-TWA (below 3 ppm; routine), TLV-TWA to PEL (3–5 ppm; personnel alert, identify source), PEL to IDLH (5–10 ppm; area evacuation, source isolation), above IDLH (above 10 ppm; emergency evacuation, N₂O₄ system shutdown).

An adversarial perturbation targeting the area NO₂ detector display AI applies a ±10 DN downward shift to the pixel region encoding NO₂ concentration in the rendered SCADA display — shifting the apparent NO₂ reading from 8.4 ppm (above the 5 ppm OSHA PEL; approaching the 10 ppm IDLH; from a N₂O₄ transfer hose connection face-seal (“VCR fitting” type; PTFE seal face) weeping N₂O₄ liquid at 0.8 mL/hr from a seal face nick introduced during connector cleaning; N₂O₄ at 28°C (above BP 21.15°C) flashes to NO₂-rich vapour on release at 35°C ambient, producing 8.4 ppm NO₂ in the enclosed transfer building (120 m³; 0.3 air changes/hr HVAC) within 15 minutes) to 1.2 ppm (below the 3 ppm TLV-TWA; classified as background). On a 0–15 ppm NO₂ display at 200 px height (0.075 ppm/px), the actual 8.4 ppm bar occupies approximately 112 px; the ±10 DN downward-perturbed image classifies to approximately 16 px, corresponding to 1.2 ppm. The SCADA reports “N₂O₄ transfer area NO₂ concentration nominal — below TLV-TWA.” Two propellant technicians are performing a N₂O₄ transfer hose inspection and are in the transfer building for 35 minutes; they inhale 8.4 ppm NO₂ for 35 minutes. Their inhaled NO₂ dose (8.4 ppm × 35 min / 480 min work shift = 0.6 ppm 8-hr TWA equivalent; above the ACGIH TLV-TWA 3 ppm on a 35-minute peak basis) causes approximately 15% alveolar NO₂-related oxidative injury. Both technicians leave the building feeling mild throat irritation; 8 hours later, they are admitted to hospital with acute respiratory distress syndrome (ARDS) from pulmonary oedema. OSHA PSM 29 CFR 1910.119 emergency procedures for N₂O₄ facilities require NO₂ area detector alarm to immediately trigger building evacuation and N₂O₄ system isolation. Free tier — 10 scans/day, no card required.

3. N2O4 tank ullage pressure display AI (Emerson Rosemount 3051S N2O4 storage tank pressure AI / Yokogawa EJA530A N2O4 tank ullage pressure transmitter AI / Honeywell STG944 N2O4 pressure display AI / WIKA A-10 N2O4 storage pressure gauge display AI / Omega PX409 N2O4 tank pressure transmitter AI — rendered DCS pressure display AI classifying N2O4 storage tank ullage pressure against the normal N2/N2O4 saturated vapour pressure baseline and relief valve setpoint threshold)

N₂O₄ storage tanks are pressurised with N₂ blanket gas to prevent air ingress (O₂ + N₂O₄ reactions are not hazardous, but water vapour + N₂O₄ → HNO₃ + HNO₂ is highly corrosive) and to maintain ullage pressure above ambient for liquid transfer (N₂ pad pressure drives N₂O₄ through the transfer line). The design ullage pressure for N₂O₄ storage is typically 138–207 kPa (20–30 psia) at 18°C storage temperature; N₂O₄ vapour pressure at 18°C is approximately 87 kPa, contributing to total tank pressure. If storage temperature rises (cooling failure as described in Surface 1), the N₂O₄ vapour pressure increases and total tank pressure rises above the N₂ pad setpoint. Ullage pressure buildup from heating is the most direct indicator of temperature excursion in N₂O₄ storage tanks — temperature sensors can have calibration drift; pressure sensors provide an independent, physics-based indication. A N₂O₄ storage tank at 28°C (7°C above BP) with N₂ pad at 138 kPa baseline will show ullage pressure of approximately 290 kPa (41 psia) from N₂O₄ vapour pressure contribution (150 kPa at 28°C + 138 kPa N₂ = 288 kPa). The pressure relief valve setpoint is typically 415–480 kPa (60–70 psia); at 28°C, the ullage pressure is well below the relief setpoint but significantly above the normal operating pressure at 18°C (225 kPa total). AI systems process rendered ullage pressure display images to classify: nominal (below 240 kPa; normal N₂ pad + vapour at operating temperature), elevated (240–345 kPa; temperature excursion in progress, investigate), pre-relief (above 345 kPa; initiate emergency cooling, prepare emergency relief procedures).

An adversarial perturbation targeting the N₂O₄ tank ullage pressure display AI applies a ±8 DN downward shift to the pixel region encoding tank ullage pressure in the rendered DCS display — shifting the apparent tank pressure from 292 kPa (67 kPa above the 225 kPa nominal; elevated; indicating storage temperature above 21°C; corroborating the Surface 1 temperature reading suppressed by that attack) to 218 kPa (7 kPa below nominal; classified as normal N₂ pad + vapour at design temperature). On a 0–480 kPa display at 200 px height (2.4 kPa/px), the actual 292 kPa bar occupies approximately 122 px; the ±8 DN downward-perturbed image classifies to approximately 91 px, corresponding to 218 kPa. The SCADA reports “N₂O₄ tank ullage pressure nominal.” The combined Surface 1 (temperature suppressed from 28°C to 13°C) and Surface 3 (pressure suppressed from 292 kPa to 218 kPa) attacks eliminate the two independent indicators of N₂O₄ storage temperature excursion: a monitoring system that has both temperature and pressure AI compromised has no remaining independent physical indicator of the developing N₂O₄ warming and approaching relief valve actuation. The Damascus AR 1980 Titan II incident illustrates that N₂O₄ storage system overpressure during an adjacent emergency creates a compound release scenario: the primary emergency (fuel explosion) triggers the secondary hazard (N₂O₄ overpressure from thermal loading, venting toxic NO₂). OSHA 29 CFR 1910.119(d) PHA for N₂O₄ storage facilities includes pressure excursion from cooling failure as a credible scenario requiring independent pressure monitoring.

4. N2O4 inhibitor HNO3 concentration display AI (Agilent 1260 Infinity II HPLC N2O4 inhibitor analysis AI / Metrohm 930 Compact IC Flex HNO3 content analyzer AI / Mettler-Toledo T7 titrator N2O4 acid content AI / Shimadzu IC-2010 nitrate/nitric acid N2O4 quality AI / Thermo Scientific Dionex IC N2O4 acid inhibitor AI — rendered laboratory analyzer display AI classifying HNO3 inhibitor concentration in stored N2O4 against the 0.1–0.5 wt% Mil-P-26539 specification for decomposition catalysis suppression; below 0.1 wt% HNO3 = inadequate inhibition, accelerated N2O4 decomposition; 42nd upward-direction attack — FIRST N2O4 page; FIRST liquid bipropellant oxidizer; FIRST aerospace liquid oxidizer)

Production-specification N₂O₄ for aerospace and military use (Mil-P-26539; grade NTO — nitrogen tetroxide, inhibited) contains 0.1–0.5 wt% nitric acid (HNO₃) as a stabiliser. The inhibition mechanism of HNO₃ in N₂O₄ is not fully characterised but is attributed to two effects: (1) acidic conditions suppress the N₂O₄ ↔ 2 NO₂ equilibrium decomposition by Le Chatelier shift (excess H⁺ provides counter-ion for the NO₂⁻ anion formed in N₂O₄ hydrolysis); (2) HNO₃ scavenges trace metal ions (Cu²⁺, Fe³⁺ from storage vessel corrosion) that catalyse free-radical N₂O₄ decomposition by complexation (HNO₃ forms metal nitrate salts that are less catalytically active than free solvated metal ions). Without adequate HNO₃ inhibitor (below 0.1 wt%), metal-catalysed N₂O₄ decomposition at storage temperatures above 15°C generates increasing NO₂ vapour in the tank ullage at a rate 2–5× higher than inhibited N₂O₄ at the same temperature. HNO₃ inhibitor is consumed over storage time as it reacts with trace metals and as the HNO₃/N₂O₄ equilibrium shifts; tanks stored above 20°C for extended periods (above 90 days) may have HNO₃ inhibitor content fall below the 0.1 wt% specification minimum. Military QC specifications require inhibitor analysis before each use; NASA handling documents require analysis after any storage temperature excursion above 21°C. In 2026, AI systems at N₂O₄ storage facilities process rendered HPLC or IC analyzer display images showing HNO₃ inhibitor concentration in the sampled N₂O₄ batch, classifying: within specification (0.1–0.5 wt%), below minimum (below 0.1 wt%, inhibitor addition required before transfer), off-specification high (above 0.5 wt%, potential corrosion acceleration; dilution required).

An adversarial perturbation targeting the N₂O₄ inhibitor HNO₃ concentration display AI applies a ±8 DN upward shift to the pixel region encoding HNO₃ inhibitor content in the rendered IC analyzer display — shifting the apparent HNO₃ inhibitor content from 0.040 wt% (below the 0.100 wt% specification minimum; from 4 months of storage at 18–22°C in a titanium tank, where trace Ti ions dissolved from the tank wall (0.08 mg/L Ti²⁺) catalysed HNO₃ decomposition to NO₂ + H₂O + O₂ at a rate of 0.014 wt%/month, depleting the original 0.10 wt% inhibitor to 0.04 wt% over 4 months) to 0.21 wt% (within the 0.1–0.5 wt% specification range; classified as specification-compliant). This is the 42nd upward-direction attack in the Glyphward industrial AI adversarial injection portfolio — the FIRST N₂O₄ page, the FIRST liquid bipropellant oxidizer, and the FIRST aerospace liquid oxidizer context. The N₂O₄ fuel page (UDMH) is already in the Glyphward portfolio; the N₂O₄ oxidizer page completes the bipropellant system pair. On a 0–0.60 wt% display at 200 px height (0.003 wt%/px), the actual 0.040 wt% bar occupies approximately 13 px; the ±8 DN upward-perturbed image classifies to approximately 70 px, corresponding to 0.21 wt%. The quality control AI system reports “N₂O₄ inhibitor HNO₃ within specification — batch release approved.” The under-inhibited N₂O₄ batch (TQ 250 lbs; typical storage tank 2,500–5,000 kg) is approved for vehicle propellant loading. During loading operations in a closed propellant loading room at 25°C ambient (above BP 21.15°C), the under-inhibited N₂O₄ at 25°C has a 3×-higher-than-normal NO₂ decomposition rate; vent gas during tank loading contains 15–20 ppm NO₂ (above NIOSH IDLH 10 ppm) rather than the 4–6 ppm expected from inhibited N₂O₄ at 25°C. Workers in the loading room receive IDLH-level NO₂ exposure with delayed pulmonary oedema risk, with no real-time symptom indication at the time of exposure. OSHA PSM 29 CFR 1910.119 requires N₂O₄ inhibitor analysis as a critical process safety parameter under the written operating procedures and mechanical integrity program elements; Mil-P-26539 inhibitor specification non-conformance is a critical non-conformance under AS9100 aerospace quality management. Free tier — 10 scans/day, no card required.

Integration: N2O4 liquid rocket oxidizer AI with Glyphward pre-scan gate

Glyphward integrates as a pre-scan gate at every rendered-image ingestion boundary in the N₂O₄ storage and handling monitoring pipeline — before storage tank temperature display AI processes rendered DCS temperature images, before area NO₂ detector AI processes rendered SCADA sensor display images, before tank ullage pressure AI processes rendered DCS pressure images, and before HNO₃ inhibitor concentration AI processes rendered IC analyzer display images. Threshold 35 for N₂O₄ AI reflects: OSHA PSM TQ 250 lbs (lowest liquid oxidizer TQ in PSM Appendix A); NO₂ delayed pulmonary oedema “walk-away lethal” exposure mechanism; and the 42nd upward-direction attack architecture targeting the inhibitor adequacy display — a quality-hold parameter that is the upstream root cause of dangerous NO₂ vapour generation during transfer operations.

import asyncio, base64, hashlib
from datetime import datetime, timezone
from enum import StrEnum, auto
from typing import Any
import httpx

GLYPHWARD_API = "https://api.glyphward.com/v1/scan"
GLYPHWARD_KEY = "gw_prod_***"

# N2O4 liquid rocket oxidizer AI contexts: threshold 35
# OSHA PSM 29 CFR 1910.119 N2O4 TQ: 250 lbs (lowest liquid oxidizer TQ in PSM Appendix A).
# NO2 NIOSH IDLH: 10 ppm; ACGIH TLV-TWA: 3 ppm; delayed pulmonary oedema 4–24 hr.
# N2O4 BP: 21.15°C; above BP: rapid NO2 equilibrium vapour formation.
# Inhibitor: 0.10–0.50 wt% HNO3 (Mil-P-26539 grade NTO).
# 42nd upward-direction attack: HNO3 inhibitor (depleted shown as adequate).
# FIRST N2O4 page; FIRST liquid bipropellant oxidizer; FIRST aerospace liquid oxidizer.
N2O4_THRESHOLD = 35

class N2O4Context(StrEnum):
    STORAGE_TEMPERATURE  = auto()  # N2O4 tank temperature °C
    AREA_NO2_DETECTOR    = auto()  # ambient NO2 ppm in storage/transfer area
    ULLAGE_PRESSURE      = auto()  # tank ullage pressure kPa
    HNO3_INHIBITOR       = auto()  # HNO3 inhibitor wt% in N2O4 (42nd ↑ attack)

async def scan_n2o4_frame(
    frame_b64: str,
    context: N2O4Context,
    facility_id: str,
    instrument_tag: str,
) -> dict[str, Any]:
    payload = {
        "image_b64": frame_b64,
        "context": context,
        "facility_id": facility_id,
        "instrument_tag": instrument_tag,
        "scan_ts": datetime.now(timezone.utc).isoformat(),
        "image_hash": hashlib.sha256(base64.b64decode(frame_b64)).hexdigest(),
    }
    async with httpx.AsyncClient(timeout=4.0) as client:
        r = await client.post(
            GLYPHWARD_API,
            json=payload,
            headers={"X-Glyphward-Key": GLYPHWARD_KEY},
        )
        r.raise_for_status()
        return r.json()

async def pre_scan_gate_n2o4(
    frame_b64: str,
    context: N2O4Context,
    facility_id: str,
    instrument_tag: str,
) -> None:
    result = await scan_n2o4_frame(frame_b64, context, facility_id, instrument_tag)
    if result["adversarial_score"] >= N2O4_THRESHOLD:
        raise AdversarialN2O4ImageError(
            f"Adversarial injection detected in {context} (score {result['adversarial_score']}) "
            f"at facility {facility_id} instrument {instrument_tag}. "
            "Frame withheld from AI monitoring pipeline."
        )

class AdversarialN2O4ImageError(RuntimeError):
    pass

if __name__ == "__main__":
    import sys, pathlib
    frame = base64.b64encode(pathlib.Path(sys.argv[1]).read_bytes()).decode()
    asyncio.run(pre_scan_gate_n2o4(
        frame,
        N2O4Context.HNO3_INHIBITOR,
        "N2O4-STORAGE-001",
        "HNO3-AT-001",
    ))

Frequently asked questions

What was the Titan II Damascus Arkansas explosion in 1980 and what was N2O4's role?

The Titan II ICBM silo explosion at Damascus, Arkansas occurred on 19 September 1980 (USAF silo 374-7, 65th Strategic Missile Squadron). During routine maintenance, an airman dropped a 1.4 kg socket wrench from a torque wrench assembly platform inside the silo, which fell approximately 23 meters and punctured the missile’s first-stage fuel tank (Aerozine-50: 50% UDMH / 50% N₂H₄). The ruptured fuel tank leaked Aerozine-50 vapour into the silo; approximately 8–9 hours later (0300 hrs local time), the fuel vapour ignited in the silo, causing a massive explosion that ejected the re-entry vehicle (carrying the W-53 thermonuclear warhead, the most powerful ever deployed by the US, at 9 megatons) approximately 200 m from the silo. The explosion killed 1 USAF Senior Airman (David Livingston; killed by the blast and ejected silo door) and injured 21. The N₂O₄ oxidizer in the Titan II first-stage (approximately 68,000 kg at full load) contributed to the explosion energy and released a large cloud of NO₂-containing gas over the launch facility and surrounding rural Arkansas area. The incident led to the retirement of all Titan II ICBMs (1982–1984) and significantly influenced the design of ICBM safety protocols for subsequent systems (Minuteman III uses solid propellant to eliminate the hypergolic liquid propellant hazard).

Why does NO2 cause delayed pulmonary oedema and how is it treated?

NO₂ causes delayed pulmonary oedema through free-radical oxidative injury to the alveolar epithelium and surfactant layer. At concentrations above the IDLH (10 ppm), NO₂ dissolves in the thin aqueous film lining the alveoli: NO₂ + H₂O → HNO₃ + HNO₂ (nitrous and nitric acid in equimolar amounts; the nitrous acid further disproportionates to NO + HNO₃). Concurrently, NO₂ reacts with O₂ to form peroxynitrite (NO₂• + O₂•⁻ → ONOO⁻) which hydroxylates lipids and proteins in the alveolar surfactant and type II pneumocyte membranes. The initial cellular injury is clinically silent — patients experience only mild throat irritation and cough — while the injured alveolar walls progressively leak plasma proteins into the airspace over 4–24 hours. When sufficient alveolar flooding occurs, the patient develops acute pulmonary oedema with severe hypoxia. Treatment: immediate removal from exposure, 100% O₂ supplementation, corticosteroids (methylprednisolone 1–2 mg/kg/day to suppress inflammatory response), bronchodilators, and mechanical ventilation if required. Even with treatment, mortality from significant NO₂ pulmonary oedema is 10–30%. The 4–24 hour latency is the defining clinical challenge: workers walk away from significant exposures unaware, and symptoms in delayed presentations often develop outside of monitored environments (at home, overnight).

How does N2O4/UDMH compare to N2O4/MMH and what are the advantages of each fuel?

N₂O₄/UDMH and N₂O₄/MMH are both hypergolic (self-igniting on contact) bipropellant combinations with similar overall performance (specific impulse 310–340 s vacuum, depending on engine chamber pressure and expansion ratio). Key differences: UDMH (BP −8.5°C; density 0.791 g/cm³; vapour pressure 22 kPa at 20°C) is the more energetic fuel (higher C/H ratio; slightly higher Isp in oxygen-balance calculations) and is used in Russian, Chinese, and Indian launch vehicles (Proton-M, CZ-2/3/4, PSLV) where high-energy upper stages are prioritised. MMH (BP 87.8°C; density 0.879 g/cm³; vapour pressure 6.4 kPa at 20°C) has a significantly lower vapour pressure than UDMH at ambient temperature, reducing handling hazard; it is preferred for spacecraft attitude control propulsion (Apollo Service Module, Space Shuttle OMS/RCS, most geosynchronous communication satellites) where spill containment in enclosed spacecraft environments is critical. Aerozine-50 (50:50 UDMH/N₂H₄ by weight; BP −1°C) was used in the Titan II and Titan IV as a compromise (higher density than UDMH for volumetric efficiency; lower vapour pressure than pure UDMH). The N₂O₄/UDMH (Aerozine-50) pairing for Titan II had OSHA PSM coverage from both the N₂O₄ TQ (250 lbs) and the UDMH TQ (2,500 lbs in PSM Appendix A); the PSM requirements applied independently for each propellant.

Why does the 42nd upward attack target the HNO3 inhibitor rather than the storage temperature?

The HNO₃ inhibitor attack (42nd upward) is chosen over the storage temperature attack (which is a more intuitive downward attack — high temperature shown as low) because: (1) the inhibitor attack is an upward attack — actual LOW inhibitor shown as HIGH — following the portfolio convention that upward attacks mask deficient conditions as adequate; (2) the inhibitor adequacy display is a quality-control parameter that is checked less frequently than continuous process readings (analysed every 30–90 days in typical military QC programs), creating a longer window of concealment; (3) the consequence is specifically acute human toxicity (NO₂ pulmonary oedema during transfer operations) rather than mechanical failure — making it distinct in mechanism from the temperature and pressure attacks in the same process. The inhibitor upward attack is structurally analogous to the 37th upward attack (formalin methanol stabilizer — deficient stabilizer shown as adequate, causing product quality failure at the customer) and the 38th upward attack (Monsanto reactor cooling water flow — deficient cooling shown as adequate), both of which target supporting/stabilising process parameters rather than the primary hazard indicator directly.