Each packet is a synthetic data record with a sensitivity class and a destination jurisdiction. It streams left→right through four sequential regulatory gates in the pipeline panel, each with its own real-world logic:
Gate 1 · GDPR/CCPA — consent + cross-border adequacy
adequate dest: p_pass ≈ 0.97 − 0.2·risk
non-adequate dest: p_pass = clamp(consent/100 − 0.5·risk, 0, 1)
Gate 2 · NIS2 — network hardening / encryption in transit
p_pass = clamp(hardening/100 − 0.3·risk, 0, 1)
Gate 3 · DORA — operational resilience under load
p_pass = clamp(resilience/100 − 0.6·load − 0.15·risk, 0, 1)
Gate 4 · PCI DSS — card-data tokenization (payment packets only)
p_pass = tokenization ? 0.98 : 0.25
A gate is passed by sampling a Bernoulli trial with the probability above (risk = the packet's sensitivity weight, load = the live DORA stress-test load factor). A failed gate drops the packet into the incident pool at the bottom, where a ring shows its progress toward NIS2's 72-hour breach-notification deadline:
posture = mean(consent, hardening, resilience) / 100
containHours = clamp(96 − 72·posture·(1 − 0.3·load), 18, 96)
If containHours stays under 72 the incident closes "on time" (ring turns green before it fills); a stronger overall posture — higher sliders, no active stress load — reliably keeps containment under the legal deadline. Running the DORA stress test spikes the load factor for a few seconds, showing how resilience capacity, not just the resilience slider's steady-state value, determines whether critical infrastructure keeps meeting its notification duty under real incident pressure. The top strip charts the rolling compliance rate over time, so slider changes show up as a visible bend in the line, not just a number.