Initial commit: sito NexStudio (Astro) con Cloudflare, CMS cookie e contenuti legali
- Home: hero, prodotti, servizi, stack, FAQ, CTA con form contatti inline (glossy) e particelle - Header nero, menu con scroll-spy e alone su voce attiva, CTA Chattiamo (pre-chat) - Pagine: privacy, cookie, GDPR, terms, about, codice etico, modello organizzativo, dove siamo, news - Cookie consent first-party, chat gate, stampe-friendly su SubpageLayout - Footer: Sezioni con Contattaci, Azienda con Dove siamo senza link per ora - .gitignore: aggiunto .wrangler/ per stato locale Cloudflare Made-with: Cursor
This commit is contained in:
32
src/pages/about.astro
Normal file
32
src/pages/about.astro
Normal file
@ -0,0 +1,32 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Chi siamo — NexStudio"
|
||||
description="Chi è NexStudio: missione, team e ambiti Legal Tech e Health Tech."
|
||||
heading="Chi siamo"
|
||||
lead="Un team giovane e dinamico di programmatori dalla Tailandia e dall'Italia, uniti per creare
|
||||
applicazioni ad alta usabilità ed efficienza"
|
||||
>
|
||||
<p>
|
||||
Ci impegnamo nel rendere invisibile la tecnologia. Creiamo software che si fanno carico di processi strutturati
|
||||
e calcoli intricati, sollevando l'utilizzatore da compiti impegnativi, dispersivi e soggetti ad errori.
|
||||
Siamo focalizzati su software SaaS ad alta complessità per settori
|
||||
regolamentati, specificatamente legale e medico, con focus su intelligenza artificiale integrata nei flussi
|
||||
professionali (LexAura, MediAura). Nascondiamo sotto una superficie fluida e intuitiva motori
|
||||
ad alta ingegneria. Abbiamo racchiuso una logica complessa in un’interfaccia essenziale, affinché basti solo
|
||||
premere un tasto dove prima servivano ore di lavoro.
|
||||
</p>
|
||||
<h2>Dove operiamo</h2>
|
||||
<p>
|
||||
Base operativa a Bangkok; collaborazione con clienti a livello internazionale. Dettagli in <a
|
||||
class="text-sky-400/90 hover:text-sky-300"
|
||||
href="/dove-siamo">Dove siamo</a
|
||||
>.
|
||||
</p>
|
||||
<h2>Contatti</h2>
|
||||
<p>
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/#contatti">Vai alla sezione Contatti</a> sulla homepage.
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
494
src/pages/codice-etico.astro
Normal file
494
src/pages/codice-etico.astro
Normal file
@ -0,0 +1,494 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
|
||||
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Codice etico — NexStudio"
|
||||
description="Codice etico definitivo NexStudio: valori, conformità legale e sanitaria, privacy, sicurezza, AI, governance e segnalazioni."
|
||||
heading="Codice etico definitivo"
|
||||
lead="Per NexStudio — sede: Bangkok, Thailandia. Versione 1.0, in vigore dal 21 aprile 2026. Documento interno ed esterno: principi, obblighi e procedure operative per chi collabora con la Società."
|
||||
>
|
||||
<div class="[&_h3]:mt-6 [&_h3]:text-base [&_h3]:font-semibold [&_h3]:text-nx-fg">
|
||||
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||
<span class="font-medium text-nx-fg">Versione</span> 1.0
|
||||
<span class="text-nx-muted/80"> · </span>
|
||||
<span class="font-medium text-nx-fg">Entrata in vigore</span>: 21 aprile 2026
|
||||
</p>
|
||||
|
||||
<h2 id="indice" class="!mt-8">Indice sintetico</h2>
|
||||
<ol class="!mt-3 list-decimal space-y-1.5 pl-5 text-sm leading-relaxed sm:text-base">
|
||||
<li><a class={link} href="#premessa">Premessa</a></li>
|
||||
<li><a class={link} href="#ambito">Ambito di applicazione</a></li>
|
||||
<li><a class={link} href="#valori">Valori e principi fondamentali</a></li>
|
||||
<li>
|
||||
<a class={link} href="#conformita">Conformità normativa specifica (ambito legale e medico)</a>
|
||||
</li>
|
||||
<li><a class={link} href="#tutela-dati">Tutela dei dati personali e dati sensibili</a></li>
|
||||
<li>
|
||||
<a class={link} href="#sicurezza">Sicurezza dell’informazione e resilienza operativa</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class={link} href="#qualita"
|
||||
>Qualità del software, validazione clinica e rischio per gli utenti</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a class={link} href="#proprieta-intellettuale"
|
||||
>Proprietà intellettuale e uso di componenti esterni</a
|
||||
>
|
||||
</li>
|
||||
<li><a class={link} href="#ai-ml">Uso responsabile di AI/ML e automazione</a></li>
|
||||
<li>
|
||||
<a class={link} href="#conflitti">Conflitti di interesse e integrità commerciale</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class={link} href="#linee-operative"
|
||||
>Linee operative: sviluppo, rilascio e gestione vulnerabilità</a
|
||||
>
|
||||
</li>
|
||||
<li><a class={link} href="#governance">Governance, ruoli e responsabilità</a></li>
|
||||
<li>
|
||||
<a class={link} href="#onboarding">Onboarding, formazione e certificazione</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class={link} href="#segnalazioni"
|
||||
>Segnalazioni, protezione del segnalante e investigazioni</a
|
||||
>
|
||||
</li>
|
||||
<li><a class={link} href="#violazioni">Gestione delle violazioni e sanzioni</a></li>
|
||||
<li>
|
||||
<a class={link} href="#monitoraggio">Monitoraggio, audit e miglioramento continuo</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class={link} href="#documentazione">Documentazione obbligatoria e registri</a>
|
||||
</li>
|
||||
<li><a class={link} href="#allegati">Allegati e moduli</a></li>
|
||||
<li><a class={link} href="#approvazione">Approvazione e contatti utili</a></li>
|
||||
</ol>
|
||||
|
||||
<h2 id="premessa">1. Premessa</h2>
|
||||
<p>
|
||||
Questo Codice Etico stabilisce i principi, i doveri e le regole di comportamento che tutti i
|
||||
soggetti coinvolti in <strong>NexStudio</strong> (di seguito «Società») devono osservare nello
|
||||
sviluppo, nella commercializzazione e nella gestione di soluzioni SaaS destinate ai settori
|
||||
legale e medico. Mira a garantire conformità normativa, tutela della privacy, sicurezza,
|
||||
qualità tecnica, protezione dei diritti degli utenti e responsabilità professionale.
|
||||
</p>
|
||||
|
||||
<h2 id="ambito">2. Ambito di applicazione</h2>
|
||||
<p>
|
||||
Si applica a: fondatori, dirigenti, dipendenti (full-time, part-time), collaboratori esterni,
|
||||
consulenti, appaltatori e fornitori. Copre tutte le attività: analisi, progettazione,
|
||||
sviluppo, test, rilascio, manutenzione, supporto, marketing, vendite e ricerca.
|
||||
</p>
|
||||
|
||||
<h2 id="valori">3. Valori e principi fondamentali</h2>
|
||||
<ul>
|
||||
<li>Integrità, onestà e trasparenza.</li>
|
||||
<li>Rispetto della dignità umana, inclusione e non discriminazione.</li>
|
||||
<li>Responsabilità tecnico-professionale e qualità del servizio.</li>
|
||||
<li>Riservatezza e protezione dei dati personali e sensibili.</li>
|
||||
<li>Sicurezza e resilienza operativa.</li>
|
||||
<li>Conformità legale e regolamentare.</li>
|
||||
<li>Miglioramento continuo e accountability.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="conformita">4. Conformità normativa specifica (ambito legale e medico)</h2>
|
||||
<p>La Società osserva, fra gli altri:</p>
|
||||
<ul>
|
||||
<li>Thailand Personal Data Protection Act (PDPA).</li>
|
||||
<li>
|
||||
Regolamento generale sulla protezione dei dati (GDPR), quando applicabile per utenti o
|
||||
servizi nell’Unione europea.
|
||||
</li>
|
||||
<li>
|
||||
Normative sanitarie e standard locali o internazionali pertinenti (ad esempio requisiti
|
||||
nazionali per la gestione dei dati clinici, standard ISO rilevanti).
|
||||
</li>
|
||||
<li>
|
||||
Requisiti normativi per dispositivi medici o software medicale (ad esempio EU MDR,
|
||||
regolamenti locali) se le funzionalità rientrano nella definizione di dispositivo medico.
|
||||
</li>
|
||||
<li>
|
||||
Norme professionali e di segreto professionale per avvocati e operatori sanitari;
|
||||
rispetto di privilegi professionali (<em>attorney–client privilege</em>, segreto medico).
|
||||
</li>
|
||||
<li>
|
||||
Se applicabile per mercati esteri: HIPAA per dati sanitari negli Stati Uniti e normative
|
||||
sull’esportazione di dati o tecnologie.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
La Società effettua DPIA (Data Protection Impact Assessment) per trattamenti ad alto rischio e
|
||||
consulta autorità o <em>regulatory counsel</em> quando necessario.
|
||||
</p>
|
||||
|
||||
<h2 id="tutela-dati">5. Tutela dei dati personali e dati sensibili</h2>
|
||||
<ul>
|
||||
<li><strong>Minimizzazione:</strong> raccogliere solo i dati necessari e pertinenti.</li>
|
||||
<li>
|
||||
<strong>Base giuridica:</strong> documentare la base legale per ogni trattamento (consenso,
|
||||
esecuzione del contratto, obbligo legale, interesse legittimo valutato).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Informativa e consenso:</strong> fornire informative chiare e ottenere consensi
|
||||
quando richiesto; gestire il consenso in modo verificabile.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Classificazione:</strong> definire categorie (PII, dati sanitari, informazioni legali
|
||||
privilegiate) e applicare misure differenziate.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Conservazione e cancellazione:</strong> politiche di retention documentate;
|
||||
anonimizzazione o cancellazione al termine delle finalità.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Trasferimenti internazionali:</strong> valutare basi legali (clausole contrattuali
|
||||
standard, decisioni di adeguatezza, misure tecniche) per trasferimenti fuori dalla
|
||||
Thailandia.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Diritti degli interessati:</strong> procedure per accesso, rettifica, cancellazione,
|
||||
limitazione, portabilità e opposizione, con tempi e log documentati.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Sub-processori:</strong> contratti che impongono misure di sicurezza equivalenti,
|
||||
obblighi di notifica in caso di violazione (<em>breach</em>) e divieti di ulteriori
|
||||
sub-affidamenti non autorizzati.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="sicurezza">6. Sicurezza dell’informazione e resilienza operativa</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Security by design</strong> e <strong>privacy by design:</strong> integrazione di
|
||||
sicurezza e privacy nel ciclo di vita del prodotto.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Controlli di accesso:</strong> principio del privilegio minimo, MFA obbligatorio per
|
||||
accesso a risorse sensibili, gestione centralizzata delle identità.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Crittografia:</strong> cifratura a riposo e in transito con algoritmi aggiornati;
|
||||
gestione sicura delle chiavi.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Logging e monitoraggio:</strong> log immutabili per accessi e operazioni su dati
|
||||
sensibili e ambienti di produzione.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Vulnerability management:</strong> scansioni automatiche, penetration test
|
||||
periodici, processo di patching e programma di responsible disclosure o bug bounty.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Continuità operativa e disaster recovery:</strong> piani testati regolarmente con
|
||||
RTO/RPO definiti.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Gestione incidenti:</strong> playbook documentato (identificazione, containment,
|
||||
eradicazione, recovery, post-mortem), ruoli e tempi di notifica interni ed esterni.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="qualita">7. Qualità del software, validazione clinica e rischio per gli utenti</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Standard di sviluppo:</strong> codice leggibile, test automatici, code review
|
||||
obbligatorie, CI/CD sicuro.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Test e copertura:</strong> definire copertura minima per componenti critici; test di
|
||||
integrazione, performance e sicurezza.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Validazione clinica:</strong> per funzionalità che assistono decisioni cliniche o
|
||||
legali, procedere a validazione con esperti (clinici e legali), studi pilota, documentazione
|
||||
di limitazioni e avvertenze.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Classificazione del rischio:</strong> valutare impatto su salute o diritti e
|
||||
applicare misure di mitigazione proporzionate.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Non sostituzione del professionista:</strong> la piattaforma fornisce supporto e
|
||||
strumenti informativi; non si presenta come sostitutiva di pareri professionali senza
|
||||
esplicita supervisione e avallo professionale.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Registri ed evidenze:</strong> mantenere documentazione di test clinici, valutazioni
|
||||
di rischio e approvazioni regolatorie.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="proprieta-intellettuale">8. Proprietà intellettuale e uso di componenti esterni</h2>
|
||||
<ul>
|
||||
<li>
|
||||
I contributi di dipendenti e consulenti inerenti a software, documentazione e know-how sono
|
||||
di proprietà della Società, salvo diverso accordo scritto.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Open source:</strong> mantenere SBOM (Software Bill of Materials), verificare la
|
||||
compatibilità delle licenze, rispettare obblighi di disclosure e aggiornamento delle patch.
|
||||
</li>
|
||||
<li>
|
||||
Divieto di uso non autorizzato di codice o proprietà intellettuale di terzi; gestione dei
|
||||
rischi di contaminazione IP.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ai-ml">9. Uso responsabile di AI/ML e automazione</h2>
|
||||
<ul>
|
||||
<li>Documentare dataset di training, provenienza, pre-elaborazione e limiti noti.</li>
|
||||
<li>
|
||||
<strong>Bias assessment:</strong> condurre analisi per identificare e mitigare pregiudizi
|
||||
che possano discriminare o causare danni.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Supervisione umana:</strong> per decisioni che influenzano salute, procedimenti
|
||||
legali o diritti fondamentali, prevedere supervisione umana e avvisi chiari sui limiti del
|
||||
sistema.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Explainability e responsabilità:</strong> fornire informazioni comprensibili su
|
||||
come i modelli supportano le decisioni e su prestazioni e affidabilità.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Monitoraggio post-release:</strong> misurare le prestazioni in produzione e
|
||||
correggere drift o comportamenti inattesi.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="conflitti">10. Conflitti di interesse e integrità commerciale</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Dichiarazione obbligatoria di conflitti reali o potenziali (investimenti, relazioni con
|
||||
fornitori o clienti).
|
||||
</li>
|
||||
<li>Politiche anticorruzione e anti-tangenti conformi a leggi nazionali e internazionali.</li>
|
||||
<li>
|
||||
Comunicazioni commerciali veritiere; non ingannare su capacità, approvazioni regolatorie o
|
||||
risultati.
|
||||
</li>
|
||||
<li>
|
||||
Trasparenza contrattuale: SLA, limitazioni di responsabilità e condizioni d’uso chiare e
|
||||
accessibili.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="linee-operative">11. Linee operative: sviluppo, rilascio e gestione vulnerabilità</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Sviluppo:</strong> strategia di branch, code review obbligatoria, merge solo con CI
|
||||
positiva, checklist pre-release (sicurezza, privacy, compliance).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Ambiente di test:</strong> uso di dati sintetici o anonimizzati; accesso a dati
|
||||
reali solo su base minima e autorizzata, in ambienti isolati.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Deployment:</strong> CI/CD standardizzato con piano di rollback e rilasci graduali
|
||||
per funzionalità critiche.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Gestione vulnerabilità:</strong> canale pubblico o privato per segnalazioni (bug
|
||||
bounty o indirizzo dedicato <em>security@</em>), conferma di ricezione entro 72 ore, piano di
|
||||
remediation con tempi stimati.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Patch management:</strong> tempi di rilascio delle patch definiti in base alla
|
||||
severità.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Documentazione di rilascio:</strong> changelog, impatti noti e raccomandazioni
|
||||
operative.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="governance">12. Governance, ruoli e responsabilità</h2>
|
||||
<ul>
|
||||
<li><strong>Board / fondatori:</strong> approvano le politiche, definiscono strategia e risorse.</li>
|
||||
<li><strong>CEO:</strong> responsabilità complessiva di conformità e governance.</li>
|
||||
<li><strong>CTO:</strong> qualità tecnica, architettura e pratiche di sviluppo.</li>
|
||||
<li>
|
||||
<strong>CISO / responsabile sicurezza:</strong> sicurezza operativa, risposta agli incidenti,
|
||||
gestione delle vulnerabilità.
|
||||
</li>
|
||||
<li>
|
||||
<strong>DPO / referente privacy:</strong> conformità PDPA e GDPR, DPIA, gestione richieste
|
||||
degli interessati.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Legal & compliance:</strong> supervisione legale, contratti e valutazioni
|
||||
regolatorie.
|
||||
</li>
|
||||
<li><strong>HR:</strong> formazione, codice di condotta e gestione disciplinare.</li>
|
||||
<li>
|
||||
<strong>Team lead / PM:</strong> applicano le policy operative e garantiscono conformità
|
||||
quotidiana.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Comitato etico (consigliato):</strong> gruppo multidisciplinare per valutare casi
|
||||
complessi (impatti clinici o legali, conflitti), con riunioni periodiche e su richiesta.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="onboarding">13. Onboarding, formazione e certificazione</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Onboarding obbligatorio su: sicurezza informatica, privacy (PDPA e GDPR), gestione dati
|
||||
sensibili, normative mediche e legali rilevanti, uso responsabile dell’AI, pratiche di coding
|
||||
sicuro.
|
||||
</li>
|
||||
<li>Formazione annuale obbligatoria e formazione aggiuntiva per ruoli critici.</li>
|
||||
<li>Registrazione e conservazione dei record di formazione.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="segnalazioni">14. Segnalazioni, protezione del segnalante e investigazioni</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Canali:</strong> almeno un canale confidenziale interno (es. <a
|
||||
class={link}
|
||||
href="mailto:ethics@nexstudio.com">ethics@nexstudio.com</a
|
||||
>), piattaforma anonima esterna o servizio terzo; contatto per escalation indipendente.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Protezione:</strong> divieto di ritorsioni; misure disciplinari per ritorsioni
|
||||
comprovate.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Indagini:</strong> condotte in modo imparziale, documentato e con tempi definiti;
|
||||
comunicazione dei risultati alla persona segnalante e alle parti interessate, nei limiti
|
||||
della riservatezza.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="violazioni">15. Gestione delle violazioni e sanzioni</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Azioni proporzionate alla gravità: formazione correttiva, richiamo, riassegnazione,
|
||||
sospensione, risoluzione del rapporto contrattuale, azioni legali se necessario.
|
||||
</li>
|
||||
<li>Registro delle infrazioni e delle azioni intraprese; diritto di difesa dell’interessato.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="monitoraggio">16. Monitoraggio, audit e miglioramento continuo</h2>
|
||||
<ul>
|
||||
<li>Audit interni ed esterni regolari su sicurezza, privacy, compliance e controllo qualità.</li>
|
||||
<li>
|
||||
<strong>KPI (esempi):</strong> numero di incidenti, tempo medio di remediation, percentuale
|
||||
di copertura dei test, percentuale di formazione completata, tempo medio di risposta alle
|
||||
segnalazioni.
|
||||
</li>
|
||||
<li>
|
||||
Revisione del Codice: almeno annuale o in caso di cambiamenti normativi, tecnologici o di
|
||||
mercato.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="documentazione">17. Documentazione obbligatoria e registri</h2>
|
||||
<p>La Società mantiene e aggiorna, tra l’altro:</p>
|
||||
<ul>
|
||||
<li>registro dei trattamenti e DPIA;</li>
|
||||
<li>SBOM e inventario dei componenti (open source);</li>
|
||||
<li>log di accesso e audit trail;</li>
|
||||
<li>registro incidenti e violazioni dei dati;</li>
|
||||
<li>contratti con fornitori e sub-processori;</li>
|
||||
<li>record di formazione e dichiarazioni di adesione al Codice.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="allegati">18. Allegati e moduli (inclusi)</h2>
|
||||
<ul>
|
||||
<li>Dichiarazione personale di adesione al Codice (da firmare in onboarding).</li>
|
||||
<li>Template NDA e clausole minime per fornitori e sub-processori.</li>
|
||||
<li>Checklist pre-release (security e privacy).</li>
|
||||
<li>Flowchart gestione incidenti e template di notifica.</li>
|
||||
<li>Modello DPIA semplificato ed esempio compilato.</li>
|
||||
<li>Modello informativa privacy e modulo consenso per utenti o pazienti.</li>
|
||||
<li>Template SBOM.</li>
|
||||
<li>Policy di retention dei dati (tempi e giustificazioni).</li>
|
||||
<li>Template per valutazione d’impatto AI/ML.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="approvazione">19. Approvazione e contatti utili</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Approvato da:</strong> organo competente / amministratore delegato (nome e cognome
|
||||
alla firma).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Responsabile aggiornamenti:</strong> Legal & compliance, con supporto di DPO
|
||||
e CISO.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Revisione:</strong> minimo annuale o a fronte di mutamenti rilevanti.
|
||||
</li>
|
||||
</ul>
|
||||
<p class="font-medium text-nx-fg">Contatti</p>
|
||||
<ul>
|
||||
<li>
|
||||
DPO / referente privacy: <a class={link} href="mailto:privacy@nexstudio.com"
|
||||
>privacy@nexstudio.com</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
Security / incident response: <a class={link} href="mailto:security@nexstudio.com"
|
||||
>security@nexstudio.com</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
Segnalazioni confidenziali: <a class={link} href="mailto:ethics@nexstudio.com"
|
||||
>ethics@nexstudio.com</a
|
||||
>
|
||||
(o link a piattaforma anonima dedicata)
|
||||
</li>
|
||||
<li>
|
||||
Legal: <a class={link} href="mailto:legal@nexstudio.com">legal@nexstudio.com</a>
|
||||
</li>
|
||||
<li>HR: <a class={link} href="mailto:hr@nexstudio.com">hr@nexstudio.com</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="clausola-adesione">Clausola finale di adesione (da firmare in onboarding)</h2>
|
||||
<p>
|
||||
Dichiaro di aver letto e compreso il Codice Etico di <strong>NexStudio</strong> e mi impegno a
|
||||
rispettarne i principi e le procedure. Mi impegno inoltre a segnalare, in buona fede, eventuali
|
||||
violazioni di cui dovessi venire a conoscenza.
|
||||
</p>
|
||||
<p class="mt-4 text-nx-fg">
|
||||
Firma: <span class="inline-block min-w-[12rem] border-b border-nx-border"> </span>
|
||||
<span class="mx-3 text-nx-muted">·</span>
|
||||
Data: <span class="inline-block min-w-[6rem] border-b border-nx-border"> </span>
|
||||
</p>
|
||||
|
||||
<h2 id="note-pratiche">Note pratiche e prossimi passi consigliati</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Personalizzare il documento con il nome ufficiale della società (se diverso dal marchio
|
||||
operativo), firme e riferimenti legali locali a Bangkok.
|
||||
</li>
|
||||
<li>
|
||||
Allegare i template elencati come documenti separati e implementare i canali tecnici per
|
||||
segnalazioni e bug bounty.
|
||||
</li>
|
||||
<li>
|
||||
Predisporre un piano di formazione di 90 giorni per l’onboarding e formazione ricorrente
|
||||
annuale.
|
||||
</li>
|
||||
<li>
|
||||
Eseguire DPIA per i trattamenti sanitari e legali critici e verificare se parti del prodotto
|
||||
rientrano nella definizione di dispositivo medico ai fini di registrazione o approvazione
|
||||
normativa.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Collegamenti</h2>
|
||||
<p>
|
||||
<a class={link} href="/modello-organizzativo">Modello organizzativo</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="/about">Chi siamo</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="#indice">Torna all’indice</a>
|
||||
</p>
|
||||
</div>
|
||||
</SubpageLayout>
|
||||
472
src/pages/cookies.astro
Normal file
472
src/pages/cookies.astro
Normal file
@ -0,0 +1,472 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
import { cookieConsentMeta, cookieCategories } from '../data/cookie-consent';
|
||||
|
||||
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||
const tbl = 'mt-4 w-full border-collapse text-left text-sm';
|
||||
const th = 'border border-nx-border bg-nx-surface/60 px-3 py-2 font-semibold text-nx-fg';
|
||||
const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Cookie Policy — NexStudio"
|
||||
description="Cookie Policy NexStudio: categorie, base giuridica, consenso, terze parti, diritti e contatti. Sede Bangkok."
|
||||
heading="Cookie Policy"
|
||||
lead="Per NexStudio — sede: Bangkok, Thailandia. Versione documento 1.0, in vigore dal 21 aprile 2026. Integra l’uso del modulo di consenso first-party descritto sotto; per il trattamento dei dati personali vedi l’Informativa privacy."
|
||||
>
|
||||
<div class="[&_h3]:mt-6 [&_h3]:text-base [&_h3]:font-semibold [&_h3]:text-nx-fg">
|
||||
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||
<span class="font-medium text-nx-fg">Versione</span> 1.0
|
||||
<span class="text-nx-muted/80"> · </span>
|
||||
<span class="font-medium text-nx-fg">In vigore dal</span> 21 aprile 2026
|
||||
<span class="text-nx-muted/80"> · </span>
|
||||
<span class="font-medium text-nx-fg">Versione tecnica consenso</span>{' '}
|
||||
<code class="rounded bg-nx-elevated px-1.5 py-0.5 font-mono text-xs text-sky-300/90"
|
||||
>v{cookieConsentMeta.policyVersion}</code
|
||||
>
|
||||
</p>
|
||||
|
||||
<h2 id="indice" class="!mt-8">Indice</h2>
|
||||
<ol class="!mt-3 list-decimal space-y-1.5 pl-5 text-sm leading-relaxed sm:text-base">
|
||||
<li><a class={link} href="#premessa">Premessa</a></li>
|
||||
<li><a class={link} href="#definizioni">Definizioni</a></li>
|
||||
<li><a class={link} href="#finalita">Finalità dei cookie e categorie</a></li>
|
||||
<li><a class={link} href="#elenco">Elenco dei cookie (modello da compilare)</a></li>
|
||||
<li><a class={link} href="#sanitario-legale">Base giuridica e ambito sanitario/legale</a></li>
|
||||
<li><a class={link} href="#consenso">Modalità di raccolta del consenso e registro</a></li>
|
||||
<li><a class={link} href="#revoca">Gestione e revoca del consenso</a></li>
|
||||
<li><a class={link} href="#browser">Disabilitazione via browser e impatto</a></li>
|
||||
<li><a class={link} href="#terze-parti">Cookie di terze parti e responsabilità</a></li>
|
||||
<li><a class={link} href="#retention">Conservazione e criteri di retention</a></li>
|
||||
<li><a class={link} href="#trasferimenti">Trasferimenti internazionali</a></li>
|
||||
<li><a class={link} href="#minori">Minori età</a></li>
|
||||
<li><a class={link} href="#sicurezza">Misure di sicurezza</a></li>
|
||||
<li><a class={link} href="#advertising">Consenso per scopi pubblicitari e profiling</a></li>
|
||||
<li><a class={link} href="#effetti">Effetti di rifiuto o accettazione</a></li>
|
||||
<li><a class={link} href="#modifiche">Modifiche alla Cookie Policy</a></li>
|
||||
<li><a class={link} href="#diritti">Diritti degli interessati e contatti</a></li>
|
||||
<li><a class={link} href="#appendice-tabella">Registro dei cookie (appendice)</a></li>
|
||||
<li><a class={link} href="#implementazione">Implementazione tecnica e strumenti</a></li>
|
||||
<li><a class={link} href="#test-qc">Test e controllo qualità</a></li>
|
||||
<li><a class={link} href="#banner-testi">Esempio di testi per il banner (IT / EN)</a></li>
|
||||
<li><a class={link} href="#note-legali">Note legali</a></li>
|
||||
<li><a class={link} href="#versioning">Versioning e storico revisioni</a></li>
|
||||
</ol>
|
||||
|
||||
<h2 id="premessa">1. Premessa</h2>
|
||||
<p>
|
||||
Questa Cookie Policy descrive le tipologie di cookie e tecnologie simili utilizzate sul sito
|
||||
web di <strong>NexStudio</strong> (di seguito «Società», «noi»), con sede a Bangkok,
|
||||
Thailandia, e spiega come gestire le preferenze. Per il trattamento dei dati personali e per i
|
||||
diritti degli interessati si rimanda all’<a class={link} href="/privacy"
|
||||
>Informativa privacy</a
|
||||
>.
|
||||
</p>
|
||||
|
||||
<h2 id="definizioni">2. Definizioni</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Cookie:</strong> piccolo file di testo inviato dal sito al browser e memorizzato sul
|
||||
dispositivo, re-inviato al sito alle visite successive.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Cookie di prima parte:</strong> impostati dal dominio del sito che l’utente visita.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Cookie di terze parti:</strong> impostati da domini diversi (fornitori esterni,
|
||||
embed, CDN, strumenti di misura).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Tecnologie simili:</strong> web beacon, pixel, <em>local storage</em>, e in generale
|
||||
identificatori lato client. Tecnologie invasive (es. fingerprinting) richiedono base legale
|
||||
adeguata e massima trasparenza.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="finalita">3. Finalità dei cookie e categorie</h2>
|
||||
<p>I cookie sul sito possono essere raggruppati come segue.</p>
|
||||
|
||||
<h3>3.1 Cookie strettamente necessari (essenziali)</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Finalità:</strong> navigazione, sicurezza, gestione sessione ove prevista,
|
||||
memorizzazione delle preferenze di consenso.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Base giuridica:</strong> esecuzione di misure precontrattuali / necessità tecnica e,
|
||||
ove applicabile, interesse legittimo limitato al funzionamento del servizio richiesto
|
||||
dall’utente.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Esempi tipici:</strong> token di sessione, cookie anti-CSRF, chiave di consenso in
|
||||
<em>local storage</em> (se usata al posto di cookie HTTP).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>3.2 Cookie di preferenza / funzionali</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Finalità:</strong> lingua, regione, tema o altre impostazioni di interfaccia non
|
||||
strettamente indispensabili.
|
||||
</li>
|
||||
<li><strong>Base giuridica:</strong> consenso, salvo trattamenti minimi e non invasivi.</li>
|
||||
<li><strong>Esempi:</strong> <code class="font-mono text-xs text-sky-300/90">lang</code>, preferenze UI.</li>
|
||||
</ul>
|
||||
|
||||
<h3>3.3 Cookie di performance / analytics</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Finalità:</strong> statistiche aggregate su visite e percorsi per migliorare il
|
||||
sito.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Base giuridica:</strong> consenso, salvo misurazione strettamente anonimizzata e
|
||||
non identificativa secondo orientamenti applicabili.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Esempi:</strong> <code class="font-mono text-xs text-sky-300/90">_ga</code>, <code
|
||||
class="font-mono text-xs text-sky-300/90">_gid</code
|
||||
> (Google Analytics), strumenti tipo Hotjar, se integrati.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>3.4 Cookie per advertising e targeting</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Finalità:</strong> pubblicità mirata, remarketing, misura delle campagne.
|
||||
</li>
|
||||
<li><strong>Base giuridica:</strong> consenso esplicito.</li>
|
||||
<li>
|
||||
<strong>Esempi:</strong> identificatori di reti pubblicitarie, pixel di retargeting, cookie
|
||||
DSP.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>3.5 Cookie di terze parti e integrazioni social</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Finalità:</strong> video incorporati, pulsanti social, mappe, chat di terze parti.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Nota:</strong> il trattamento da parte di terzi è regolato dalle rispettive policy;
|
||||
NexStudio non controlla cookie impostati senza adeguata configurazione e consenso.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="elenco">4. Elenco dei cookie utilizzati (modello da compilare)</h2>
|
||||
<p>
|
||||
Per ogni cookie reale indicare: nome, fornitore, categoria, finalità, durata, prima o terza
|
||||
parte, base giuridica, link alla privacy del fornitore e, se utile, opt-out.
|
||||
</p>
|
||||
<p>
|
||||
La tabella sotto è <strong>esemplificativa</strong>: va sostituita con l’inventario aggiornato
|
||||
(ideale: hash o versione e data di aggiornamento in calce alla tabella pubblicata).
|
||||
</p>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Nome</th>
|
||||
<th class={th}>Provider</th>
|
||||
<th class={th}>Categoria</th>
|
||||
<th class={th}>Durata</th>
|
||||
<th class={th}>Tipo</th>
|
||||
<th class={th}>Base giuridica</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td}><code class="font-mono text-xs">_ga</code> (es.)</td>
|
||||
<td class={td}>Google LLC</td>
|
||||
<td class={td}>Analytics</td>
|
||||
<td class={td}>24 mesi (tipico)</td>
|
||||
<td class={td}>3rd</td>
|
||||
<td class={td}>Consenso</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>
|
||||
<code class="font-mono text-xs">{cookieConsentMeta.storageKey}</code> (non cookie HTTP)
|
||||
</td>
|
||||
<td class={td}>NexStudio</td>
|
||||
<td class={td}>Necessario</td>
|
||||
<td class={td}>Fino a revoca / aggiornamento policy</td>
|
||||
<td class={td}>1st (local)</td>
|
||||
<td class={td}>Necessario / consenso informato</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}><code class="font-mono text-xs">_fbp</code> (es.)</td>
|
||||
<td class={td}>Meta</td>
|
||||
<td class={td}>Advertising</td>
|
||||
<td class={td}>90 giorni (tipico)</td>
|
||||
<td class={td}>3rd</td>
|
||||
<td class={td}>Consenso</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="sanitario-legale">5. Base giuridica e trattamento in ambito sanitario o legale</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Per cookie che comportano trattamento di dati particolari (salute, dati giudiziari o
|
||||
assimilabili) è richiesto <strong>consenso esplicito</strong> informato e misure tecniche e
|
||||
organizzative aggiuntive, salvo diversa base prevista dalla legge applicabile.
|
||||
</li>
|
||||
<li>
|
||||
Nei servizi SaaS medico-legali la raccolta tramite cookie sul sito vetrina è da
|
||||
<strong>limitare e segregare</strong>; per test e analytics privilegiare dati sintetici o
|
||||
anonimizzazione efficace.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="consenso">6. Modalità di raccolta del consenso e registro</h2>
|
||||
<p>
|
||||
Il sito utilizza una <strong>CMP first-party</strong> sviluppata per NexStudio, orientata ai
|
||||
requisiti di trasparenza e granularità (inclusi riferimenti GDPR e PDPA tailandese come quadro
|
||||
di riferimento per le descrizioni). Al primo accesso, o dopo aumento della versione della
|
||||
policy tecnica, viene mostrato un banner con:
|
||||
</p>
|
||||
<ul>
|
||||
<li><strong>Rifiuta non essenziali</strong></li>
|
||||
<li><strong>Personalizza</strong> (apertura pannello categorie)</li>
|
||||
<li><strong>Accetta tutto</strong></li>
|
||||
</ul>
|
||||
<p>
|
||||
La prova della scelta è memorizzata nel browser in <em>local storage</em> alla chiave{' '}
|
||||
<code class="rounded bg-nx-elevated px-1.5 py-0.5 font-mono text-xs text-sky-300/90"
|
||||
>{cookieConsentMeta.storageKey}</code
|
||||
>, con versione <code class="rounded bg-nx-elevated px-1.5 py-0.5 font-mono text-xs text-sky-300/90"
|
||||
>v{cookieConsentMeta.policyVersion}</code
|
||||
>, timestamp di aggiornamento e stato per categoria. I cookie strettamente necessari possono
|
||||
restare attivi compatibilmente con informativa chiara. Per audit avanzati si può integrare in
|
||||
futuro un log lato server (IP, user-agent, ID sessione) con informativa dedicata.
|
||||
</p>
|
||||
<p class="font-medium text-nx-fg">Categorie gestite dal modulo attuale</p>
|
||||
<ul>
|
||||
{
|
||||
cookieCategories.map((c) => (
|
||||
<li>
|
||||
<strong class="text-nx-fg">{c.label}</strong>
|
||||
{c.required ? ' — sempre attiva.' : ' — attiva solo se accettata.'}{' '}
|
||||
{c.description}
|
||||
</li>
|
||||
))
|
||||
}
|
||||
</ul>
|
||||
<p>
|
||||
Il codice espone <code class="rounded bg-nx-elevated px-1.5 py-0.5 font-mono text-xs text-sky-300/90"
|
||||
>window.NexStudioCookieConsent</code
|
||||
> e l’evento <code class="rounded bg-nx-elevated px-1.5 py-0.5 font-mono text-xs text-sky-300/90"
|
||||
>nexstudio:cookie-consent</code
|
||||
> per caricare script non necessari solo dopo consenso.
|
||||
</p>
|
||||
|
||||
<h2 id="revoca">7. Gestione e revoca del consenso</h2>
|
||||
<ul>
|
||||
<li>Tramite il banner o il pannello <strong>Personalizza</strong> al primo accesso.</li>
|
||||
<li>
|
||||
In qualsiasi momento tramite <strong>Impostazioni cookie</strong> nel footer del sito (sotto
|
||||
le colonne di navigazione).
|
||||
</li>
|
||||
<li>
|
||||
Cancellando i dati locali del sito dalle impostazioni del browser (inclusa la voce di{' '}
|
||||
<em>local storage</em> citata sopra): al successivo caricamento il banner si ripresenta.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Dopo la revoca non devono essere impostati cookie non essenziali; alcune funzioni (es.
|
||||
preferenze memorizzate, statistiche) possono risultare limitate.
|
||||
</p>
|
||||
|
||||
<h2 id="browser">8. Disabilitazione via browser e impatto</h2>
|
||||
<p>
|
||||
È possibile bloccare o cancellare i cookie dalle impostazioni del browser (Chrome, Firefox,
|
||||
Safari, Edge e altri). Disabilitando i cookie possono smettere di funzionare login, preferenze
|
||||
o strumenti che ne dipendono.
|
||||
</p>
|
||||
|
||||
<h2 id="terze-parti">9. Cookie di terze parti e responsabilità</h2>
|
||||
<p>
|
||||
Il sito può integrare strumenti di terze parti (analytics, CDN, social, gateway di pagamento,
|
||||
video). Le terze parti possono impostare cookie propri e trattare dati secondo le loro policy.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Esempi di fornitori</strong> spesso usati in contesti analoghi (elenco da adattare al
|
||||
sito reale): Google Analytics, Google Tag Manager, Cloudflare, Stripe, Vimeo, YouTube, Meta,
|
||||
LinkedIn, Hotjar. Per ciascuno vanno indicati link a privacy/cookie policy e strumenti di
|
||||
opt-out ove disponibili.
|
||||
</p>
|
||||
|
||||
<h2 id="retention">10. Conservazione e criteri di retention</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Le durate dei singoli cookie seguono le tabelle pubblicate e le policy dei fornitori (es.
|
||||
finestra indicativa <strong>24 mesi</strong> per dati aggregati di analytics, salvo obblighi
|
||||
di legge o contratto diversi — da confermare con il legale).
|
||||
</li>
|
||||
<li>
|
||||
Prove di consenso e gestione DSR: periodi di conservazione da definire nella retention
|
||||
policy (orientamento comune per documentazione di conformità: <strong
|
||||
>3–7 anni</strong
|
||||
>, da calibrare su base legale e rischio — non vincolante in questa pagina).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="trasferimenti">11. Trasferimenti internazionali</h2>
|
||||
<p>
|
||||
Alcuni fornitori possono trattare dati in Paesi terzi (es. Stati Uniti). Ove applicabile si
|
||||
adottano garanzie come clausole contrattuali standard, decisioni di adeguatezza o altre basi
|
||||
previste dalla legge. Per dettagli su trasferimenti specifici contattare il referente privacy
|
||||
indicato sotto.
|
||||
</p>
|
||||
|
||||
<h2 id="minori">12. Minori età</h2>
|
||||
<p>
|
||||
Il sito non è rivolto alla raccolta intenzionale di dati di minori. Per utenti sotto la soglia
|
||||
prevista dalla legge locale, i trattamenti non essenziali richiedono consenso del titore
|
||||
della responsabilità genitoriale ove imposto dalla normativa applicabile.
|
||||
</p>
|
||||
|
||||
<h2 id="sicurezza">13. Misure di sicurezza</h2>
|
||||
<p>
|
||||
Si applicano misure tecniche e organizzative appropriate: trasmissione su TLS, accesso
|
||||
limitato ai log, principio di minimizzazione, monitoraggio anomalie ove in uso.
|
||||
</p>
|
||||
|
||||
<h2 id="advertising">14. Consenso per scopi pubblicitari e profiling</h2>
|
||||
<p>
|
||||
Profilazione e pubblicità comportano <strong>consenso esplicito</strong> e tracciabilità
|
||||
della scelta. Ove si usino reti pubblicitarie, fornire link agli strumenti di opt-out del
|
||||
fornitore (es. impostazioni annunci Google).
|
||||
</p>
|
||||
|
||||
<h2 id="effetti">15. Effetti di rifiuto o accettazione</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Accettando</strong> le categorie opzionali si abilitano preferenze avanzate,
|
||||
analytics e, se configurate, funzioni di marketing.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Rifiutando</strong> i non essenziali il sito resta navigabile con funzioni core; le
|
||||
altre possono essere limitate.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="modifiche">16. Modifiche alla Cookie Policy</h2>
|
||||
<p>
|
||||
La Policy può essere aggiornata quando cambiano cookie, fornitori o norme. Sarà indicata la
|
||||
data di revisione; ove richiesto dalla legge o dall’impatto del cambiamento, si richiederà un
|
||||
nuovo consenso (incrementando la versione tecnica nel modulo).
|
||||
</p>
|
||||
|
||||
<h2 id="diritti">17. Diritti degli interessati e contatti</h2>
|
||||
<p>
|
||||
Diritti: accesso, rettifica, cancellazione, limitazione, portabilità, opposizione e revoca del
|
||||
consenso ove previsti. Per esercitarli: <a class={link} href="mailto:privacy@nexstudio.com"
|
||||
>privacy@nexstudio.com</a
|
||||
> (DPO o referente privacy, da formalizzare).
|
||||
</p>
|
||||
|
||||
<h2 id="appendice-tabella">18. Registro dei cookie e informazioni tecniche (appendice)</h2>
|
||||
<p>
|
||||
Pubblicare qui la tabella completa con colonne: nome, provider, categoria, descrizione
|
||||
tecnica, durata, 1st/3rd, link opt-out, link privacy, note (GTM, embed, CDN, ecc.).
|
||||
</p>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Nome</th>
|
||||
<th class={th}>Provider</th>
|
||||
<th class={th}>Categoria</th>
|
||||
<th class={th}>Scopo / durata</th>
|
||||
<th class={th}>Note</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td} colspan="5">
|
||||
<em>Da compilare dopo scansione del sito in staging e produzione.</em>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="implementazione">19. Implementazione tecnica e strumenti</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>CMP:</strong> modulo first-party NexStudio (nessun OneTrust/Cookiebot obbligatorio
|
||||
in questa build); estensibile verso CMP commerciali se richiesto da clienti o policy
|
||||
aziendale.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Log consenso:</strong> attualmente payload JSON in <em>local storage</em> con
|
||||
versione policy, timestamp ISO e booleani per categoria; valutare integrazione server-side
|
||||
per audit e correlazione sessione.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Banner:</strong> testo breve, link a questa Cookie Policy, tre azioni come da §6.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Sviluppo:</strong> caricare script di analytics, marketing o embed solo dopo lettura
|
||||
del consenso tramite API/evento sopra citati.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="test-qc">20. Test e controllo qualità</h2>
|
||||
<ul>
|
||||
<li>Scansione periodica del sito per elenco cookie (strumenti automatici + revisione manuale).</li>
|
||||
<li>Allineamento tra tabella pubblicata, CMP e script effettivamente caricati.</li>
|
||||
<li>Audit trimestrale delle terze parti e aggiornamento categorie/testi.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="banner-testi">21. Esempio di testi per il banner (IT / EN)</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Italiano (allineato al sito):</strong> «Utilizziamo cookie e memorizzazione locale.
|
||||
Seleziona le categorie che preferisci. I necessari restano attivi per registrare la tua
|
||||
scelta. Dettagli nell’informativa cookie.» — pulsanti: <strong>Rifiuta non essenziali</strong
|
||||
>, <strong>Personalizza</strong>, <strong>Accetta tutto</strong>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>English (per versione bilingue futura):</strong> «We use cookies and local storage.
|
||||
Choose the categories you prefer. Necessary ones stay on to record your choice. See our
|
||||
cookie policy.» — <strong>Reject non-essential</strong>, <strong>Customize</strong>, <strong
|
||||
>Accept all</strong
|
||||
>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="note-legali">22. Note legali</h2>
|
||||
<p>
|
||||
Questa Cookie Policy <strong>integra ma non sostituisce</strong> l’Informativa privacy. Per
|
||||
aspetti di trattamento dei dati personali collegati ai cookie fare riferimento anche a{' '}
|
||||
<a class={link} href="/gdpr">GDPR</a> / documenti privacy pubblicati e al counsel locale per
|
||||
Thailandia, UE o altri mercati serviti.
|
||||
</p>
|
||||
|
||||
<h2 id="versioning">23. Versioning e storico revisioni</h2>
|
||||
<ul>
|
||||
<li><strong>Versione 1.0</strong> — 21 aprile 2026 — Prima pubblicazione strutturata.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Appendice: checklist tecnica per il rilascio</h2>
|
||||
<ul class="list-none space-y-2 pl-0 [&_li]:flex [&_li]:gap-2">
|
||||
<li><span class="text-nx-muted">☐</span> Scansione cookie completa e tabella aggiornata</li>
|
||||
<li><span class="text-nx-muted">☐</span> CMP e prova consenso / revoca funzionanti</li>
|
||||
<li><span class="text-nx-muted">☐</span> Traduzioni banner (es. EN / TH) se richieste dal mercato</li>
|
||||
<li><span class="text-nx-muted">☐</span> Script non essenziali bloccati fino a consenso</li>
|
||||
<li><span class="text-nx-muted">☐</span> Tabella cookie con metadati e versioning pubblico</li>
|
||||
<li><span class="text-nx-muted">☐</span> Procedure DSR e revoca collegate dall’informativa privacy</li>
|
||||
<li><span class="text-nx-muted">☐</span> Link a privacy e contatti DPO/referente nel footer</li>
|
||||
</ul>
|
||||
|
||||
<h2>Collegamenti</h2>
|
||||
<p>
|
||||
<a class={link} href="/privacy">Informativa privacy</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="/codice-etico">Codice etico</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="/modello-organizzativo">Modello organizzativo</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="#indice">Torna all’indice</a>
|
||||
</p>
|
||||
</div>
|
||||
</SubpageLayout>
|
||||
34
src/pages/dove-siamo.astro
Normal file
34
src/pages/dove-siamo.astro
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Dove siamo — NexStudio"
|
||||
description="Sede operativa e contatti NexStudio."
|
||||
heading="Dove siamo"
|
||||
lead="Sede operativa a Bangkok (Thailandia). Completate l’indirizzo, i recapiti e gli orari di riferimento per il pubblico."
|
||||
>
|
||||
<h2>Sede</h2>
|
||||
<p>
|
||||
NexStudio opera con base operativa a <strong>Bangkok</strong>, in
|
||||
Thailandia. Inserite qui indirizzo completo, eventuale sede legale in altro
|
||||
Stato, e se il rapporto con i clienti avviene prevalentemente da remoto.
|
||||
</p>
|
||||
|
||||
<h2>Fusi orari e lingue</h2>
|
||||
<p>
|
||||
Il sito e il supporto via web possono essere gestiti in italiano, inglese,
|
||||
tedesco, francese, spagnolo e tailandese, con orari da concordare in base
|
||||
al team e al fuso rispetto ai clienti in Europa e altre regioni.
|
||||
</p>
|
||||
|
||||
<h2>Contatti</h2>
|
||||
<p>
|
||||
Per richieste commerciali o tecniche utilizzate la sezione <a
|
||||
class="text-sky-400/90 hover:text-sky-300"
|
||||
href="/#contatti">Contatti</a
|
||||
> sulla homepage (chat e altri canali che attiverete). Aggiungete in questa
|
||||
pagina email istituzionali, PEC se applicabile, e numeri di telefono solo se
|
||||
desiderate renderli pubblici.
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
55
src/pages/gdpr.astro
Normal file
55
src/pages/gdpr.astro
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="GDPR — NexStudio"
|
||||
description="Informazioni sul trattamento dei dati personali ai sensi del Regolamento UE 2016/679 (GDPR)."
|
||||
heading="GDPR e diritti degli interessati"
|
||||
lead="Documento provvisorio: integrare riferimenti contrattuali, responsabile della protezione dei dati (DPO) se nominato, e procedure interne."
|
||||
>
|
||||
<p>
|
||||
Il Regolamento (UE) 2016/679 (GDPR) disciplina il trattamento dei dati
|
||||
personali nel territorio dell’Unione. La presente pagina riassume i diritti
|
||||
riconosciuti agli interessati e come possono esercitarli nei confronti di
|
||||
NexStudio, senza sostituire l’informativa privacy completa.
|
||||
</p>
|
||||
|
||||
<h2>Diritti riconosciuti</h2>
|
||||
<ul>
|
||||
<li>Accesso ai propri dati e copia in formato intelligibile</li>
|
||||
<li>Rettifica di dati inesatti o incompleti</li>
|
||||
<li>Cancellazione (“diritto all’oblio”) nei casi previsti dalla legge</li>
|
||||
<li>Limitazione del trattamento</li>
|
||||
<li>Portabilità dei dati forniti con consenso o contratto, ove applicabile</li>
|
||||
<li>Opposizione al trattamento basato su legittimo interesse o per fini di marketing</li>
|
||||
<li>Revoca del consenso in qualsiasi momento, senza pregiudicare la liceità del trattamento precedente</li>
|
||||
<li>Reclamo all’autorità di controllo competente</li>
|
||||
</ul>
|
||||
|
||||
<h2>Modalità di esercizio</h2>
|
||||
<p>
|
||||
Indicare un canale dedicato (es. email privacy@…, modulo PEC o ticket). Per
|
||||
richieste generiche potete anche utilizzare la sezione <a
|
||||
class="text-sky-400/90 hover:text-sky-300"
|
||||
href="/#contatti">Contatti</a
|
||||
> sul sito principale, specificando oggetto e dati utili a identificare la
|
||||
pratica.
|
||||
</p>
|
||||
|
||||
<h2>Trasferimenti extra-UE</h2>
|
||||
<p>
|
||||
Se utilizzate fornitori con sede fuori dallo Spazio Economico Europeo,
|
||||
descrivete garanzie (Clausole contrattuali tipo, decisioni di adeguatezza,
|
||||
norme vincolanti d’impresa) e il riferimento documentale.
|
||||
</p>
|
||||
|
||||
<h2>Documenti correlati</h2>
|
||||
<p>
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/privacy"
|
||||
>Informativa privacy</a
|
||||
>
|
||||
·
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/cookies">Informativa cookie</a>
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
618
src/pages/index.astro
Normal file
618
src/pages/index.astro
Normal file
@ -0,0 +1,618 @@
|
||||
---
|
||||
import BaseLayout from '../layouts/BaseLayout.astro';
|
||||
import HeroDataflow from '../components/HeroDataflow.astro';
|
||||
import DataflowSpine from '../components/DataflowSpine.astro';
|
||||
import ContactFormInline from '../components/ContactFormInline.astro';
|
||||
import CardBottomRightTexture from '../components/CardBottomRightTexture.astro';
|
||||
import SiteFooter from '../components/SiteFooter.astro';
|
||||
import {
|
||||
siteMeta,
|
||||
navigation,
|
||||
hero,
|
||||
stats,
|
||||
services,
|
||||
stackSection,
|
||||
productsSection,
|
||||
faq,
|
||||
cta,
|
||||
} from '../data/home';
|
||||
|
||||
const techSliderItems = stackSection.techSlider.items;
|
||||
---
|
||||
|
||||
<BaseLayout title={siteMeta.title} description={siteMeta.description}>
|
||||
<div class="nx-grid-bg relative min-h-screen">
|
||||
<canvas
|
||||
id="particleCanvas"
|
||||
class="nx-particle-layer pointer-events-none"
|
||||
aria-hidden="true"></canvas>
|
||||
<div
|
||||
class="pointer-events-none absolute inset-0 z-[1] bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(56,189,248,0.18),transparent)]"
|
||||
>
|
||||
</div>
|
||||
<header
|
||||
class="sticky top-0 z-50 border-b border-nx-border/40 bg-black"
|
||||
x-data="{ mobile: false }"
|
||||
>
|
||||
<div
|
||||
class="mx-auto flex max-w-6xl items-center justify-between gap-4 px-4 py-3 sm:px-6"
|
||||
>
|
||||
<a href="/" class="group no-underline">
|
||||
<span
|
||||
class="text-2xl font-semibold tracking-tight text-nx-fg group-hover:text-white sm:text-3xl"
|
||||
>{navigation.brandName}</span
|
||||
>
|
||||
</a>
|
||||
|
||||
<nav
|
||||
class="hidden items-center gap-8 text-sm md:flex"
|
||||
aria-label="Principale"
|
||||
>
|
||||
{navigation.items.map((item) => {
|
||||
const sectionId = item.href.includes('#')
|
||||
? item.href.split('#').pop()!
|
||||
: '';
|
||||
return (
|
||||
<a
|
||||
class="nx-nav-link"
|
||||
href={item.href}
|
||||
data-section={sectionId}
|
||||
data-nav-active="false"
|
||||
>
|
||||
{item.label}
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
</nav>
|
||||
|
||||
<div class="flex items-center gap-2 sm:gap-3">
|
||||
<button
|
||||
type="button"
|
||||
data-nx-chat-open
|
||||
class="inline-flex cursor-pointer rounded-lg bg-gradient-to-r from-sky-500 to-violet-500 px-4 py-2 text-sm font-semibold text-white shadow-lg shadow-sky-500/25 hover:brightness-110"
|
||||
title={navigation.cta.linkTitle}
|
||||
aria-label={navigation.cta.ariaLabel}
|
||||
>{navigation.cta.label}</button
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
class="inline-flex h-10 w-10 items-center justify-center rounded-lg border border-nx-border text-nx-fg md:hidden"
|
||||
@click="mobile = !mobile"
|
||||
:aria-expanded="mobile"
|
||||
aria-controls="mobile-nav"
|
||||
aria-label="Apri menu"
|
||||
>
|
||||
<svg
|
||||
x-show="!mobile"
|
||||
class="h-5 w-5"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
x-cloak
|
||||
>
|
||||
<path d="M4 6h16M4 12h16M4 18h16" stroke-linecap="round"></path>
|
||||
</svg>
|
||||
<svg
|
||||
x-show="mobile"
|
||||
class="h-5 w-5"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
x-cloak
|
||||
>
|
||||
<path d="M6 18L18 6M6 6l12 12" stroke-linecap="round"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
id="mobile-nav"
|
||||
x-show="mobile"
|
||||
x-transition
|
||||
x-cloak
|
||||
class="border-b border-nx-border bg-black px-4 py-4 md:hidden"
|
||||
>
|
||||
<nav class="flex flex-col gap-3 text-sm" aria-label="Mobile">
|
||||
{navigation.items.map((item) => {
|
||||
const sectionId = item.href.includes('#')
|
||||
? item.href.split('#').pop()!
|
||||
: '';
|
||||
return (
|
||||
<a
|
||||
class="nx-nav-link block py-1"
|
||||
href={item.href}
|
||||
data-section={sectionId}
|
||||
data-nav-active="false"
|
||||
@click="mobile = false"
|
||||
>
|
||||
{item.label}
|
||||
</a>
|
||||
);
|
||||
})}
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="relative z-[1] isolate">
|
||||
<DataflowSpine />
|
||||
<section
|
||||
id="intro"
|
||||
class="relative z-10 overflow-hidden px-4 pb-20 pt-16 sm:px-6 sm:pt-24"
|
||||
>
|
||||
<div class="nx-hero-ambient" aria-hidden="true">
|
||||
<div class="nx-hero-ambient__inner">
|
||||
<HeroDataflow />
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative z-10 mx-auto max-w-6xl">
|
||||
<p
|
||||
class="mb-6 inline-flex items-center gap-2 rounded-full border border-nx-border bg-nx-surface/60 px-3 py-1 text-xs font-medium text-sky-300/90"
|
||||
>
|
||||
<span
|
||||
class="h-1.5 w-1.5 rounded-full bg-sky-400 shadow-[0_0_8px_#38bdf8]"></span>
|
||||
{hero.badge}
|
||||
</p>
|
||||
<h1
|
||||
class="max-w-4xl text-4xl font-semibold leading-[1.1] tracking-tight text-nx-fg sm:text-5xl md:text-6xl"
|
||||
>
|
||||
{hero.titleBefore}
|
||||
<span
|
||||
class="bg-gradient-to-r from-sky-300 via-cyan-200 to-violet-400 bg-clip-text text-transparent"
|
||||
>{hero.titleHighlight}</span
|
||||
>{hero.titleAfter}
|
||||
</h1>
|
||||
<p
|
||||
class="mt-5 max-w-3xl text-lg font-medium leading-relaxed text-sky-100/90 sm:text-xl"
|
||||
>
|
||||
{hero.subtitle}
|
||||
</p>
|
||||
<div class="mt-8 max-w-3xl space-y-4 text-base leading-relaxed text-nx-muted sm:text-lg">
|
||||
{hero.paragraphs.map((p) => <p>{p}</p>)}
|
||||
</div>
|
||||
<div class="mt-10 max-w-3xl">
|
||||
<h2 class="text-base font-semibold text-nx-fg sm:text-lg">
|
||||
{hero.businessUnitsHeading}
|
||||
</h2>
|
||||
<p class="mt-2 text-sm leading-relaxed text-nx-muted sm:text-base">
|
||||
{hero.businessUnitsIntro}
|
||||
</p>
|
||||
<ul class="mt-5 space-y-4 border-l border-nx-border pl-5">
|
||||
{hero.businessUnits.map((u) => (
|
||||
<li>
|
||||
<span class="font-semibold text-sky-300/95">{u.name}</span>
|
||||
<span class="text-nx-muted"> — {u.description}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="relative z-10 px-4 py-6 sm:px-6 sm:py-8">
|
||||
<div
|
||||
class="nx-stats-card mx-auto max-w-6xl rounded-2xl border border-nx-border bg-gradient-to-b from-nx-elevated/78 to-nx-surface/68 px-6 py-10 ring-1 ring-inset ring-white/[0.06] sm:px-10 sm:py-12"
|
||||
>
|
||||
<div
|
||||
class="grid grid-cols-1 gap-8 sm:grid-cols-3 sm:gap-8 lg:gap-10"
|
||||
>
|
||||
{stats.items.map((item) => (
|
||||
<div>
|
||||
<p
|
||||
class="text-3xl font-semibold tracking-tight text-nx-fg sm:text-4xl"
|
||||
>
|
||||
{item.value}
|
||||
</p>
|
||||
<p class="mt-1 text-sm leading-relaxed text-nx-muted">
|
||||
{item.caption}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="prodotti" class="relative z-10 px-4 py-20 sm:px-6">
|
||||
<div class="mx-auto max-w-6xl">
|
||||
<h2
|
||||
class="text-sm font-semibold uppercase tracking-wider text-sky-400/90"
|
||||
>
|
||||
{productsSection.eyebrow}
|
||||
</h2>
|
||||
<p
|
||||
class="mt-2 text-3xl font-semibold tracking-tight text-nx-fg sm:text-4xl"
|
||||
>
|
||||
{productsSection.title}
|
||||
</p>
|
||||
<p class="mt-4 max-w-3xl text-base leading-relaxed text-nx-muted sm:text-lg">
|
||||
{productsSection.lead}
|
||||
</p>
|
||||
|
||||
<div
|
||||
class="mt-14 grid gap-8 lg:grid-cols-2 lg:gap-10 lg:items-stretch"
|
||||
>
|
||||
{productsSection.items.map((product, pi) => (
|
||||
<article
|
||||
class:list={[
|
||||
'flex flex-col rounded-2xl border p-6 sm:p-8',
|
||||
pi === 0
|
||||
? 'border-sky-500/25 bg-gradient-to-b from-sky-950/30 to-nx-surface/30'
|
||||
: 'border-emerald-500/20 bg-gradient-to-b from-emerald-950/25 to-nx-surface/30',
|
||||
]}
|
||||
>
|
||||
<div class="flex flex-wrap items-baseline justify-between gap-2">
|
||||
<h3 class="text-2xl font-semibold tracking-tight text-nx-fg">
|
||||
{product.name}
|
||||
</h3>
|
||||
<span
|
||||
class:list={[
|
||||
'rounded-full px-2.5 py-0.5 text-xs font-medium',
|
||||
pi === 0
|
||||
? 'bg-sky-500/15 text-sky-200/95'
|
||||
: 'bg-emerald-500/15 text-emerald-200/95',
|
||||
]}
|
||||
>
|
||||
{product.badge}
|
||||
</span>
|
||||
</div>
|
||||
<p class="mt-3 text-lg font-medium leading-snug text-nx-fg sm:text-xl">
|
||||
{product.tagline}
|
||||
</p>
|
||||
<p
|
||||
class:list={[
|
||||
'mt-2 text-sm font-medium',
|
||||
pi === 0 ? 'text-sky-200/85' : 'text-emerald-200/85',
|
||||
]}
|
||||
>
|
||||
<span class="text-nx-muted font-normal">Focus — </span>
|
||||
{product.focus}
|
||||
</p>
|
||||
<p class="mt-5 text-sm leading-relaxed text-nx-muted sm:text-base">
|
||||
{product.body}
|
||||
</p>
|
||||
<ul class="mt-6 space-y-4 border-t border-white/10 pt-6">
|
||||
{product.highlights.map((h) => (
|
||||
<li>
|
||||
<p class="text-sm leading-relaxed sm:text-[15px]">
|
||||
<span
|
||||
class:list={[
|
||||
'font-semibold',
|
||||
pi === 0 ? 'text-sky-200/95' : 'text-emerald-200/95',
|
||||
]}
|
||||
>
|
||||
{h.title}
|
||||
</span>
|
||||
<span class="text-nx-muted">
|
||||
<span class="text-nx-muted/60"> — </span>
|
||||
{h.text}
|
||||
</span>
|
||||
</p>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
{'closing' in product && product.closing ? (
|
||||
<p class="mt-6 border-t border-white/10 pt-6 text-sm italic leading-relaxed text-nx-muted">
|
||||
{product.closing}
|
||||
</p>
|
||||
) : null}
|
||||
</article>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="servizi" class="relative z-10 px-4 py-20 sm:px-6">
|
||||
<div class="mx-auto max-w-6xl">
|
||||
<h2
|
||||
class="text-sm font-semibold uppercase tracking-wider text-sky-400/90"
|
||||
>
|
||||
{services.eyebrow}
|
||||
</h2>
|
||||
<p
|
||||
class="mt-2 max-w-2xl text-3xl font-semibold tracking-tight text-nx-fg sm:text-4xl"
|
||||
>
|
||||
{services.title}
|
||||
</p>
|
||||
<p class="mt-5 max-w-3xl text-base leading-relaxed text-nx-muted sm:text-lg">
|
||||
{services.lead}
|
||||
</p>
|
||||
<div
|
||||
class="mt-12 grid gap-4 md:grid-cols-3 md:grid-rows-2 md:gap-5 [&>article]:rounded-2xl [&>article]:border [&>article]:border-nx-border [&>article]:bg-nx-elevated/50 [&>article]:p-6"
|
||||
>
|
||||
{services.cards.map((card) => {
|
||||
const hasGlobe =
|
||||
'decoration' in card &&
|
||||
card.decoration === 'wireframe-globe';
|
||||
return (
|
||||
<article
|
||||
class:list={[
|
||||
card.layout === 'wide' && 'md:col-span-2',
|
||||
card.layout === 'tall' && 'md:row-span-2',
|
||||
hasGlobe && 'relative overflow-hidden',
|
||||
]}
|
||||
>
|
||||
{hasGlobe && <CardBottomRightTexture />}
|
||||
<div class:list={[hasGlobe && 'relative z-10']}>
|
||||
<h3 class="text-lg font-semibold text-nx-fg">{card.title}</h3>
|
||||
<p class="mt-2 text-sm leading-relaxed text-nx-muted">
|
||||
{card.body}
|
||||
</p>
|
||||
{'callout' in card && card.callout && (
|
||||
<div class="mt-4 rounded-xl border border-sky-500/25 bg-sky-950/20 p-4">
|
||||
<p class="text-sm font-semibold text-sky-200/95">
|
||||
{card.callout.title}
|
||||
</p>
|
||||
<p class="mt-2 text-sm leading-relaxed text-nx-muted">
|
||||
{card.callout.body}
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
{'bullets' in card && card.bullets && (
|
||||
<ul class="mt-4 space-y-2 text-sm text-sky-300/90">
|
||||
{card.bullets.map((b) => (
|
||||
<li class="flex gap-2">
|
||||
<span class="text-violet-400">▹</span>
|
||||
{b}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
)}
|
||||
</div>
|
||||
</article>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="stack"
|
||||
class="relative z-10 overflow-hidden border-t border-nx-border bg-nx-surface/30 px-4 py-20 sm:px-6"
|
||||
>
|
||||
<div class="mx-auto max-w-6xl">
|
||||
<h2
|
||||
class="text-sm font-semibold uppercase tracking-wider text-sky-400/90"
|
||||
>
|
||||
{stackSection.eyebrow}
|
||||
</h2>
|
||||
<p
|
||||
class="mt-2 max-w-3xl text-3xl font-semibold tracking-tight text-nx-fg sm:text-4xl"
|
||||
>
|
||||
{stackSection.title}
|
||||
</p>
|
||||
<p class="mt-5 max-w-3xl text-base leading-relaxed text-nx-muted sm:text-lg">
|
||||
{stackSection.lead}
|
||||
</p>
|
||||
|
||||
<div
|
||||
class="relative z-[1] mt-12 flex flex-col gap-8 rounded-2xl border border-orange-500/20 bg-gradient-to-br from-orange-950/20 to-nx-elevated/40 p-6 sm:flex-row sm:items-center sm:gap-10 sm:p-8"
|
||||
>
|
||||
<a
|
||||
href={stackSection.cloudflareBadge.href}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="group flex shrink-0 items-center gap-4 rounded-xl border border-white/10 bg-nx-bg/60 px-5 py-4 transition hover:border-orange-400/35"
|
||||
>
|
||||
<img
|
||||
src={stackSection.cloudflareBadge.iconSrc}
|
||||
alt={stackSection.cloudflareBadge.iconAlt}
|
||||
width="48"
|
||||
height="48"
|
||||
class="h-12 w-12 shrink-0 brightness-0 invert"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
/>
|
||||
<div>
|
||||
<p class="text-xs font-medium uppercase tracking-wider text-orange-200/90">
|
||||
Infrastruttura
|
||||
</p>
|
||||
<p class="text-lg font-semibold text-nx-fg group-hover:text-orange-100">
|
||||
{stackSection.cloudflareBadge.label}
|
||||
</p>
|
||||
<p class="mt-0.5 text-xs text-nx-muted">
|
||||
Rete globale, sicurezza e edge
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="min-w-0 flex-1">
|
||||
<h3 class="text-lg font-semibold text-nx-fg">
|
||||
{stackSection.cloudflare.title}
|
||||
</h3>
|
||||
<p class="mt-2 text-sm leading-relaxed text-nx-muted sm:text-base">
|
||||
{stackSection.cloudflare.intro}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="relative z-[1] mt-6 space-y-6">
|
||||
{stackSection.cloudflare.points.map((item) => (
|
||||
<li class="border-l-2 border-orange-400/40 pl-5">
|
||||
<p class="font-semibold text-orange-100/95">{item.title}</p>
|
||||
<p class="mt-1.5 text-sm leading-relaxed text-nx-muted sm:text-[15px]">
|
||||
{item.body}
|
||||
</p>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
<div
|
||||
class="mt-10 rounded-2xl border border-nx-border bg-nx-elevated/50 p-6 sm:p-8"
|
||||
>
|
||||
<h3 class="text-lg font-semibold text-nx-fg">
|
||||
{stackSection.continuity.title}
|
||||
</h3>
|
||||
<p class="mt-3 text-sm leading-relaxed text-nx-muted sm:text-base">
|
||||
{stackSection.continuity.body}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="nx-tech-slider mt-10"
|
||||
role="region"
|
||||
aria-label={stackSection.techSlider.ariaLabel}
|
||||
>
|
||||
<div class="nx-tech-slider__viewport">
|
||||
<div class="nx-tech-slider__track">
|
||||
{techSliderItems.map((item) => (
|
||||
<a
|
||||
class="nx-tech-slider__link"
|
||||
href={item.href}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-label={item.name}
|
||||
>
|
||||
<img
|
||||
class:list={[
|
||||
'nx-tech-slider__logo',
|
||||
item.name === 'HL7 FHIR' && 'nx-tech-slider__logo--fhir',
|
||||
]}
|
||||
src={item.iconSrc}
|
||||
alt=""
|
||||
width="168"
|
||||
height="48"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
/>
|
||||
</a>
|
||||
))}
|
||||
{techSliderItems.map((item) => (
|
||||
<a
|
||||
class:list={['nx-tech-slider__link', 'nx-tech-slider__link--dup']}
|
||||
href={item.href}
|
||||
tabindex="-1"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<img
|
||||
class:list={[
|
||||
'nx-tech-slider__logo',
|
||||
item.name === 'HL7 FHIR' && 'nx-tech-slider__logo--fhir',
|
||||
]}
|
||||
src={item.iconSrc}
|
||||
alt=""
|
||||
width="168"
|
||||
height="48"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
/>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-10">
|
||||
<h3 class="text-lg font-semibold text-nx-fg">
|
||||
{stackSection.whyThisChoice.title}
|
||||
</h3>
|
||||
<ul class="mt-4 space-y-3 text-sm leading-relaxed text-nx-muted sm:text-[15px]">
|
||||
{stackSection.whyThisChoice.points.map((line) => (
|
||||
<li class="flex gap-3">
|
||||
<span class="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-sky-400/80" />
|
||||
<span>{line}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section
|
||||
id="faq"
|
||||
class="relative z-10 border-t border-nx-border bg-nx-surface/20 px-4 py-20 sm:px-6"
|
||||
x-data="{ q: 0 }"
|
||||
>
|
||||
<div class="mx-auto max-w-2xl">
|
||||
<h2
|
||||
class="text-sm font-semibold uppercase tracking-wider text-sky-400/90"
|
||||
>
|
||||
{faq.eyebrow}
|
||||
</h2>
|
||||
<p
|
||||
class="mt-2 text-3xl font-semibold tracking-tight text-nx-fg sm:text-4xl"
|
||||
>
|
||||
{faq.title}
|
||||
</p>
|
||||
|
||||
<div class="mt-10 divide-y divide-nx-border rounded-2xl border border-nx-border bg-nx-elevated/30">
|
||||
{faq.items.map((item, idx) => {
|
||||
const n = idx + 1;
|
||||
return (
|
||||
<div>
|
||||
<button
|
||||
type="button"
|
||||
class="flex w-full items-center justify-between px-4 py-4 text-left text-sm font-medium text-nx-fg hover:bg-white/5"
|
||||
@click={`q = q === ${n} ? 0 : ${n}`}
|
||||
:aria-expanded={`q === ${n}`}
|
||||
>
|
||||
{item.question}
|
||||
<span
|
||||
class="ml-3 inline-flex shrink-0 text-nx-muted transition-transform duration-200 ease-out"
|
||||
:class={`q === ${n} && 'rotate-180'`}
|
||||
aria-hidden="true"
|
||||
>
|
||||
<svg
|
||||
class="size-5 sm:size-6"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
>
|
||||
<path d="m6 9 6 6 6-6"></path>
|
||||
</svg>
|
||||
</span>
|
||||
</button>
|
||||
<div
|
||||
x-show={`q === ${n}`}
|
||||
x-transition
|
||||
x-cloak
|
||||
class="border-t border-nx-border px-4 py-3 text-sm text-nx-muted"
|
||||
>
|
||||
{item.answer}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="contatti" class="relative z-10 px-4 pb-16 pt-4 sm:px-6 sm:pb-20">
|
||||
<div
|
||||
id="nx-cta-card"
|
||||
class="relative mx-auto max-w-6xl overflow-hidden rounded-3xl border border-nx-border bg-gradient-to-br from-sky-500/15 via-nx-elevated to-violet-600/15 px-5 py-5 sm:px-6 sm:py-6"
|
||||
>
|
||||
<div
|
||||
class="relative z-10 flex flex-col gap-6 lg:flex-row lg:items-start lg:gap-10"
|
||||
>
|
||||
<div class="min-w-0 flex-1 lg:max-w-[min(100%,28rem)] xl:max-w-[min(100%,32rem)]">
|
||||
<h2
|
||||
class="text-2xl font-semibold leading-snug tracking-tight sm:text-3xl"
|
||||
>
|
||||
<span class="block text-nx-fg">{cta.titleLine1}</span>
|
||||
<span class="mt-0.5 block text-sky-200 sm:text-[#bae6fd]">{cta.titleLine2}</span>
|
||||
</h2>
|
||||
<p class="mt-3 max-w-2xl text-nx-muted">
|
||||
{cta.body}
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
class="w-full min-w-0 shrink-0 lg:max-w-md xl:max-w-lg"
|
||||
>
|
||||
<ContactFormInline />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<SiteFooter />
|
||||
</div>
|
||||
<script>
|
||||
import '../scripts/nx-nav-spy.ts';
|
||||
</script>
|
||||
</BaseLayout>
|
||||
450
src/pages/modello-organizzativo.astro
Normal file
450
src/pages/modello-organizzativo.astro
Normal file
@ -0,0 +1,450 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
|
||||
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||
const tbl = 'mt-4 w-full border-collapse text-left text-sm';
|
||||
const th = 'border border-nx-border bg-nx-surface/60 px-3 py-2 font-semibold text-nx-fg';
|
||||
const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Modello organizzativo — NexStudio"
|
||||
description="Modello organizzativo NexStudio: ruoli, governance, RACI, controlli lean, KPI e piano operativo a 30 giorni."
|
||||
heading="Modello organizzativo"
|
||||
lead="Schema di ruoli, ritmi di governo e responsabilità per una software company snella (SaaS legal/med). Non sostituisce valutazioni legali (es. D.Lgs. 231/2001): va allineato a società, organi e consulenti."
|
||||
>
|
||||
<div class="[&_h3]:mt-6 [&_h3]:text-base [&_h3]:font-semibold [&_h3]:text-nx-fg">
|
||||
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||
Documento operativo per <strong class="text-nx-fg">NexStudio</strong> (sede Bangkok). Ruoli
|
||||
numerici indicativi: adattare al team reale e formalizzare nomine e deleghe per iscritto.
|
||||
</p>
|
||||
|
||||
<h2 id="indice" class="!mt-8">Indice</h2>
|
||||
<ol class="!mt-3 list-decimal space-y-1.5 pl-5 text-sm leading-relaxed sm:text-base">
|
||||
<li><a class={link} href="#ruoli">Ruoli e perimetro</a></li>
|
||||
<li><a class={link} href="#governance">Governance essenziale</a></li>
|
||||
<li><a class={link} href="#responsabilita">Principali responsabilità (sintesi)</a></li>
|
||||
<li><a class={link} href="#raci">RACI per processi critici</a></li>
|
||||
<li><a class={link} href="#flussi">Flussi decisionali rapidi</a></li>
|
||||
<li><a class={link} href="#controlli">Controlli minimi obbligatori (lean)</a></li>
|
||||
<li><a class={link} href="#kpi">KPI essenziali</a></li>
|
||||
<li><a class={link} href="#documentazione">Documentazione minima da mantenere</a></li>
|
||||
<li><a class={link} href="#piano-30">Primo piano operativo (30 giorni)</a></li>
|
||||
<li><a class={link} href="#outsourcing">Outsourcing consigliato</a></li>
|
||||
<li><a class={link} href="#note">Note pratiche e raccomandazioni</a></li>
|
||||
</ol>
|
||||
|
||||
<h2 id="ruoli">1. Ruoli e perimetro</h2>
|
||||
<p>
|
||||
Elenco sintetico delle funzioni, con attese di impegno (full-time, part-time, frazionale o
|
||||
esternalizzato). I numeri tra parentesi sono orientativi per una fase early-stage.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Founder / CEO (1):</strong> strategia, approvazione delle policy, contatti con board
|
||||
e investitori, accountability complessiva anche verso obblighi di legge e contratti.
|
||||
</li>
|
||||
<li>
|
||||
<strong>CTO / Head of Product (1):</strong> architettura, roadmap, quality gate di prodotto,
|
||||
responsabilità tecnica end-to-end.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Lead Engineer (1–2):</strong> sviluppo, code review, esecuzione CI/CD e qualità del
|
||||
codice in reparto.
|
||||
</li>
|
||||
<li>
|
||||
<strong>DevOps / Platform (1, oppure outsourcing):</strong> deploy, KMS, backup e
|
||||
disaster recovery, governo dell’ambiente di produzione.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Security & Privacy Lead (1, ruolo ibrido o contractor):</strong> sicurezza
|
||||
operativa, gestione delle vulnerabilità, coordinamento con il DPO.
|
||||
</li>
|
||||
<li>
|
||||
<strong>DPO / Privacy Responsible (frazionale o outsourcing):</strong> DPIA, gestione dei
|
||||
diritti degli interessati, coerenza dell’informativa privacy.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Legal & Compliance (frazionale o legale interno):</strong> contratti, NDA,
|
||||
revisione delle normative di settore legale e medico pertinenti ai prodotti.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Product / Clinical Advisor (part-time o consulente):</strong> validazione di
|
||||
funzionalità con impatto medico o legale, limiti d’uso e avvertenze.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Customer Success / Support (1):</strong> onboarding clienti, gestione richieste,
|
||||
escalation verso tecnici e governance.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Operations / HR (1, part-time):</strong> onboarding del personale, formazione,
|
||||
gestione delle segnalazioni interne.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Finance (1, part-time o outsourcing):</strong> contabilità, pagamenti, policy su
|
||||
incassi e fornitori.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="governance">2. Governance essenziale</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Weekly Tactical</strong> (Founder, CTO, Security/Privacy Lead, Customer Success):
|
||||
priorità operative, incidenti aperti, rilasci critici in corso.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Biweekly Product Sync</strong> (CTO, Lead Engineer, Product Advisor): backlog,
|
||||
piano di release, checkpoint di compliance di prodotto.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Monthly Compliance Check</strong> (Founder/CEO, Legal, DPO, Security Lead): revisione
|
||||
DPIA, vendor ad alto rischio, sintesi incidenti e azioni correttive.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Quarterly Board / Founders review:</strong> strategia, budget, rischi maggiori e
|
||||
capacità organizzative.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="responsabilita">3. Principali responsabilità (sintesi)</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Codice etico e policy:</strong> owner <em>Legal & Compliance</em> — approvatore
|
||||
<em>CEO</em>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Sicurezza operativa e incident response:</strong> owner <em>Security Lead</em> —
|
||||
esecutore tecnico <em>CTO</em>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Privacy, trattamenti sensibili e DPIA:</strong> owner <em>DPO</em> — supporto
|
||||
<em>Legal</em>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Rilasci in produzione:</strong> accountable <em>CTO</em> — responsible <em>Lead
|
||||
Engineer</em> — consulted <em>Security</em>, <em>DPO</em>, <em>Product Advisor</em>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Fornitori e sub-processori:</strong> owner <em>Operations</em> + <em>Legal</em> —
|
||||
due diligence <em>Security</em> / <em>DPO</em>.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Richieste degli interessati (DSR):</strong> owner <em>DPO</em> — esecuzione operativa
|
||||
<em>Customer Success</em> (ove applicabile).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Segnalazioni e whistleblowing:</strong> owner <em>Operations</em> / <em>HR</em> —
|
||||
supporto investigativo <em>Legal</em>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="raci">4. RACI sintetico per processi critici</h2>
|
||||
<p>
|
||||
Legenda: <strong>R</strong> = Responsible, <strong>A</strong> = Accountable,
|
||||
<strong>C</strong> = Consulted, <strong>I</strong> = Informed.
|
||||
</p>
|
||||
|
||||
<h3>Rilascio in produzione</h3>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Ruolo</th>
|
||||
<th class={th}>R</th>
|
||||
<th class={th}>A</th>
|
||||
<th class={th}>C</th>
|
||||
<th class={th}>I</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td}>Lead Engineer</td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>CTO</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Security Lead, DPO, Product Advisor</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>CEO, Customer Success</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Incident response (violazione dei dati)</h3>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Ruolo</th>
|
||||
<th class={th}>R</th>
|
||||
<th class={th}>A</th>
|
||||
<th class={th}>C</th>
|
||||
<th class={th}>I</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td}>Security Lead</td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>CEO</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>DPO, Legal, CTO</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Clienti coinvolti, Board (se impatto elevato)</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Onboarding vendor (sub-processore)</h3>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Ruolo</th>
|
||||
<th class={th}>R</th>
|
||||
<th class={th}>A</th>
|
||||
<th class={th}>C</th>
|
||||
<th class={th}>I</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td}>Operations</td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Legal</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Security Lead, DPO</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>CTO, Finance</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>DPIA per modulo sanitario o legale</h3>
|
||||
<table class={tbl}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class={th}>Ruolo</th>
|
||||
<th class={th}>R</th>
|
||||
<th class={th}>A</th>
|
||||
<th class={th}>C</th>
|
||||
<th class={th}>I</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class={td}>DPO</td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Legal</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>Product Advisor, CTO, Security Lead</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
<td class={td}></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class={td}>CEO</td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}></td>
|
||||
<td class={td}>●</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="flussi">5. Flussi decisionali rapidi</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Decisione tecnica ordinaria:</strong> Lead Engineer → CTO (documentare su ticket se
|
||||
impatta rischio o contratti).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Rilascio con impatto privacy o sicurezza:</strong> approvazione obbligatoria di
|
||||
<em>Security Lead</em> e <em>DPO</em> (target: entro 48 ore lavorative).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Incident P0:</strong> <em>Security Lead</em> notifica CEO, DPO e Legal entro 4 ore;
|
||||
escalation al Board se l’impatto è elevato (clienti, regolatori, volumi o classi di dati).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="controlli">6. Controlli minimi obbligatori (lean)</h2>
|
||||
<ul>
|
||||
<li>IAM con MFA per accesso a produzione e a segreti.</li>
|
||||
<li>CI/CD con SAST e scansione automatica delle dipendenze.</li>
|
||||
<li>SBOM generato automaticamente per ogni release.</li>
|
||||
<li>TLS in transito; cifratura a riposo per dati sensibili.</li>
|
||||
<li>Backup giornalieri e test DR trimestrale (ripristino documentato).</li>
|
||||
<li>Log degli accessi e alerting su anomalie (SIEM o servizio gestito).</li>
|
||||
<li>Checklist pre-release (security/privacy) con traccia digitale di approvazione.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="kpi">7. KPI essenziali (core metrics)</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Security:</strong> percentuale di patch critiche entro SLA; MTTD e MTTR per
|
||||
incidenti.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Privacy:</strong> tempo medio di risposta alle DSR; numero di DPIA completate / in
|
||||
corso.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Product:</strong> tempo di ciclo del deploy; copertura test sui moduli critici.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Operations:</strong> uptime rispetto a SLA; tempo medio di risposta del supporto;
|
||||
segnalazioni chiuse nel periodo.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="documentazione">8. Documentazione minima da mantenere</h2>
|
||||
<ul>
|
||||
<li>Codice etico firmato e registro delle adesioni.</li>
|
||||
<li>Informativa privacy e template di DPA (Data Processing Agreement).</li>
|
||||
<li>DPIA per trattamenti critici.</li>
|
||||
<li>Security whitepaper breve (1–2 pagine) per clienti e audit.</li>
|
||||
<li>Incident response playbook (versione esecutiva).</li>
|
||||
<li>SBOM e registro fornitori / sub-processori.</li>
|
||||
<li>Checklist pre-release e log delle approvazioni.</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="piano-30">9. Primo piano operativo (30 giorni)</h2>
|
||||
<ol>
|
||||
<li>
|
||||
<strong>Giorni 0–3:</strong> nomina formale dei ruoli chiave (Security Lead, DPO frazionale,
|
||||
Legal frazionale).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Giorni 4–10:</strong> integrare la checklist pre-release in CI/CD; abilitare MFA e
|
||||
policy IAM coerenti con il minimo sopra.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Giorni 11–17:</strong> avviare DPIA sul modulo medico/legale più critico; due
|
||||
diligence sui fornitori ad alto rischio.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Giorni 18–24:</strong> pubblicare una Trust Center di base (link al Codice etico,
|
||||
contatti DPO/security, materiali privacy/DPA se disponibili).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Giorni 25–30:</strong> tabletop su incident response; test di rollback deploy e
|
||||
ripristino backup; formazione iniziale obbligatoria (security e privacy).
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2 id="outsourcing">10. Outsourcing consigliato (per restare snelli)</h2>
|
||||
<ul>
|
||||
<li>
|
||||
<strong>Security Ops / SOC:</strong> servizio gestito per log, alerting e penetration test
|
||||
periodici.
|
||||
</li>
|
||||
<li>
|
||||
<strong>DPO e Legal:</strong> consulenti frazionali con esperienza PDPA, GDPR e contesto
|
||||
medico-legale locale.
|
||||
</li>
|
||||
<li>
|
||||
<strong>DevOps / Platform:</strong> servizi cloud gestiti (es. KMS, database gestiti) per
|
||||
ridurre carico operativo interno.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="note">11. Note pratiche e raccomandazioni</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Mantenere <strong>separazione dei compiti</strong> sui controlli critici (es. chi sviluppa
|
||||
non approva da solo gli accessi a produzione).
|
||||
</li>
|
||||
<li>
|
||||
<strong>Automatizzare</strong> controlli ripetitivi (SAST, SBOM, scansioni dipendenze) nella
|
||||
pipeline.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Documentare</strong> decisioni su rischio e accettazioni (log nel sistema di
|
||||
ticketing) per audit e post-mortem.
|
||||
</li>
|
||||
<li>
|
||||
Coinvolgere <strong>advisor clinici e legali</strong> esterni per convalide su funzionalità ad
|
||||
alto rischio.
|
||||
</li>
|
||||
<li>
|
||||
Prevedere <strong>revisione trimestrale</strong> del modello e aggiornamento delle
|
||||
responsabilità man mano che la società cresce.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Collegamenti</h2>
|
||||
<p>
|
||||
<a class={link} href="/codice-etico">Codice etico</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="/about">Chi siamo</a>
|
||||
<span class="text-nx-muted"> · </span>
|
||||
<a class={link} href="#indice">Torna all’indice</a>
|
||||
</p>
|
||||
</div>
|
||||
</SubpageLayout>
|
||||
18
src/pages/news.astro
Normal file
18
src/pages/news.astro
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Novità — NexStudio"
|
||||
description="Novità, release e articoli da NexStudio."
|
||||
heading="Novità"
|
||||
lead="Hub comunicazioni: collegate qui il vostro blog CMS, oppure elencate manualmente le notizie."
|
||||
>
|
||||
<p>
|
||||
Quando avrete contenuti da pubblicare (release di prodotto, note di
|
||||
conformità, eventi), potete sostituire questa pagina con una raccolta
|
||||
articoli Astro, un redirect verso Medium/Substack, o un headless CMS.
|
||||
</p>
|
||||
<h2>Archivio</h2>
|
||||
<p class="text-nx-muted">Nessuna news pubblicata per il momento.</p>
|
||||
</SubpageLayout>
|
||||
18
src/pages/newsletter/grazie.astro
Normal file
18
src/pages/newsletter/grazie.astro
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
import SubpageLayout from '../../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Grazie — Newsletter NexStudio"
|
||||
description="Iscrizione alla newsletter ricevuta."
|
||||
heading="Grazie"
|
||||
lead="La richiesta di iscrizione è stata inviata. Controlla la posta se è prevista una conferma (double opt-in)."
|
||||
>
|
||||
<p>
|
||||
Se usi un servizio con conferma via email, apri il messaggio e segui il
|
||||
link per completare l’iscrizione.
|
||||
</p>
|
||||
<p>
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/">Torna alla home</a>
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
53
src/pages/privacy.astro
Normal file
53
src/pages/privacy.astro
Normal file
@ -0,0 +1,53 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Privacy — NexStudio"
|
||||
description="Informativa sul trattamento dei dati personali NexStudio."
|
||||
heading="Informativa sulla privacy"
|
||||
lead="Documento provvisorio: va adattato alla vostra organizzazione e revisionato da un legale prima della pubblicazione definitiva."
|
||||
>
|
||||
<p>
|
||||
Questa pagina descrive, in forma generica, come NexStudio intende trattare i
|
||||
dati personali raccolti attraverso il sito web e i canali di contatto. Le
|
||||
finalità, le basi giuridiche e i destinatari vanno definiti in base alle
|
||||
vostre attività reali (es. gestione richieste, newsletter, analytics).
|
||||
</p>
|
||||
|
||||
<h2>Titolare del trattamento</h2>
|
||||
<p>
|
||||
Indicare ragione sociale, sede, P.IVA e modalità di contatto (es. email
|
||||
dedicata privacy). Per richieste degli interessati potete rimandare alla
|
||||
sezione <a class="text-sky-400/90 hover:text-sky-300" href="/#contatti"
|
||||
>Contatti</a
|
||||
> o a un indirizzo PEC / form strutturato.
|
||||
</p>
|
||||
|
||||
<h2>Tipologie di dati e finalità</h2>
|
||||
<p>
|
||||
Esempi da personalizzare: dati di navigazione e log tecnici; dati forniti
|
||||
volontariamente tramite moduli o chat; eventuali cookie di profilazione (da
|
||||
collegare alla <a class="text-sky-400/90 hover:text-sky-300" href="/cookies"
|
||||
>informativa cookie</a
|
||||
>). Per ogni trattamento indicare la base giuridica (contratto, legittimo
|
||||
interesse, consenso, obbligo legale).
|
||||
</p>
|
||||
|
||||
<h2>Conservazione e sicurezza</h2>
|
||||
<p>
|
||||
Specificare tempi di conservazione per categoria di dati e misure di
|
||||
sicurezza adottate (crittografia, controllo accessi, fornitori cloud, sede
|
||||
dei dati).
|
||||
</p>
|
||||
|
||||
<h2>Diritti degli interessati</h2>
|
||||
<p>
|
||||
Gli interessati possono esercitare i diritti previsti dal Reg. (UE) 2016/679
|
||||
(accesso, rettifica, cancellazione, limitazione, portabilità, opposizione,
|
||||
revoca del consenso). Dettagli operativi nella pagina <a
|
||||
class="text-sky-400/90 hover:text-sky-300"
|
||||
href="/gdpr">GDPR</a
|
||||
>.
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
25
src/pages/terms.astro
Normal file
25
src/pages/terms.astro
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||
---
|
||||
|
||||
<SubpageLayout
|
||||
title="Condizioni d’uso — NexStudio"
|
||||
description="Termini e condizioni d’uso dei siti e servizi NexStudio."
|
||||
heading="Condizioni d’uso"
|
||||
lead="Bozza: definire condizioni d’uso del sito, limitazioni di responsabilità, proprietà intellettuale e legge applicabile con supporto legale."
|
||||
>
|
||||
<p>
|
||||
Questa pagina ospiterà le condizioni d’uso per il sito
|
||||
pubblico e, se del caso, per l’accesso a demo o aree riservate. Struttura
|
||||
tipica: oggetto, utente, servizi offerti, obblighi dell’utente, limitazione
|
||||
di responsabilità, sospensione, legge e foro competente.
|
||||
</p>
|
||||
<h2>Collegamenti</h2>
|
||||
<p>
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/privacy">Privacy</a>
|
||||
·
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/cookies">Informativa cookie</a>
|
||||
·
|
||||
<a class="text-sky-400/90 hover:text-sky-300" href="/gdpr">Diritti privacy (GDPR)</a>
|
||||
</p>
|
||||
</SubpageLayout>
|
||||
Reference in New Issue
Block a user