From 397185e245a1387ed4e72db3d46e5011767d9882 Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Sun, 31 May 2026 18:48:00 +0200 Subject: [PATCH] [SEC] Email kill-switch FAIL-SAFE: default OFF sempre (ambiente solo demo) APP_ENV sul container e' 'production' ma l'ambiente contiene SOLO dati demo: nessuna mail deve partire. Cambiato il default di EMAIL_SENDING_ENABLED da "true in production" a "false sempre". Le email partono SOLO con override esplicito EMAIL_SENDING_ENABLED=true. Fail-safe contro invii accidentali. Co-Authored-By: Claude Opus 4.8 --- application/config/config.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/application/config/config.php b/application/config/config.php index 91b9130..6cbbeaa 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -17,14 +17,15 @@ define('APP_URL', Env::get('APP_URL', 'http://localhost:8080')); // ───────────────────────────────────────────────────────────────────────────── // KILL-SWITCH INVIO EMAIL (ambiente con soli dati demo) // ───────────────────────────────────────────────────────────────────────────── -// Quando true, EmailService NON effettua NESSUNA chiamata HTTP al relay: ogni -// invio (incidenti, training, inviti, reminder, OTP portale fornitori, ecc.) -// viene registrato a log e scartato. Difesa contro invii accidentali a indirizzi -// reali finche' l'ambiente contiene solo dati demo. -// DEFAULT: in sviluppo le email sono DISABILITATE (true). In produzione abilitate -// (false) salvo override esplicito EMAIL_SENDING_ENABLED nel .env. +// Quando false (default), EmailService NON effettua NESSUNA chiamata HTTP al relay: +// ogni invio (incidenti, training, inviti, reminder, OTP portale fornitori, ecc.) +// viene registrato a log e scartato. +// FAIL-SAFE: l'invio email e' DISABILITATO di default a prescindere da APP_ENV +// (l'ambiente contiene solo dati DEMO). Le email partono SOLO con override +// esplicito EMAIL_SENDING_ENABLED=true (env/vault). Cosi nessun invio accidentale +// a indirizzi reali finche' non si decide consapevolmente di attivarli. define('EMAIL_SENDING_ENABLED', filter_var( - Env::get('EMAIL_SENDING_ENABLED', APP_ENV === 'production' ? 'true' : 'false'), + Env::get('EMAIL_SENDING_ENABLED', 'false'), FILTER_VALIDATE_BOOLEAN ));