## VIGILE 2026-06-10 β€” TLS DB + provenance (leggere a inizio sessione) **Suite-wide (AgileHub/VIGILE)**: migrazione TLS-in-transito dei DB **per-utente** (`ALTER USER ... REQUIRE SSL`, MAI global `require_secure_transport`). **Finding PHP**: PDO/mysqlnd **NON cifra senza CA file** β†’ servono `PDO::MYSQL_ATTR_SSL_CA => ''` + `PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false` (il CA = `/var/lib/mysql/ca.pem` del proprio MySQL, distribuito al container). Node invece basta `ssl:{rejectUnauthorized:false}`. Doc autoritativo: `agile-services/docs/ANALISI_TLS_DB_STRUTTURALE_E_CENSIMENTO_2026_06_10.md`. **QUESTO PRODOTTO β€” stato/azione**: DA FARE (pre-equip PHP-CA): nis2_user. Coordinare con VIGILE per enforce; il CA file e obbligatorio (non basta un flag). **Inoltre (tutti i prodotti)**: ogni segnalazione/feedback deve portare la **release del prodotto** (`source_product_version`, standard version-provenance). ## πŸ”΄ PRIORITΓ€ β€” ogni segnalazione deve catturare versione+superficie (std `feedback-version-provenance` v1.0) **Regola (hub_standards id=30):** ogni segnalazione/feedback DEVE portare e salvare **`surface`** (`web-v1`|`web-v2`|`android`|`ios`) + **`product_version`** (la **release REALE del prodotto**, NON la versione del widget) + **`build`**. Motivo: gap reale (ALLTAX #80, Romeo ha dovuto scrivere "2.9.2" a mano). **È additivo e non rompe nulla** (chi non lo manda funziona come prima), ma va adottato presto cosΓ¬ ogni ticket dice subito "che release avevi". **Lato AgileHub Γ¨ GIΓ€ pronto:** il widget servito legge `data-app-version`/`data-app-build`/`data-surface`; il gateway external/v1 e ticket-ms salvano `source_product_version`/`source_surface`/`source_widget_*`. **Da fare lato prodotto:** 1. **Widget tag**: aggiungere `data-app-version=""` + `data-surface="web-v1|web-v2"` (+ `data-app-build`). Es: `