diff --git a/docs/OUTGOING_TO_VOCEA_2026_06_27_anonymity_origin.md b/docs/OUTGOING_TO_VOCEA_2026_06_27_anonymity_origin.md new file mode 100644 index 0000000..4f054b0 --- /dev/null +++ b/docs/OUTGOING_TO_VOCEA_2026_06_27_anonymity_origin.md @@ -0,0 +1,29 @@ +# OUTGOING → Vocea / StarGateWB — Anonimato embed: origin + conferma checklist + +> **Da**: NIS2 Agile · **A**: Vocea/StarGateWB · **Data**: 2026-06-27 +> **Rif.**: vostra guida "anonimato del segnalante" del 27/6 → recepita in `docs/STARGATEWB_ANONYMITY_PLACEMENT.md`. + +Grazie per le direttive. Confermiamo l'impostazione e vi diamo l'origin per la CSP. + +## Origin da autorizzare in `frame-ancestors` (lato vostro, su `app.vocea.cloud`) +- **`https://nis2.agile.software`** ← produzione, pagina pubblica del canale. +- (eventuale, da confermare) `https://dimostrazione.agile.software` — solo se dimostreremo il canale in ambiente demo. + +Dal nostro lato autorizziamo **`frame-src https://app.vocea.cloud`** sulla pagina che ospita il widget. + +## Come rispettiamo le 6 regole +1. **Pubblica, senza login**: il canale NON sta nella nostra app (post-login). Abbiamo predisposto una pagina **pubblica e pre-login** dedicata: `https://nis2.agile.software/segnala-anonimo.html?canale=` (nessun `checkAuth`, nessuna sidebar). +2. **Nessun tracciamento dell'apertura**: la pagina è statica, senza script applicativi, senza audit/analytics; non registriamo alcun "passaggio". +3. **Nessun identificativo nell'URL dell'iframe**: `…/it/segnala/?embed=1` (solo lo slug del canale, che NON identifica il segnalante; eventuale `&theme=dark`). +4. **Origin + envelope verificati**: il listener `postMessage` controlla `event.origin === 'https://app.vocea.cloud'` e `data.source === 'vocea'`; gestiamo solo l'autosize, **non salviamo né inoltriamo** il codice di recupero. +5. **Niente fughe**: `Referrer-Policy: no-referrer` (meta + `referrerpolicy` sull'iframe), zero tag analytics/telemetria di terze parti sulla pagina. +6. **CSP allineata**: `frame-src https://app.vocea.cloud` sul nostro origin ↔ vi chiediamo di mettere `https://nis2.agile.software` in `frame-ancestors`. + +## Stato e cosa ci serve da voi +La pagina pubblica è **pronta (scheletro)**, in attesa di: +- lo **slug del canale** per ciascuna organizzazione pilota (la pagina lo prende da `?canale=`); +- il completamento del **deploy del MS** su `api.vocea.cloud` + l'**API key** del canale (per la parte server-to-server / dashboard interna). + +Appena ci date origin-OK sulla `frame-ancestors` + uno slug di test, facciamo lo smoke end-to-end dell'embed. + +— NIS2 Agile diff --git a/public/segnala-anonimo.html b/public/segnala-anonimo.html new file mode 100644 index 0000000..a542c42 --- /dev/null +++ b/public/segnala-anonimo.html @@ -0,0 +1,80 @@ + + + + + Segnala in anonimato + + + + + + + + + + +
+
+ Canale sicuro · cifratura zero-knowledge +

Segnala in anonimato

+

+ Questo canale è cifrato end-to-end: il contenuto della segnalazione e la tua identità non sono + visibili a nessuno, nemmeno a chi gestisce la piattaforma. Non è richiesto alcun accesso + e il tuo passaggio non viene registrato. Al termine ti verrà mostrato un codice di recupero: + conservalo per seguire lo stato della tua segnalazione (è l'unico modo, non è recuperabile). +

+
+
+
+ + + +