Sicurezza
Sicurezza di Workflow Transactional Email per Shopify Flow: hosting UE su Google Cloud, credenziali e-mail crittografate, dati isolati e aggiornamenti.
Workflow Transactional Email è sviluppata e gestita da Code Creation Labs. Questa pagina illustra la struttura dell’app, dove viene eseguita, come vengono protetti i dati del Suo negozio e come provvediamo a mantenere tutto aggiornato. È destinata ai titolari di negozi e a chiunque debba compilare un questionario sulla sicurezza. Le informazioni relative a ciò che l’app conserva e per quanto tempo sono disponibili su Dati, privacy e sicurezza; gli aspetti legali (informativa sulla privacy, accordo sul trattamento dei dati, sub-responsabili del trattamento) sono disponibili su Note legali e protezione dei dati.
Su quale piattaforma è basata l’app
| Livello | Cosa utilizziamo |
|---|---|
| Codice dell'applicazione | TypeScript su Node.js, una versione attuale con assistenza a lungo termine. Le pagine di amministrazione, l’editor di layout e i servizi che eseguono le fasi di Shopify Flow condividono un unico codice di base. |
| Database e cache | PostgreSQL (Google Cloud SQL) e Redis (Google Cloud Memorystore) |
| Hosting | Container su Google Kubernetes Engine nella regione europe-west1 (Belgio, Unione Europea) di Google Cloud. I database, le cache, l’archiviazione dei file e i log delle applicazioni sono localizzati nella regione. |
| Integrazione con Shopify | Le librerie ufficiali delle app di Shopify, le azioni di Shopify Flow, l’API GraphQL di amministrazione per le autorizzazioni opzionali e i webhook di Shopify |
| Consegna delle e-mail | La casella di posta che si collega: il proprio server SMTP, Microsoft 365 o Google Workspace. Le e-mail di avviso inviate dall’app all’utente passano attraverso Amazon SES a Francoforte. |
| La vetrina online del Suo negozio | Non viene eseguito nulla nel Suo tema né nella checkout. |
Il servizio non utilizza in alcun modo PHP, WordPress, Java o altri ambienti di esecuzione. L’app è presente nell’App Store di Shopify e ha superato la procedura di revisione delle app di Shopify, che verifica il rispetto dei requisiti di Shopify in materia di sicurezza e protezione dei dati dei clienti.
Come vengono protetti i Suoi dati
Durante il trasferimento. Ogni connessione tra il Suo browser, Shopify, il Suo provider di posta elettronica e l’app utilizza il protocollo TLS. Il database e la cache non dispongono di un indirizzo pubblico: sono accessibili solo dall’interno della nostra rete privata.
In stato di archiviazione. Tutti i database e gli archivi di file sono crittografati in stato di archiviazione con chiavi gestite da noi in Google Cloud KMS.
Crittografia a livello di campo. Qualsiasi dato che possa essere utilizzato per l’invio riceve un secondo livello di protezione: nomi utente e password SMTP, token OAuth di Microsoft 365 e Google, i dati riservati da Lei archiviati, il token di accesso Shopify del Suo negozio e gli indirizzi presenti nella Sua lista di cancellazione. Ogni valore viene crittografato individualmente con AES-256-GCM utilizzando una chiave separata in Cloud KMS, con rotazione automatica delle chiavi, e decrittografato in memoria solo nel momento in cui viene eseguita un’azione. Ogni decrittografia di un valore protetto viene registrata in una traccia di accesso interna. I valori segreti vengono oscurati dalla cronologia delle azioni prima che questa venga salvata e non vengono mai restituiti dall’API per sviluppatori né a Sidekick.
Segreti. Le credenziali e le chiavi API del servizio stesso sono conservate in Google Secret Manager e vengono caricate all’avvio del servizio. Non sono presenti né nel codice, né nelle immagini dei container, né nella pipeline di compilazione.
Riduzione al minimo dei dati. L’app viene installata senza alcun accesso ai dati del Suo negozio. I dati dei clienti vengono inviati a un indirizzo e-mail solo perché Lei li trasmette tramite Shopify Flow. Le quattro autorizzazioni facoltative (lettura del file di un metacampo relativo a un ordine o a un cliente, creazione di un codice sconto univoco) vengono richieste al momento, concesse tramite la finestra di dialogo di Shopify e sono revocabili in qualsiasi momento. Vedi Autorizzazioni: quali dati l’app può leggere dal vostro negozio.
Chi può accedere a cosa
- Solo i suoi negozi. Ogni record riporta il negozio a cui appartiene e ogni query è limitata al negozio che è stato autenticato. Un negozio non può mai leggere né modificare i layout, i mittenti, i segreti o la cronologia di un altro negozio.
- Solo richieste verificate. Le pagine all’interno dell’area di amministrazione di Shopify sono autenticate tramite token di sessione Shopify. Le fasi di Shopify Flow e i webhook propri di Shopify vengono verificati tramite la firma HMAC di Shopify prima che venga effettuato qualsiasi trattamento dei dati; inoltre, una fase di Shopify Flow inviata due volte viene eseguita una sola volta.
- Contenuto renderizzato. I layout vengono renderizzati sui nostri server e il risultato viene sottoposto a sanificazione prima dell’invio: script, gestori di eventi, URL “javascript:”, iframe ed elementi dei moduli vengono rimossi, in modo che un valore trasmesso da Shopify Flow non possa trasformarsi in contenuto attivo nella casella di posta di un destinatario.
- Richieste in uscita. Gli URL a cui l’app si connette per conto dell’utente, per l’azione HTTP Request, per gli allegati recuperati da un URL e per i file a cui fa riferimento un metacampo, vengono verificati prima della connessione: gli indirizzi di loopback, link-local, i metadati cloud e gli indirizzi di rete privata vengono rifiutati, anche in caso di reindirizzamento. I reindirizzamenti sono soggetti a un limite massimo e le risposte sono soggette a limiti di dimensione.
- Il nostro team. L'accesso ai sistemi di produzione avviene esclusivamente tramite Google Cloud IAM con account individuali. Gli strumenti di manutenzione interni non sono esposti a Internet.
Come manteniamo aggiornata l’app
- Ogni modifica viene analizzata prima di poter essere distribuita. La pipeline esegue controlli di tipo e linting, test statici di sicurezza delle applicazioni (SAST), rilevamento delle informazioni riservate, analisi delle vulnerabilità delle dipendenze e analisi delle immagini dei container. Il nostro requisito minimo per il rilascio è l’assenza totale di vulnerabilità note nelle dipendenze e nell’immagine.
- Runtime e sistema operativo. L’immagine del container, Node.js sulla base Alpine Linux, viene ricompilata ad ogni rilascio, pertanto le patch relative al runtime e al sistema operativo vengono distribuite in modo continuativo. La piattaforma Kubernetes gestita garantisce che i nodi sottostanti siano sempre aggiornati con le patch.
- Piattaforma Shopify. Monitoriamo le versioni delle API di Shopify e gli avvisi di sicurezza relativi alle librerie delle app di Shopify, applicando tempestivamente gli aggiornamenti. L’app funziona con una versione aggiornata dell’API di amministrazione.
- Verifiche di sicurezza. Effettuiamo a intervalli regolari una verifica interna completa di ogni percorso, tracciato dei dati e query sul database; l’ultima di queste verifiche risale all’ottobre 2026.
- Monitoraggio. La disponibilità viene monitorata 24 ore su 24 e pubblicata sulla nostra statuspage; eventuali errori ci avvisano. I registri operativi vengono archiviati nella stessa regione dell’UE, conservati per un massimo di 30 giorni e non contengono mai credenziali o informazioni riservate.
Conservazione e cancellazione
- La cronologia delle azioni, che registra i dati inviati e costituisce pertanto dati relativi ai clienti, viene cancellata automaticamente dopo 30 giorni.
- La disinstallazione comporta la cancellazione immediata e irreversibile di tutti i dati: layout, mittenti, informazioni riservate, cronologia, elenco delle cancellazioni e file caricati.
- Le richieste obbligatorie relative alla privacy di Shopify (clienti/data_request, clienti/redact e shop/redact) vengono gestite automaticamente entro i termini stabiliti da Shopify, compresa l’iscrizione di un cliente all’elenco di cancellazione.
- La tabella completa dei dati conservati è disponibile su Dati, privacy e sicurezza. I sub-responsabili del trattamento e i tempi di conservazione sono riportati nell’privacy. È possibile richiedere un accordo di trattamento dei dati firmato all’indirizzo workflow-transactional-email.app/dpa.
Segnalazione di un problema di sicurezza
Se ritiene di aver individuato una vulnerabilità o se necessita di compilare un questionario sulla sicurezza, invii un’e-mail all’indirizzo support@codecreationlabs.com. Le segnalazioni relative alla sicurezza vengono esaminate e ricevono una risposta in via prioritaria.
