[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 <noreply@anthropic.com>
This commit is contained in:
DevEnv nis2-agile 2026-05-31 18:48:00 +02:00
parent fe77ee8679
commit 397185e245

View File

@ -17,14 +17,15 @@ define('APP_URL', Env::get('APP_URL', 'http://localhost:8080'));
// ───────────────────────────────────────────────────────────────────────────── // ─────────────────────────────────────────────────────────────────────────────
// KILL-SWITCH INVIO EMAIL (ambiente con soli dati demo) // KILL-SWITCH INVIO EMAIL (ambiente con soli dati demo)
// ───────────────────────────────────────────────────────────────────────────── // ─────────────────────────────────────────────────────────────────────────────
// Quando true, EmailService NON effettua NESSUNA chiamata HTTP al relay: ogni // Quando false (default), EmailService NON effettua NESSUNA chiamata HTTP al relay:
// invio (incidenti, training, inviti, reminder, OTP portale fornitori, ecc.) // ogni invio (incidenti, training, inviti, reminder, OTP portale fornitori, ecc.)
// viene registrato a log e scartato. Difesa contro invii accidentali a indirizzi // viene registrato a log e scartato.
// reali finche' l'ambiente contiene solo dati demo. // FAIL-SAFE: l'invio email e' DISABILITATO di default a prescindere da APP_ENV
// DEFAULT: in sviluppo le email sono DISABILITATE (true). In produzione abilitate // (l'ambiente contiene solo dati DEMO). Le email partono SOLO con override
// (false) salvo override esplicito EMAIL_SENDING_ENABLED nel .env. // 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( 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 FILTER_VALIDATE_BOOLEAN
)); ));