Allinea contenuti legali e rifinisce UI home/footer.
Riorganizza privacy/gdpr/terms con struttura dati dedicata, uniforma copy e stile delle sezioni principali, aggiorna card prodotto/servizi e migliora ordine e separatori del footer per una presentazione più coerente. Made-with: Cursor
This commit is contained in:
@ -116,91 +116,95 @@ const linkClass =
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-10 flex flex-col gap-3 border-t border-nx-border/70 pt-8 sm:flex-row sm:items-center sm:gap-6"
|
class="relative mt-10 grid gap-8 pt-8 before:pointer-events-none before:absolute before:left-1/2 before:top-0 before:h-px before:w-screen before:-translate-x-1/2 before:bg-nx-border/70 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)] lg:items-start lg:gap-10"
|
||||||
data-nx-footer-print-collapsible
|
data-nx-footer-print-collapsible
|
||||||
>
|
>
|
||||||
<button
|
<div class="min-w-0">
|
||||||
type="button"
|
<p class="text-xs font-semibold uppercase tracking-wider text-nx-fg">
|
||||||
class="inline-flex h-10 shrink-0 items-center justify-center self-start rounded-lg border border-nx-border bg-nx-bg/50 px-4 text-sm font-medium text-sky-400/90 transition-colors hover:border-sky-500/35 hover:bg-sky-500/5 hover:text-sky-300 sm:self-auto"
|
Impostazioni cookie
|
||||||
data-nx-cc-open
|
</p>
|
||||||
>
|
<p class="mt-1.5 max-w-xl text-xs leading-relaxed text-nx-muted">
|
||||||
{footer.cookiePreferences.label}
|
{footer.cookiePreferences.hint}
|
||||||
</button>
|
</p>
|
||||||
<p class="max-w-xl text-xs leading-relaxed text-nx-muted sm:flex-1">
|
<button
|
||||||
{footer.cookiePreferences.hint}
|
type="button"
|
||||||
</p>
|
class="mt-3 inline-flex h-10 shrink-0 items-center justify-center self-start rounded-lg border border-nx-border bg-nx-bg/50 px-4 text-sm font-medium text-sky-400/90 transition-colors hover:border-sky-500/35 hover:bg-sky-500/5 hover:text-sky-300"
|
||||||
|
data-nx-cc-open
|
||||||
|
>
|
||||||
|
{footer.cookiePreferences.label}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="min-w-0">
|
||||||
|
<p class="text-xs font-semibold uppercase tracking-wider text-nx-fg">
|
||||||
|
{footer.newsletter.title}
|
||||||
|
</p>
|
||||||
|
<p class="mt-1.5 text-xs leading-relaxed text-nx-muted">
|
||||||
|
{footer.newsletter.description}
|
||||||
|
</p>
|
||||||
|
{
|
||||||
|
hasNewsletterAction ? (
|
||||||
|
<form
|
||||||
|
class="relative mt-3 flex flex-col gap-2 sm:flex-row sm:items-stretch"
|
||||||
|
action={nl.actionUrl}
|
||||||
|
method="post"
|
||||||
|
accept-charset="UTF-8"
|
||||||
|
>
|
||||||
|
{nextUrl ? <input type="hidden" name="_next" value={nextUrl} /> : null}
|
||||||
|
{notifySubject ? (
|
||||||
|
<input type="hidden" name="_subject" value={notifySubject} />
|
||||||
|
) : null}
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="_gotcha"
|
||||||
|
tabindex="-1"
|
||||||
|
autocomplete="off"
|
||||||
|
aria-hidden="true"
|
||||||
|
class="pointer-events-none absolute -left-[9999px] h-0 w-0 opacity-0"
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
name={nl.fieldName}
|
||||||
|
required
|
||||||
|
autocomplete="email"
|
||||||
|
placeholder={nl.placeholder}
|
||||||
|
class="min-h-10 w-full rounded-lg border border-nx-border bg-nx-bg/80 px-3 text-sm text-nx-fg placeholder:text-nx-muted/70 outline-none ring-sky-500/30 focus:border-sky-500/40 focus:ring-2"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
class="inline-flex h-10 shrink-0 items-center justify-center rounded-lg bg-nx-fg px-4 text-sm font-semibold text-nx-bg hover:bg-white sm:px-5"
|
||||||
|
>
|
||||||
|
{nl.buttonLabel}
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
) : (
|
||||||
|
<div class="mt-3 space-y-2">
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
disabled
|
||||||
|
placeholder={nl.placeholder}
|
||||||
|
class="min-h-10 w-full cursor-not-allowed rounded-lg border border-nx-border bg-nx-bg/40 px-3 text-sm text-nx-muted opacity-60"
|
||||||
|
aria-describedby="nx-newsletter-hint"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
disabled
|
||||||
|
class="inline-flex h-10 w-full cursor-not-allowed items-center justify-center rounded-lg border border-nx-border bg-nx-elevated/50 text-sm font-medium text-nx-muted opacity-70 sm:w-auto sm:px-5"
|
||||||
|
>
|
||||||
|
{nl.buttonLabel}
|
||||||
|
</button>
|
||||||
|
<p id="nx-newsletter-hint" class="text-xs leading-relaxed text-nx-muted">
|
||||||
|
Iscrizione in arrivo: configura l’endpoint nel progetto per attivare il modulo.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Una sola area newsletter, allineata a sinistra come la colonna Sezioni -->
|
|
||||||
<div class="pt-10 lg:max-w-md" data-nx-footer-print-collapsible>
|
|
||||||
<p class="text-xs font-semibold uppercase tracking-wider text-nx-fg">
|
|
||||||
{footer.newsletter.title}
|
|
||||||
</p>
|
|
||||||
<p class="mt-1.5 text-xs leading-relaxed text-nx-muted">
|
|
||||||
{footer.newsletter.description}
|
|
||||||
</p>
|
|
||||||
{
|
|
||||||
hasNewsletterAction ? (
|
|
||||||
<form
|
|
||||||
class="relative mt-3 flex flex-col gap-2 sm:flex-row sm:items-stretch"
|
|
||||||
action={nl.actionUrl}
|
|
||||||
method="post"
|
|
||||||
accept-charset="UTF-8"
|
|
||||||
>
|
|
||||||
{nextUrl ? <input type="hidden" name="_next" value={nextUrl} /> : null}
|
|
||||||
{notifySubject ? (
|
|
||||||
<input type="hidden" name="_subject" value={notifySubject} />
|
|
||||||
) : null}
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="_gotcha"
|
|
||||||
tabindex="-1"
|
|
||||||
autocomplete="off"
|
|
||||||
aria-hidden="true"
|
|
||||||
class="pointer-events-none absolute -left-[9999px] h-0 w-0 opacity-0"
|
|
||||||
/>
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
name={nl.fieldName}
|
|
||||||
required
|
|
||||||
autocomplete="email"
|
|
||||||
placeholder={nl.placeholder}
|
|
||||||
class="min-h-10 w-full rounded-lg border border-nx-border bg-nx-bg/80 px-3 text-sm text-nx-fg placeholder:text-nx-muted/70 outline-none ring-sky-500/30 focus:border-sky-500/40 focus:ring-2"
|
|
||||||
/>
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
class="inline-flex h-10 shrink-0 items-center justify-center rounded-lg bg-nx-fg px-4 text-sm font-semibold text-nx-bg hover:bg-white sm:px-5"
|
|
||||||
>
|
|
||||||
{nl.buttonLabel}
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
) : (
|
|
||||||
<div class="mt-3 space-y-2">
|
|
||||||
<input
|
|
||||||
type="email"
|
|
||||||
disabled
|
|
||||||
placeholder={nl.placeholder}
|
|
||||||
class="min-h-10 w-full cursor-not-allowed rounded-lg border border-nx-border bg-nx-bg/40 px-3 text-sm text-nx-muted opacity-60"
|
|
||||||
aria-describedby="nx-newsletter-hint"
|
|
||||||
/>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
disabled
|
|
||||||
class="inline-flex h-10 w-full cursor-not-allowed items-center justify-center rounded-lg border border-nx-border bg-nx-elevated/50 text-sm font-medium text-nx-muted opacity-70 sm:w-auto sm:px-5"
|
|
||||||
>
|
|
||||||
{nl.buttonLabel}
|
|
||||||
</button>
|
|
||||||
<p id="nx-newsletter-hint" class="text-xs leading-relaxed text-nx-muted">
|
|
||||||
Iscrizione in arrivo: configura l’endpoint nel progetto per attivare il modulo.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="mt-0 flex flex-col gap-3 border-t border-nx-border pt-8 sm:flex-row sm:items-end sm:justify-between sm:gap-6"
|
class="relative mt-0 flex flex-col gap-3 pt-8 before:pointer-events-none before:absolute before:left-1/2 before:top-0 before:h-px before:w-screen before:-translate-x-1/2 before:bg-nx-border sm:flex-row sm:items-end sm:justify-between sm:gap-6"
|
||||||
>
|
>
|
||||||
<p class="min-w-0 text-xs leading-relaxed text-nx-muted sm:text-sm">
|
<p class="min-w-0 text-xs leading-relaxed text-nx-muted sm:text-sm">
|
||||||
© {new Date().getFullYear()} NexStudio. {footer.legalLine}
|
© {new Date().getFullYear()} NexStudio. {footer.legalLine}
|
||||||
|
|||||||
135
src/data/codice-etico.ts
Normal file
135
src/data/codice-etico.ts
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
/**
|
||||||
|
* Codice etico — riferimenti a prodotti e domini **separati in dati**:
|
||||||
|
* aggiungere una riga a `productLines` e, se serve, un `ConformityBlock` in
|
||||||
|
* `codiceEticoConformityBlocks` senza riscrivere la pagina intera.
|
||||||
|
*/
|
||||||
|
export const codiceEtico = {
|
||||||
|
productLines: [
|
||||||
|
{ id: 'platform' as const, name: 'Piattaforme e servizi SaaS' },
|
||||||
|
{ id: 'legal' as const, name: 'Legal Tech', productName: 'LexAura' as const },
|
||||||
|
{ id: 'health' as const, name: 'Health Tech', productName: 'MediAura' as const },
|
||||||
|
],
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export type ConformityBlock = {
|
||||||
|
id: string;
|
||||||
|
anchorId: string;
|
||||||
|
title: string;
|
||||||
|
lead?: string;
|
||||||
|
items: readonly string[];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sezione 4 — sottosezioni indipendenti. Per una nuova verticalità (es. fintech
|
||||||
|
* regolamentato): `productLines` + un nuovo blocco qui, più eventuali li dedicati
|
||||||
|
* altrove mappati da un piccolo elenco in questo file.
|
||||||
|
*/
|
||||||
|
export const codiceEticoConformityBlocks: readonly ConformityBlock[] = [
|
||||||
|
{
|
||||||
|
id: 'platform',
|
||||||
|
anchorId: 'conformita-piattaforma',
|
||||||
|
title: '4.1 Piattaforma e offerta SaaS (obblighi orizzontali)',
|
||||||
|
lead:
|
||||||
|
'Riferimenti comuni a tutte le attività di trattamento e a tutte le linee in abbonamento, indipendentemente dal dominio del cliente finale.',
|
||||||
|
items: [
|
||||||
|
'Thailand Personal Data Protection Act (PDPA).',
|
||||||
|
"Regolamento generale sulla protezione dei dati (GDPR), quando applicabile per utenti o servizi nell'Unione europea.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'legal',
|
||||||
|
anchorId: 'conformita-legal',
|
||||||
|
title: '4.2 Ambito legale (Legal Tech / LexAura)',
|
||||||
|
lead:
|
||||||
|
'Misure e riferimenti per software e flussi ad uso di studi legali e professioni regolamentate, inclusa l’attività riferibile a LexAura o ad evoluzioni nello stesso dominio.',
|
||||||
|
items: [
|
||||||
|
'Norme professionali e di segreto professionale per l’esercizio forense; rispetto di privilegi professionali (ad es. attorney–client privilege) ove applicabili; lealtà e correttezza verso controparti e terzi, nei limiti della legge e deontologia.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'health',
|
||||||
|
anchorId: 'conformita-sanitario',
|
||||||
|
title: '4.3 Ambito sanitario (Health Tech / MediAura)',
|
||||||
|
lead:
|
||||||
|
'Dati, rischi e, se del caso, classificazioni regolatorie riferibili a Health Tech e a MediAura (e prodotti nello stesso perimetro).',
|
||||||
|
items: [
|
||||||
|
'Normative sanitarie e standard locali o internazionali pertinenti (requisiti per la gestione dei dati clinici, standard ISO rilevanti, continuità assistenziale ove toccata dal software).',
|
||||||
|
'Requisiti per dispositivi medici o software a scopo medico (es. EU MDR, regolamenti locali) se le funzionalità rientrano nella definizione di dispositivo medico o equivalente per il mercato prescelto.',
|
||||||
|
"Norme e buone pratiche su segreto e riservatezza in ambito sanitario (es. relazioni con operatori) e, se applicabile: HIPAA (Stati Uniti) oltre a quanto già previsto a livello orizzontale (GDPR, PDPA) per i trasferimenti.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
type ProductLine = (typeof codiceEtico.productLines)[number];
|
||||||
|
|
||||||
|
export function getCodiceEticoProductListPhrase(): string {
|
||||||
|
const lines = codiceEtico.productLines.filter(
|
||||||
|
(p): p is ProductLine & { id: 'legal' | 'health' } => p.id !== 'platform',
|
||||||
|
);
|
||||||
|
return lines
|
||||||
|
.map((p) => (p.id !== 'platform' && 'productName' in p ? `${p.productName} (${p.name})` : p.name))
|
||||||
|
.join(' e ');
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Testo unico per §1, coerente con `productLines` */
|
||||||
|
export function getCodiceEticoPremessa(): string {
|
||||||
|
const elenco = getCodiceEticoProductListPhrase();
|
||||||
|
return (
|
||||||
|
'Questo Codice Etico stabilisce i principi, i doveri e le regole di comportamento che tutti i ' +
|
||||||
|
'soggetti coinvolti in NexStudio (di seguito «Società») devono osservare nello ' +
|
||||||
|
'sviluppo, nella commercializzazione e nella gestione di soluzioni SaaS, con riferimento organizzato per linee (piattaforma comune, ambito legale, ambito sanitario) e, in concreto, in particolare a ' +
|
||||||
|
elenco +
|
||||||
|
". Se l'offerta si arricchirà o diverrà, le nuove linee a elevata regolamentazione andranno descritte con lo stesso schema (piattaforma + perimetro di dominio), tramite allegati o revisione del testo, senza mescolare criteri tra verticalità. " +
|
||||||
|
'Mira a garantire conformità normativa, tutela della privacy, sicurezza, ' +
|
||||||
|
'qualità tecnica, protezione dei diritti degli utenti e responsabilità professionale.'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Esempio: validazione in §7, separata per perimetro; estendere l'array con nuove righe. */
|
||||||
|
export const qualitaValidazioneProdotto: readonly { id: string; text: string }[] = [
|
||||||
|
{
|
||||||
|
id: 'legal',
|
||||||
|
text: 'per funzionalità che supportano scelte o attività in ambito legale, validazione con esperti legali, studi pilota, documentazione di limiti e avvertenze, così come previsto per LexAura o equivalenti in Legal Tech.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'health',
|
||||||
|
text: 'per funzionalità che assistono decisioni cliniche o attività sanitarie, validazione con esperti clinici, studi pilota, avvertenze, così come previsto per MediAura o equivalenti in Health Tech.',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
/** Voci in “Note pratiche” che dipendono dalla stessa separazione dominio. */
|
||||||
|
export const notePraticheDPIA: readonly string[] = [
|
||||||
|
"Eseguire DPIA per trattamenti critici per ciascun perimetro (in particolare trattamenti sanitari o legali a elevata criticità) documentando il nesso con le linee prodotto coinvolte.",
|
||||||
|
"Per la linea Health Tech / MediAura o equivalenti, verificare se parti del prodotto rientrano nella definizione di dispositivo medico o software a scopo medico, ai fini di registrazione o approvazione secondo il mercato e la classificazione scelta.",
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* §5.1 — separazione netta tra fornitore SaaS, sottoscrittori (medici, avvocati, strutture)
|
||||||
|
* e interessati (pazienti, clienti delle parti). Il testo legale completo resta in
|
||||||
|
* privacy policy, DPA e informative verso pazienti/clienti; qui solo principi e condotta.
|
||||||
|
*/
|
||||||
|
export const codiceEticoTutelaDatiRuoli = {
|
||||||
|
anchorId: 'tutela-dati-ruoli',
|
||||||
|
title: '5.1 Pazienti, clienti degli studi e abbonamento: ruoli e trattamento',
|
||||||
|
intro:
|
||||||
|
"Sì, va spiegata la divisione di ruoli: il Codice fissa cosa ci aspettiamo da ciascuna parte, senza sostituire l’informativa privacy né i contratti. Sotto, in sintesi, chi tratta i dati dei pazienti e dei clienti rispetto agli studi e con quali doveri (Società, sottoscrittori, interessati).",
|
||||||
|
rows: [
|
||||||
|
{
|
||||||
|
label: 'NexStudio (fornitore / operatore del servizio)',
|
||||||
|
text:
|
||||||
|
"La Società tratta dati personali e, ove presenti, categorie particolari (es. salute, situazione giuridica) solo per fornire, proteggere e migliorare le piattaforme, per supporto, sicurezza, fatturazione, adempimenti di legge e, se contrattualmente previsto, per assistere il titolare nell’onorare i diritti degli interessati. Divieto, per chi lavora in Società, di usi incompatibili, di rivendere i dati a scopi estranei al servizio, e di accedere al contenuto professionale oltre quanto necessario tecnicamente o per la gestione del supporto autorizzata. Le qualifiche giuridiche esatte (es. responsabile del trattamento, art. 28 GDPR, o altro schema sotto PDPA) sono definite per iscritto in DPA e documenti privacy.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Sottoscrittori in abbonamento (studi legali, medici, strutture, team iscritti)',
|
||||||
|
text:
|
||||||
|
"I sottoscrittori sono, di regola, titolari o co-titolari del trattamento sui dati che inseriscono o fanno inserire nella piattaforma: in particolare pazienti o assistiti (Health Tech) e clienti, controparti o terzi coinvolti in fascicoli o pratiche (Legal Tech), oltre ai dati del proprio personale. Devono: avere base giuridica e informative adeguate verso i propri pazienti, clienti e assistiti, rispettare obblighi deontologici (segreto, riservatezza, tenuta degli atti), mappare finalità e tempi, dare istruzioni documentate al fornitore ove serva la nomina di responsabile, e rispondere in prima istanza alle richieste di accesso, rettifica, cancellazione e opposizione degli interessati, collaborando con NexStudio quando servono strumenti tecnici o log.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Pazienti e clienti (interessati)',
|
||||||
|
text:
|
||||||
|
"Esercitano i diritti privacy in primis verso lo studio, la struttura o il professionista che tratti i loro dati. NexStudio, salvo esercizio diretto previsto per legge o canale specifico, inoltra o supporta l’esercizio attraverso il titolare, nei tempi e modi del contratto e del prodotto.",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
note:
|
||||||
|
"I dettagli operativi (categorie, tempi, tabella del trattamento, sub-responsabili, trasferimenti extra-UE, testi informativa rivolti a pazienti o clienti delle parti) stanno in Privacy policy, informativa cookie, DPA, condizioni d’uso e allegati, aggiornabili senza riformulare l’intero Codice quando cambia solo l’allegato legale.",
|
||||||
|
} as const;
|
||||||
96
src/data/gdpr.ts
Normal file
96
src/data/gdpr.ts
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
/**
|
||||||
|
* Pagina GDPR: diritti degli interessati e modalita' operative.
|
||||||
|
* Documento di supporto alla privacy policy quadro del portale NexStudio.
|
||||||
|
*/
|
||||||
|
export const gdprDocument = {
|
||||||
|
version: '1.0',
|
||||||
|
inVigoreDal: '22 aprile 2026',
|
||||||
|
ultimoAggiornamento: '22 aprile 2026',
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const gdprCrossReferences = {
|
||||||
|
lead:
|
||||||
|
"Per LexAura e MediAura, i dettagli operativi del singolo prodotto sono indicati nelle rispettive informative privacy pubblicate sui portali SaaS dedicati.",
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const gdprRiferimenti: readonly { label: string; href: string }[] = [
|
||||||
|
{ label: 'Informativa privacy', href: '/privacy' },
|
||||||
|
{ label: 'Cookie policy', href: '/cookies' },
|
||||||
|
{ label: "Condizioni d'uso", href: '/terms' },
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export type GdprSection = {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
paragraphs: readonly string[];
|
||||||
|
bullets?: readonly string[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const gdprSections: readonly GdprSection[] = [
|
||||||
|
{
|
||||||
|
id: 'quadro',
|
||||||
|
title: '1. Quadro normativo e ambito',
|
||||||
|
paragraphs: [
|
||||||
|
"Il Regolamento (UE) 2016/679 (GDPR) tutela i diritti degli interessati e disciplina il trattamento dei dati personali. Questa pagina spiega come esercitare tali diritti verso NexStudio nel contesto del portale corporate e dei servizi collegati.",
|
||||||
|
"La presente pagina integra, ma non sostituisce, l'informativa privacy generale: per categorie dati, finalita' e basi giuridiche si rimanda a `/privacy`; per cookie e tecnologie simili si rimanda a `/cookies`.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'diritti',
|
||||||
|
title: '2. Diritti riconosciuti agli interessati',
|
||||||
|
paragraphs: [
|
||||||
|
"Nei limiti previsti dalla normativa applicabile, l'interessato puo' esercitare i seguenti diritti:",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
"accesso ai dati personali e ottenimento di copia in formato intelligibile;",
|
||||||
|
"rettifica dei dati inesatti e integrazione dei dati incompleti;",
|
||||||
|
"cancellazione dei dati (diritto all'oblio), quando ne ricorrono i presupposti di legge;",
|
||||||
|
"limitazione del trattamento in presenza delle condizioni previste dal GDPR;",
|
||||||
|
"portabilita' dei dati trattati con mezzi automatizzati sulla base di consenso o contratto;",
|
||||||
|
"opposizione al trattamento fondato su legittimo interesse, inclusa l'opposizione a comunicazioni marketing ove applicabile;",
|
||||||
|
"revoca del consenso in qualsiasi momento, senza pregiudicare la liceita' del trattamento precedente;",
|
||||||
|
"reclamo all'autorita' di controllo competente.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'chi-contattare',
|
||||||
|
title: '3. Chi contattare per esercitare i diritti',
|
||||||
|
paragraphs: [
|
||||||
|
"Per trattamenti in cui NexStudio agisce come titolare (es. contatti dal sito, gestione richieste corporate, sicurezza infrastrutturale di propria competenza), la richiesta puo' essere inviata tramite i canali di contatto privacy indicati nei riferimenti istituzionali.",
|
||||||
|
"Per trattamenti svolti nei tenant SaaS del cliente (LexAura/MediAura), il primo punto di contatto resta di norma il cliente titolare (es. studio legale, struttura sanitaria, organizzazione cliente), che determina finalita' e mezzi del trattamento.",
|
||||||
|
"NexStudio, ove operi come responsabile del trattamento, supporta il cliente titolare nella gestione delle richieste ricevute, secondo DPA e accordi contrattuali applicabili.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'identificazione',
|
||||||
|
title: "4. Verifica dell'identita' e gestione della richiesta",
|
||||||
|
paragraphs: [
|
||||||
|
"Per tutelare riservatezza e sicurezza, NexStudio puo' richiedere informazioni minime aggiuntive necessarie a verificare l'identita' del richiedente e la legittimazione ad agire.",
|
||||||
|
"Le richieste sono gestite con procedure tracciate e prese in carico nei tempi previsti dal GDPR; in caso di richieste complesse o multiple, i termini possono essere prorogati nei limiti consentiti dalla legge, con comunicazione motivata.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'limitazioni',
|
||||||
|
title: '5. Casi di limitazione o rigetto',
|
||||||
|
paragraphs: [
|
||||||
|
"L'esercizio dei diritti puo' essere limitato o non accolto, in tutto o in parte, quando sussistono obblighi legali prevalenti, esigenze di difesa in giudizio, tutela dei diritti di terzi o altre eccezioni previste dalla normativa.",
|
||||||
|
"In tali casi NexStudio fornisce, ove possibile, un riscontro motivato e indica i rimedi disponibili, incluso il diritto di proporre reclamo all'autorita' competente.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'trasferimenti',
|
||||||
|
title: '6. Trasferimenti internazionali e garanzie',
|
||||||
|
paragraphs: [
|
||||||
|
"Qualora il trattamento comporti trasferimenti extra SEE/UE, NexStudio adotta le misure richieste dalla normativa (es. clausole contrattuali standard e misure supplementari tecniche/organizzative) secondo quanto descritto nell'informativa privacy.",
|
||||||
|
"Le informazioni rilevanti sui trasferimenti possono essere fornite all'interessato nei limiti consentiti e in coerenza con obblighi contrattuali e di sicurezza.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'documenti-prodotto',
|
||||||
|
title: '7. Coordinamento con le privacy dei SaaS',
|
||||||
|
paragraphs: [
|
||||||
|
"Le privacy policy dei portali SaaS LexAura e MediAura dettagliano, per ciascun prodotto, flussi dati, tempi di conservazione, ruoli privacy e canali dedicati. In caso di differenze tra documenti, prevalgono i documenti specifici del servizio e gli accordi contrattuali applicabili.",
|
||||||
|
"Questa pagina mantiene funzione di riferimento generale sul quadro GDPR del gruppo di servizi NexStudio.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
@ -17,7 +17,6 @@ export const footer = {
|
|||||||
{ label: 'Servizi', href: '/#servizi' },
|
{ label: 'Servizi', href: '/#servizi' },
|
||||||
{ label: 'Stack', href: '/#stack' },
|
{ label: 'Stack', href: '/#stack' },
|
||||||
{ label: 'FAQ', href: '/#faq' },
|
{ label: 'FAQ', href: '/#faq' },
|
||||||
{ label: 'Contattaci', href: '/#contatti' },
|
|
||||||
] as const,
|
] as const,
|
||||||
|
|
||||||
/** Pannello preferenze (CMP): non è un documento legale; tenuto fuori dalla colonna Normative */
|
/** Pannello preferenze (CMP): non è un documento legale; tenuto fuori dalla colonna Normative */
|
||||||
@ -50,8 +49,7 @@ export const footer = {
|
|||||||
{ label: 'Chi siamo', href: '/about' },
|
{ label: 'Chi siamo', href: '/about' },
|
||||||
{ label: 'Codice etico', href: '/codice-etico' },
|
{ label: 'Codice etico', href: '/codice-etico' },
|
||||||
{ label: 'Modello organizzativo', href: '/modello-organizzativo' },
|
{ label: 'Modello organizzativo', href: '/modello-organizzativo' },
|
||||||
/** `href` vuoto = etichetta senza link (es. in attesa di pagina) */
|
{ label: 'Dove siamo', href: '/dove-siamo' },
|
||||||
{ label: 'Dove siamo', href: '' },
|
|
||||||
] as const,
|
] as const,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -12,11 +12,11 @@ export const productsSection = {
|
|||||||
tagline: 'Il supporto analitico per l’eccellenza legale.',
|
tagline: 'Il supporto analitico per l’eccellenza legale.',
|
||||||
focus: 'Gestione dati, memorie e contrattualistica.',
|
focus: 'Gestione dati, memorie e contrattualistica.',
|
||||||
body:
|
body:
|
||||||
'LexAura è la piattaforma SaaS di NexStudio dedicata ai professionisti del diritto. Sviluppata per ottimizzare la gestione di carichi informativi elevati, LexAura utilizza l’Intelligenza Artificiale per l’incrocio dinamico di leggi, sentenze e normative.',
|
'LexAura è la piattaforma SaaS di NexStudio dedicata ai professionisti del diritto. Sviluppata per ottimizzare la gestione di carichi informativi elevati, LexAura utilizza l’Intelligenza Artificiale per l’incrocio dinamico di leggi, sentenze e normative, garantendo una base analitica solida e tempestiva.',
|
||||||
highlights: [
|
highlights: [
|
||||||
{
|
{
|
||||||
title: 'Sintesi normativa',
|
title: 'Sintesi normativa',
|
||||||
text: 'Analisi accelerata dei precedenti e delle fonti.',
|
text: 'Analisi accelerata dei precedenti, delle fonti e dei contesti.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Drafting assistito',
|
title: 'Drafting assistito',
|
||||||
@ -27,8 +27,6 @@ export const productsSection = {
|
|||||||
text: 'Automazione dei processi documentali per lo studio legale moderno.',
|
text: 'Automazione dei processi documentali per lo studio legale moderno.',
|
||||||
},
|
},
|
||||||
] as const,
|
] as const,
|
||||||
closing:
|
|
||||||
'L’obiettivo di LexAura non è sostituire l’avvocato, ma liberarne il tempo, garantendo una base analitica solida e tempestiva.',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'mediaura',
|
id: 'mediaura',
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
export const services = {
|
export const services = {
|
||||||
eyebrow: 'I nostri servizi',
|
eyebrow: 'I nostri servizi',
|
||||||
title: 'Supporto, implementazione ed evoluzione',
|
title: 'Implementazione, evoluzione e supporto',
|
||||||
lead:
|
lead:
|
||||||
'In NexStudio, il nostro impegno non si esaurisce con la fornitura della licenza software. Il nostro modello di servizio è progettato per garantire che ogni professionista e struttura possa estrarre il massimo valore dalle potenzialità dell’Intelligenza Artificiale integrata in LexAura e MediAura.',
|
'In NexStudio, il nostro impegno non si esaurisce con la fornitura della licenza software. Il nostro modello di servizio è progettato per garantire che ogni professionista e struttura possa estrarre il massimo valore dalle potenzialità dell’Intelligenza Artificiale integrata in LexAura e MediAura.',
|
||||||
cards: [
|
cards: [
|
||||||
|
|||||||
180
src/data/modello-organizzativo.ts
Normal file
180
src/data/modello-organizzativo.ts
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
/**
|
||||||
|
* Modello organizzativo — contenuti in dati, così si aggiornano ruoli e processi
|
||||||
|
* senza toccare il layout della pagina.
|
||||||
|
*/
|
||||||
|
export const modelloOrganizzativo = {
|
||||||
|
introBox:
|
||||||
|
'NexStudio opera da Bangkok. I numeri tra parentesi nelle voci sotto sono orientativi (early stage): formalizzate nomine e deleghe e aggiornate a ogni crescita di team.',
|
||||||
|
perimetro:
|
||||||
|
"Documento su ruoli, ritmi di governo e controlli «lean» per la Società, con LexAura (Legal Tech) e MediAura (Health Tech) come linee prodotto. Non sostituisce modelli 231, statuti o pareri legali: allineatelo a entità giuridica, consiglio e consulenti.",
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoRuoli = [
|
||||||
|
{
|
||||||
|
label: 'Founder / CEO (1)',
|
||||||
|
text: 'strategia, approvazione delle policy, contatti con board e investitori, accountability complessiva verso legge e contratti.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'CTO / Head of Product (1)',
|
||||||
|
text: 'architettura, roadmap, quality gate di prodotto, responsabilità tecnica end-to-end.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Lead Engineer (1–2)',
|
||||||
|
text: 'sviluppo, code review, CI/CD, qualità del codice in reparto.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'DevOps / Platform (1, oppure outsourcing)',
|
||||||
|
text: 'deploy, KMS, backup e disaster recovery, governo ambiente di produzione.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Security & Privacy Lead (1, ibrido o contractor)',
|
||||||
|
text: 'sicurezza operativa, vulnerabilità, allineamento con DPO e rilasci sensibili.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'DPO / Privacy responsible (frazionale o outsourcing)',
|
||||||
|
text: 'DPIA, diritti degli interessati, coerenza informativa e register dei trattamenti.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Legal & compliance (frazionale o esterno)',
|
||||||
|
text: 'contratti, NDA, normative di settore pertinenza Legal Tech e Health Tech.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Product / domain advisor (part-time o consulente)',
|
||||||
|
text: 'convalida funzionalità ad impatto su decisioni mediche o legali, avvertenze d’uso.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Customer success / support (1)',
|
||||||
|
text: 'onboarding, richieste, escalation verso tecnica e governance.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Operations / HR (1, part-time)',
|
||||||
|
text: 'onboarding personale, formazione, canali segnalazioni e whistleblowing interno.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Finance (1, part-time o outsourcing)',
|
||||||
|
text: 'contabilità, incassi, policy fornitori.',
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoGovernance = [
|
||||||
|
{
|
||||||
|
nome: 'Weekly tactical',
|
||||||
|
partecipanti: 'Founder, CTO, Security/privacy, customer success',
|
||||||
|
nota: 'priorità, incidenti aperti, rilasci critici.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nome: 'Product sync (bisettimanale)',
|
||||||
|
partecipanti: 'CTO, lead engineer, domain advisor',
|
||||||
|
nota: 'backlog, release, checkpoint compliance di prodotto (per linea ove serva).',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nome: 'Compliance check (mensile)',
|
||||||
|
partecipanti: 'CEO, legal, DPO, security',
|
||||||
|
nota: 'DPIA, vendor ad alto rischio, sintesi incidenti e correzioni.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
nome: 'Review trimestrale',
|
||||||
|
partecipanti: 'board o founders',
|
||||||
|
nota: 'strategia, budget, rischi e capacity.',
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoResponsabilitaSintesi: readonly string[] = [
|
||||||
|
"Codice etico e policy: owner legal & compliance; approvazione CEO.",
|
||||||
|
"Sicurezza operativa e incident response: owner security lead; esecuzione tecnica CTO.",
|
||||||
|
"Privacy, trattamenti sensibili, DPIA: owner DPO; supporto legal.",
|
||||||
|
"Rilasci in produzione: accountable CTO; responsible lead engineer; consulted security, DPO, domain advisor.",
|
||||||
|
"Fornitori e sub-processori: owner operations e legal; due diligence security e DPO.",
|
||||||
|
"Richieste interessati (DSR): owner DPO; operatività customer success ove applicabile.",
|
||||||
|
"Segnalazioni e whistleblowing: owner operations/HR; supporto investigativo legal.",
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoControlliLean: readonly string[] = [
|
||||||
|
'IAM con MFA per accesso a produzione e a segreti.',
|
||||||
|
'CI/CD con SAST e scansione dipendenze in pipeline.',
|
||||||
|
'SBOM per ogni release.',
|
||||||
|
'TLS in transito; cifratura a riposo per dati sensibili.',
|
||||||
|
'Backup giornalieri; test DR trimestrale con ripristino documentato.',
|
||||||
|
"Log e alerting su anomalie (SIEM o servizio gestito).",
|
||||||
|
"Checklist pre-release security/privacy con traccia d'approvazione.",
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoKpi = [
|
||||||
|
{ area: 'Security', testo: 'patch critiche entro SLA; MTTD e MTTR su incidenti.' },
|
||||||
|
{ area: 'Privacy', testo: 'tempo risposta DSR; DPIA aperte vs completate per perimetro (Legale, Sanitario, piattaforma).' },
|
||||||
|
{ area: 'Product', testo: 'lead time deploy; copertura test sui moduli critici (per linea prodotto).' },
|
||||||
|
{ area: 'Operations', testo: 'uptime su SLA; tempo risposta support; segnalazioni chiuse nel periodo.' },
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoDocumentazione: readonly string[] = [
|
||||||
|
'Codice etico, adesioni in registro.',
|
||||||
|
'Informativa privacy, DPA, condizioni d’uso.',
|
||||||
|
'DPIA per trattamenti critici (riferire per perimetro, come nel codice etico).',
|
||||||
|
"Trust/security brief per clienti e audit (1–2 pagine).",
|
||||||
|
"Playbook incident response (versione eseguibile).",
|
||||||
|
"SBOM e registro fornitori e sub-processori.",
|
||||||
|
"Checklist pre-release e log approvazioni.",
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoPiano30: readonly { quando: string; testo: string }[] = [
|
||||||
|
{
|
||||||
|
quando: 'Giorni 0–3',
|
||||||
|
testo: 'nomine scritte su security, DPO e legal frazionali, con deleghe.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quando: 'Giorni 4–10',
|
||||||
|
testo: "checklist pre-release in pipeline; MFA e policy IAM al minimo sopra.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quando: 'Giorni 11–17',
|
||||||
|
testo:
|
||||||
|
'avviare o aggiornare una DPIA sul trattamento più critico (es. perimetro MediAura o LexAura); due diligence fornitori ad alto rischio.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quando: 'Giorni 18–24',
|
||||||
|
testo:
|
||||||
|
'Trust center di base: link a codice etico, canali DPO/security, materiali privacy/DPA se disponibili.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quando: 'Giorni 25–30',
|
||||||
|
testo: 'esercitazione su incident; test rollback e backup; formazione security/privacy obbligatoria iniziale.',
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoOutsourcing: readonly { titolo: string; testo: string }[] = [
|
||||||
|
{
|
||||||
|
titolo: 'Security ops / SOC',
|
||||||
|
testo: 'log, alerting, penetration test periodici.',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titolo: 'DPO e legal',
|
||||||
|
testo: "consulenti con PDPA, GDPR e contesto medico-legale dei mercati in cui servite i clienti.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titolo: 'DevOps / platform',
|
||||||
|
testo: "servizi cloud gestiti (KMS, database gestiti) per ridurre toil interno.",
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoNote: readonly string[] = [
|
||||||
|
"Separazione dei compiti: chi approva in produzione non è l’unico a concedere accessi amministrativi.",
|
||||||
|
'Automatizzare controlli ripetitivi (SAST, SBOM, scan dipendenze).',
|
||||||
|
"Documentare su ticketing accettazione rischio e decisioni per audit e post-mortem.",
|
||||||
|
'Per LexAura e MediAura: convalida esterna su funzionalità ad alto rischio di dominio.',
|
||||||
|
'Revisione trimestrale del modello; aggiornare le voci in questo documento e le deleghe scritte.',
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const modelloOrganizzativoFlussiDecisionali: readonly { titolo: string; testo: string }[] = [
|
||||||
|
{
|
||||||
|
titolo: 'Decisione tecnica ordinaria',
|
||||||
|
testo: "lead engineer → CTO (ticket con nota se impatta rischi privacy/sicurezza o contrattuali).",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titolo: "Rilascio con impatto privacy o sicurezza",
|
||||||
|
testo: "via libera di security lead e DPO, target 48 ore lavorative salvo deroga motivata scritta.",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
titolo: "Incident P0 (es. data breach probabile o confermato)",
|
||||||
|
testo: "security notifica entro 4h CEO, DPO e legal; board se impatto su clienti, regolatori o classi di dati sensibili elevato.",
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
160
src/data/privacy.ts
Normal file
160
src/data/privacy.ts
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
/**
|
||||||
|
* Informativa privacy del portale NexStudio e dei prodotti SaaS LexAura / MediAura.
|
||||||
|
* Questo file centralizza i contenuti della pagina /privacy per facilitare revisioni legali.
|
||||||
|
*/
|
||||||
|
export const privacyDocument = {
|
||||||
|
version: '1.0',
|
||||||
|
inVigoreDal: '22 aprile 2026',
|
||||||
|
ultimoAggiornamento: '22 aprile 2026',
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const privacyCrossReferences = {
|
||||||
|
lead:
|
||||||
|
"L'informativa distingue il portale istituzionale NexStudio dai servizi SaaS LexAura e MediAura, che rispondono a esigenze operative e livelli di rischio differenti; le informative privacy specifiche dei singoli SaaS, pubblicate nei rispettivi siti/portali applicativi, restano il riferimento di dettaglio per l'uso del prodotto.",
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export const privacyRiferimenti: readonly { label: string; href: string }[] = [
|
||||||
|
{ label: "Condizioni d'uso", href: '/terms' },
|
||||||
|
{ label: 'Cookie policy', href: '/cookies' },
|
||||||
|
{ label: 'Diritti GDPR', href: '/gdpr' },
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export type PrivacySection = {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
paragraphs: readonly string[];
|
||||||
|
bullets?: readonly string[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const privacySections: readonly PrivacySection[] = [
|
||||||
|
{
|
||||||
|
id: 'ambito',
|
||||||
|
title: '1. Ambito della presente informativa',
|
||||||
|
paragraphs: [
|
||||||
|
"La presente informativa descrive il quadro generale con cui NexStudio tratta i dati personali raccolti tramite il sito istituzionale pubblico e i canali corporate (contatti, richieste demo, onboarding commerciale) collegati anche ai prodotti LexAura (Legal Tech) e MediAura (Health Tech).",
|
||||||
|
"Per l'uso operativo dei SaaS (area riservata, tenant cliente, funzionalita' applicative), il livello di dettaglio e il ruolo privacy possono variare: NexStudio puo' operare come titolare, contitolare o responsabile del trattamento a seconda del servizio concretamente attivato e degli accordi contrattuali sottoscritti con il cliente business.",
|
||||||
|
"In caso di conflitto tra questa pagina e un Data Processing Agreement (DPA), un contratto quadro o condizioni speciali firmate, prevalgono i documenti contrattuali specifici per il servizio acquistato.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'titolare',
|
||||||
|
title: "2. Identita' del titolare e punti di contatto",
|
||||||
|
paragraphs: [
|
||||||
|
"Titolare del trattamento: NexStudio (sede operativa a Bangkok, Thailandia). I dati anagrafici societari completi e il recapito privacy ufficiale sono indicati nei contatti istituzionali e nei documenti contrattuali applicabili.",
|
||||||
|
"Canali per richieste privacy: sezione contatti del sito, recapito email privacy dedicato ove attivo, ed eventuali canali autenticati/ticket previsti per i clienti SaaS. Se nominato, il DPO/Privacy Lead e' indicato con i relativi contatti.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'categorie-dati',
|
||||||
|
title: '3. Categorie di dati trattati',
|
||||||
|
paragraphs: [
|
||||||
|
"Le categorie di dati variano in funzione del canale utilizzato e dei moduli/feature attivi. Di seguito il perimetro tipico a livello corporate; i dettagli di prodotto sono disciplinati nelle privacy dedicate dei singoli SaaS.",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
"Portale NexStudio: dati di navigazione (log tecnici, IP, user agent), dati di contatto inviati volontariamente (nome, email, azienda, contenuto del messaggio), preferenze cookie e metriche aggregate.",
|
||||||
|
"LexAura (Legal Tech): dati di account e profilo utente, metadati di workspace, documenti giuridici caricati o generati, richieste testuali ai motori di analisi/sintesi, log di audit su accessi e operazioni.",
|
||||||
|
"MediAura (Health Tech): dati di account e ruoli, metadati organizzativi di struttura/reparto, documentazione sanitaria o amministrativa trattata nel servizio, input vocali e relative trascrizioni ove la funzione sia attivata, log tecnici e di sicurezza.",
|
||||||
|
"Categorie particolari ex art. 9 GDPR: possono emergere in MediAura (e, in specifici casi, in LexAura) quando i clienti caricano contenuti che includono dati sanitari o altri dati sensibili; il trattamento avviene solo nei limiti del servizio e delle istruzioni ricevute dal cliente titolare.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'finalita-basi',
|
||||||
|
title: "4. Finalita' e basi giuridiche del trattamento",
|
||||||
|
paragraphs: [
|
||||||
|
"NexStudio tratta i dati personali per finalita' determinate e legittime, applicando la base giuridica adeguata al singolo trattamento.",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
"Gestione del sito istituzionale, sicurezza e continuita' operativa (base: legittimo interesse alla sicurezza, prevenzione abusi e mantenimento del servizio).",
|
||||||
|
"Gestione richieste pre-contrattuali, demo, contatti commerciali e supporto (base: misure precontrattuali su richiesta dell'interessato; legittimo interesse nella gestione B2B).",
|
||||||
|
"Erogazione dei SaaS LexAura e MediAura, autenticazione utenti, gestione tenant e assistenza tecnica (base: esecuzione del contratto con il cliente business).",
|
||||||
|
"Conformita' normativa, adempimenti amministrativi/fiscali, gestione contenziosi e difesa di diritti (base: obbligo legale e legittimo interesse alla tutela in giudizio).",
|
||||||
|
"Comunicazioni marketing/newsletter, ove attive (base: consenso, salvo eccezioni di soft spam consentite dalla normativa applicabile).",
|
||||||
|
"Attivita' di miglioramento del servizio, quality assurance e sviluppo funzionalita' IA con dati del cliente solo se previsto dal contratto o da istruzioni documentate; in assenza di tale base i dati non sono utilizzati per training generalista.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'ruoli-saas',
|
||||||
|
title: '5. Ruoli privacy specifici per LexAura e MediAura',
|
||||||
|
paragraphs: [
|
||||||
|
"Per i servizi SaaS B2B, il cliente (studio legale, impresa, struttura sanitaria, professionista) determina normalmente finalita' e mezzi del trattamento relativi ai dati caricati nel proprio ambiente applicativo, agendo come titolare del trattamento.",
|
||||||
|
"NexStudio agisce di regola come responsabile del trattamento per conto del cliente, con nomina contrattuale e istruzioni documentate, limitando l'accesso ai dati al personale autorizzato che ne abbia necessita' operativa (supporto, manutenzione, sicurezza).",
|
||||||
|
"Qualora NexStudio determini autonomamente finalita' specifiche (es. prevenzione frodi, sicurezza infrastrutturale, metriche aggregate non riconducibili al singolo interessato), agisce come titolare autonomo per tali trattamenti.",
|
||||||
|
"Le informative privacy dedicate di LexAura e MediAura, pubblicate nei rispettivi siti o ambienti applicativi, approfondiscono categorie dati, flussi, tempi di retention e basi giuridiche specifiche del singolo prodotto.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'conservazione',
|
||||||
|
title: '6. Tempi di conservazione',
|
||||||
|
paragraphs: [
|
||||||
|
"I tempi di conservazione sono definiti in base a principio di minimizzazione, obblighi di legge e ciclo di vita del servizio. Durate puntuali possono essere regolate da contratto, configurazioni del cliente e policy interne.",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
"Dati di contatto dal sito: per il tempo necessario alla gestione della richiesta e, se pertinente, per il successivo follow-up commerciale entro termini ragionevoli.",
|
||||||
|
"Dati di account SaaS: per tutta la durata del rapporto contrattuale e per il periodo tecnico-amministrativo necessario a chiusura, backup, audit e adempimenti post-contratto.",
|
||||||
|
"Log tecnici e di sicurezza: retention proporzionata a monitoraggio, incident response, prevenzione abusi e dimostrazione di conformita'.",
|
||||||
|
"Dati contrattuali/amministrativi: conservazione secondo i termini imposti dalla normativa fiscale, civilistica e regolatoria applicabile.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'destinatari',
|
||||||
|
title: '7. Destinatari e categorie di soggetti autorizzati',
|
||||||
|
paragraphs: [
|
||||||
|
"I dati possono essere trattati da personale NexStudio autorizzato e istruito, nonche' da fornitori qualificati che operano come responsabili/sub-responsabili (es. hosting cloud, servizi infrastrutturali, monitoraggio sicurezza, strumenti di comunicazione e assistenza).",
|
||||||
|
"L'elenco aggiornato dei responsabili e sub-responsabili rilevanti per i clienti SaaS e' messo a disposizione nei canali contrattuali o su richiesta, secondo quanto previsto dagli accordi in essere.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'trasferimenti',
|
||||||
|
title: '8. Trasferimenti internazionali di dati',
|
||||||
|
paragraphs: [
|
||||||
|
"In ragione della struttura operativa internazionale e dell'uso di fornitori cloud globali, alcuni trattamenti possono comportare trasferimenti verso Paesi extra SEE/UE.",
|
||||||
|
"Quando richiesto dalla normativa, NexStudio adotta garanzie adeguate (es. clausole contrattuali standard, misure supplementari tecniche/organizzative, valutazioni di impatto sul trasferimento) e limita il trasferimento ai soli dati necessari.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'sicurezza',
|
||||||
|
title: '9. Misure di sicurezza e governance',
|
||||||
|
paragraphs: [
|
||||||
|
"NexStudio adotta misure tecniche e organizzative proporzionate al rischio, con particolare attenzione ai contesti Legal Tech e Health Tech dove integrita', riservatezza e tracciabilita' sono requisiti essenziali.",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
"Controlli di accesso basati su ruoli, autenticazione, segregazione logica degli ambienti cliente e principio del minimo privilegio.",
|
||||||
|
"Cifratura dei dati in transito e, ove previsto dall'architettura, a riposo; gestione sicura delle chiavi e dei segreti applicativi.",
|
||||||
|
"Logging, monitoraggio, audit trail e procedure di gestione incidenti con escalation interna e tracciamento delle azioni correttive.",
|
||||||
|
"Procedure di backup, continuita' operativa e disaster recovery in funzione del piano di servizio sottoscritto.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'diritti',
|
||||||
|
title: "10. Diritti degli interessati e modalita' di esercizio",
|
||||||
|
paragraphs: [
|
||||||
|
"Gli interessati possono esercitare i diritti previsti dalla normativa applicabile (accesso, rettifica, cancellazione, limitazione, opposizione, portabilita', revoca del consenso ove prestato, reclamo all'autorita' competente).",
|
||||||
|
"Per dati trattati nel contesto dei SaaS, la richiesta va di norma indirizzata prima al cliente titolare (es. studio legale o struttura sanitaria) che determina finalita' e mezzi del trattamento. NexStudio fornisce supporto al cliente titolare secondo contratto.",
|
||||||
|
"Per dati trattati da NexStudio come titolare (es. contatti dal sito, log di sicurezza propri), le richieste possono essere inviate ai recapiti privacy indicati in questa pagina o nella sezione contatti del sito.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'cookie-tracking',
|
||||||
|
title: '11. Cookie, analytics e tracciamenti',
|
||||||
|
paragraphs: [
|
||||||
|
"Le informazioni su cookie tecnici, eventuali cookie analitici e strumenti di tracciamento sono descritte nella Cookie Policy, da leggere congiuntamente alla presente informativa.",
|
||||||
|
"La gestione delle preferenze cookie avviene tramite banner/strumenti dedicati, con possibilita' di revisione successiva delle scelte quando tecnicamente disponibile.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'minori',
|
||||||
|
title: '12. Trattamento dati di minori',
|
||||||
|
paragraphs: [
|
||||||
|
"I servizi NexStudio sono progettati per un'utenza professionale e business. Non sono rivolti intenzionalmente a minori e non viene perseguita la raccolta volontaria di dati di minori al di fuori dei casi strettamente necessari e leciti nel contesto sanitario gestito dal cliente titolare.",
|
||||||
|
"Se viene rilevata una raccolta non appropriata di dati riferibili a minori al di fuori delle basi giuridiche consentite, NexStudio adotta le misure necessarie per la cancellazione o la regolarizzazione del trattamento, coordinandosi con il cliente titolare ove necessario.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'aggiornamenti',
|
||||||
|
title: '13. Aggiornamenti della policy',
|
||||||
|
paragraphs: [
|
||||||
|
"NexStudio puo' aggiornare questa informativa per adeguamenti normativi, evoluzione dei servizi, modifiche organizzative o introduzione di nuove funzionalita'.",
|
||||||
|
"Le modifiche rilevanti saranno pubblicate su questa pagina con aggiornamento di versione e data. Per i clienti SaaS, ulteriori notifiche possono essere fornite tramite canali contrattuali o in-app, quando previsto.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
110
src/data/terms.ts
Normal file
110
src/data/terms.ts
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
/**
|
||||||
|
* Condizioni d’uso del sito web pubblico NexStudio.
|
||||||
|
* I contratti B2B su LexAura, MediAura o servizi professionali restano strumenti separati.
|
||||||
|
* Aggiornare versione e data in sync con la pagina (box in testa).
|
||||||
|
*/
|
||||||
|
export const termsDocument = {
|
||||||
|
version: '1.0',
|
||||||
|
inVigoreDal: '22 aprile 2026',
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export type TermsSection = {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
paragraphs: readonly string[];
|
||||||
|
bullets?: readonly string[];
|
||||||
|
};
|
||||||
|
|
||||||
|
export const termsSections: readonly TermsSection[] = [
|
||||||
|
{
|
||||||
|
id: 'premessa',
|
||||||
|
title: '1. Premessa e ambito',
|
||||||
|
paragraphs: [
|
||||||
|
"Le presenti condizioni d’uso regolano l’accesso e la consultazione del sito web di NexStudio (di seguito «NexStudio», «noi») e dei contenuti informativi resi disponibili online. La sede operativa di riferimento è a Bangkok, Thailandia; i servizi software commerciali (inclusi prodotti e soluzioni per Legal Tech e Health Tech, ad es. le linee LexAura e MediAura) sono regolati da condizioni generali, ordini, offerte o accordi specifici sottoscritti con i clienti: in caso di conflitto tra il presente testo e un contratto B2B sottoscritto, prevalgono i documenti specifici del servizio e gli accordi contrattuali applicabili.",
|
||||||
|
"Per il trattamento dei dati personali e i cookie si rimanda rispettivamente all’informativa privacy e alla cookie policy, citate più sotto.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'accettazione',
|
||||||
|
title: '2. Accettazione e requisiti',
|
||||||
|
paragraphs: [
|
||||||
|
"L’utilizzo del sito (navigazione oltre la mera apertura della home, invio di moduli ove presenti, uso di strumenti di contatto) implica la conoscenza e l’accettazione delle presenti condizioni e della versione in vigore della privacy policy e, ove applicabile, della cookie policy.",
|
||||||
|
"L’utente dichiara di avere l’età e la capacità legale per vincolarsi, o di agire sotto la responsabilità di un rappresentante legale idoneo.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'servizi',
|
||||||
|
title: '3. Contenuti e servizi informativi',
|
||||||
|
paragraphs: [
|
||||||
|
"Il sito ha finalità promozionali e informative su NexStudio, sui prodotti e sull’organizzazione. Le descrizioni, schermate, esempi e roadmap non costituiscono offerta vincolante né promessa di feature: restano subordinati a contrattualizzazione, disponibilità tecnica e condizioni di mercato.",
|
||||||
|
"NexStudio si impegna a mantenere le informazioni ragionevolmente aggiornate, senza obbligo di esaustività o di aggiornamento in tempo reale. Può modificare, sospendere o limitare l’accesso a sezioni del sito per manutenzione, sicurezza o evoluzione del prodotto.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'uso-lecito',
|
||||||
|
title: '4. Uso lecito del sito',
|
||||||
|
paragraphs: [
|
||||||
|
"L’utente si impegna a usare il sito in conformità a legge, buona fede e condotta professionale, in particolare a:",
|
||||||
|
],
|
||||||
|
bullets: [
|
||||||
|
'non introdurre malware, né tentare di eludere misure di sicurezza, né effettuare attività che sovraccaricano in modo abnorme o automatizzato non autorizzato l’infrastruttura;',
|
||||||
|
'non copiare o sfruttare illecitamente i contenuti (cfr. sotto proprietà intellettuale) né impersonare NexStudio o terzi;',
|
||||||
|
"non usare canali di contatto per contenuti illeciti, diffamatori, spam o al di fuori delle finalità richieste (commerciale, supporto, segnalazioni, ecc.).",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'proprieta',
|
||||||
|
title: '5. Proprietà intellettuale',
|
||||||
|
paragraphs: [
|
||||||
|
"Testi, logotipi, elementi grafici, layout, nomi di prodotto (inclusi LexAura e MediAura) e, ove presenti, software dimostrativo o materiali scaricabili, sono protetti dalle norme sul diritto d’autore e dalle norme sui marchi applicabili. È vietata la riproduzione, distribuzione o modifica non espressamente autorizzata, salvo uso consentito per legge (citazione, breve estratto con attribuzione) o espressa deroga scritta.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'terze-parti',
|
||||||
|
title: '6. Link, servizi di terzi e strumenti incorporati',
|
||||||
|
paragraphs: [
|
||||||
|
"Il sito può contenere collegamenti a siti o servizi di terzi. NexStudio non controlla tali risorse e non risponde dei loro contenuti o politiche; l’accesso avviene sotto la responsabilità dell’utente, che dovrà leggere le condizioni e l’informativa privacy del terzo.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'responsabilita',
|
||||||
|
title: '7. Limitazione di responsabilità',
|
||||||
|
paragraphs: [
|
||||||
|
"Nella misura massima consentita dalla legge applicabile, il sito e i suoi contenuti sono forniti «così come sono» e «secondo disponibilità», senza garanzie implicite di adeguatezza a un fine particolare, non interruzione o assenza di errori. Il materiale informativo non sostituisce consulenza legale, sanitaria o professionale: decisioni e responsabilità restano a carico del visitatore o del professionista e dei propri clienti.",
|
||||||
|
"NexStudio non risponde per danni indiretti, consequenziali, mancati guadagni, perdita di dati, interruzioni, azioni di terzi o fatti oltre il controllo ragionevole, salvo quanto non possa essere escluso o limitato per legge imperativa.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'sospensione',
|
||||||
|
title: '8. Sospensione, violazione e forza maggiore',
|
||||||
|
paragraphs: [
|
||||||
|
"NexStudio può sospendere, limitare o interrompere l’accesso in caso di violazione delle presenti condizioni, rischio per la sicurezza, ordini di autorità, o forza maggiore. La mancata esecuzione in tali casi non costituisce inadempimento a titolo di danno.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'legge',
|
||||||
|
title: '9. Legge applicabile e foro (da confermare con il legale)',
|
||||||
|
paragraphs: [
|
||||||
|
"Salvo disposizioni inderogabili, le presenti condizioni e ogni contestazione inerente al sito informativo sono regolate dalla legge indicata qui sotto, con foro competente ove ammesso (da definire in base alla entità operativa, ai clienti e al mercato: es. Tailandia, o altra scelta con parere legale).",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'contatti-termini',
|
||||||
|
title: '10. Contatti in merito a queste condizioni',
|
||||||
|
paragraphs: [
|
||||||
|
"Per domande sulle presenti condizioni d’uso del sito, utilizzare i contatti e i canali indicati nel sito. Per trattamento dei dati personali e diritti, seguire l’informativa privacy; per cookie, la cookie policy.",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const termsRiferimenti: readonly { label: string; href: string }[] = [
|
||||||
|
{ label: 'Informativa privacy', href: '/privacy' },
|
||||||
|
{ label: 'Cookie policy', href: '/cookies' },
|
||||||
|
{ label: 'Diritti GDPR', href: '/gdpr' },
|
||||||
|
{ label: 'Codice etico', href: '/codice-etico' },
|
||||||
|
] as const;
|
||||||
|
|
||||||
|
export const termsCrossReferences = {
|
||||||
|
leadNote:
|
||||||
|
'I documenti collegati vanno allineati alla stessa data di revisione ove si tratti di un pacchetto unico di pubblicazione; per LexAura e MediAura, le informative privacy dedicate pubblicate sui portali SaaS restano il riferimento di dettaglio del singolo prodotto.',
|
||||||
|
} as const;
|
||||||
@ -77,7 +77,7 @@ const printSource = Astro.url.href;
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
<div
|
<div
|
||||||
class="mt-10 space-y-6 text-sm leading-relaxed text-nx-muted sm:text-base [&_h2]:mt-10 [&_h2]:text-lg [&_h2]:font-semibold [&_h2]:text-nx-fg [&_h2]:first:mt-0 [&_li]:mt-2 [&_ol]:list-decimal [&_ol]:space-y-2 [&_ol]:pl-5 [&_p]:mt-4 [&_p]:first:mt-0 [&_strong]:text-nx-fg [&_ul]:list-disc [&_ul]:space-y-2 [&_ul]:pl-5"
|
class="mt-10 space-y-6 font-sans text-sm leading-relaxed text-nx-muted antialiased sm:text-base [&_h2]:mt-10 [&_h2]:text-lg [&_h2]:font-semibold [&_h2]:text-nx-fg [&_h2]:sm:text-xl [&_h2]:first:mt-0 [&_li]:mt-2 [&_ol]:list-decimal [&_ol]:space-y-2 [&_ol]:pl-5 [&_p]:mt-4 [&_p]:first:mt-0 [&_strong]:text-nx-fg [&_ul]:list-disc [&_ul]:space-y-2 [&_ul]:pl-5"
|
||||||
>
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -4,29 +4,80 @@ import SubpageLayout from '../layouts/SubpageLayout.astro';
|
|||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="Chi siamo — NexStudio"
|
title="Chi siamo — NexStudio"
|
||||||
description="Chi è NexStudio: missione, team e ambiti Legal Tech e Health Tech."
|
description="Missione, valori e come lavoriamo con studi legali e strutture sanitarie: qualità, verticalità e impegno nel tempo."
|
||||||
heading="Chi siamo"
|
heading="Chi siamo"
|
||||||
lead="Un team giovane e dinamico di programmatori dalla Tailandia e dall'Italia, uniti per creare
|
lead="Siamo un team internazionale — tra Bangkok e l’Italia — che unisce ingegneria del software, intelligenza artificiale applicata e conoscenza dei domini regolamentati, per strumenti professionali usabili e sostenibili nel tempo."
|
||||||
applicazioni ad alta usabilità ed efficienza"
|
|
||||||
>
|
>
|
||||||
<p>
|
<p>
|
||||||
Ci impegnamo nel rendere invisibile la tecnologia. Creiamo software che si fanno carico di processi strutturati
|
Ci impegniamo a rendere la tecnologia invisibile nel lavoro quotidiano. Progettiamo
|
||||||
e calcoli intricati, sollevando l'utilizzatore da compiti impegnativi, dispersivi e soggetti ad errori.
|
<strong>software che assume su di sé</strong> processi strutturati, controlli e
|
||||||
Siamo focalizzati su software SaaS ad alta complessità per settori
|
complessità computazionale, così che chi lavora su norme, pazienti o documentazione
|
||||||
regolamentati, specificatamente legale e medico, con focus su intelligenza artificiale integrata nei flussi
|
possa concentrarsi su <strong>giudizio, responsabilità e relazione</strong> — non su
|
||||||
professionali (LexAura, MediAura). Nascondiamo sotto una superficie fluida e intuitiva motori
|
menu, formati o incertezze operative. Nascondere la complessità sotto
|
||||||
ad alta ingegneria. Abbiamo racchiuso una logica complessa in un’interfaccia essenziale, affinché basti solo
|
<strong>interfaccia essenziale, tempi reattivi e tracciabilità</strong> è al centro di
|
||||||
premere un tasto dove prima servivano ore di lavoro.
|
come disegniamo il prodotto, non un optional estetico.
|
||||||
</p>
|
</p>
|
||||||
<h2>Dove operiamo</h2>
|
|
||||||
|
<h2>La nostra missione</h2>
|
||||||
<p>
|
<p>
|
||||||
Base operativa a Bangkok; collaborazione con clienti a livello internazionale. Dettagli in <a
|
Operiamo dove un errore pesa: <strong>Legal Tech e Health Tech</strong>. Qui servono
|
||||||
class="text-sky-400/90 hover:text-sky-300"
|
precisione, tracciamento delle scelte e rispetto dei vincoli normativi, non
|
||||||
href="/dove-siamo">Dove siamo</a
|
sperimenti generici. La nostra missione è fornire <strong>piattaforme SaaS mature</strong>
|
||||||
>.
|
— come <strong>LexAura</strong> e <strong>MediAura</strong> — che integrino modelli
|
||||||
|
d’intelligenza artificiale in flussi già vissuti dallo studio o dalla struttura, con
|
||||||
|
continuità tra automazione, revisione umana e responsabilità riconoscibile.
|
||||||
</p>
|
</p>
|
||||||
<h2>Contatti</h2>
|
|
||||||
|
<h2>Perché possiamo meritare la tua fiducia</h2>
|
||||||
<p>
|
<p>
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/#contatti">Vai alla sezione Contatti</a> sulla homepage.
|
La fiducia non si ottiene con un motto, ma con <strong>ingegneria, chiarezza e
|
||||||
|
continuità</strong>. Significa architetture provate, aggiornamenti regolari dei
|
||||||
|
modelli d’analisi, assistenza e formazione laddove l’adozione chiede metodo oltre
|
||||||
|
al click. Significa anche onestà sui confini: l’IA nelle nostre offerte è pensata
|
||||||
|
per <strong>estendere e accelerare</strong> il lavoro professionale, lasciando a
|
||||||
|
avvocato, medico o organizzazione <strong>la decisione finale e la
|
||||||
|
documentazione</strong> che la norma richiede.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Come lavoriamo, in sintesi</h2>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<strong>Verticalità e dominio.</strong> Less genericismo, più requisiti operativi
|
||||||
|
(normative, flussi, audit) incorporati fin dalla progettazione.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Qualità e sicurezza come priorità, non retorica.</strong> Ingegneria, test
|
||||||
|
e infrastrutture coerenti con l’esposizione a dati sensibili.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Supporto e evoluzione.</strong> Il rapporto con il cliente non finisce
|
||||||
|
all’abbonamento: manutenzione evolutiva, assistenza e procedure chiare in caso di
|
||||||
|
urgenze operative, dove serve.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>Comunicazione trasparente.</strong> Documentazione, informativa privacy
|
||||||
|
(dove obbligo) e <strong>aspettative reciproche</strong> esplicite, perché
|
||||||
|
l’onboarding non diventi il primo ostacolo.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2>Team e cultura</h2>
|
||||||
|
<p>
|
||||||
|
Siamo developer, product e specialisti di dominio in un <strong>modello
|
||||||
|
distribuito</strong>: fusi orari diversi e linguaggi comuni, un solo obiettivo
|
||||||
|
prodotto. Ci muoviamo con <strong>iterazioni rapide</strong> laddove serve
|
||||||
|
innovazione, e con <strong>governance</strong> laddove un cambiamento impatta
|
||||||
|
validazione, conformità o continuità del servizio. La diversità del gruppo
|
||||||
|
(competenze, contesti) è per noi vantaggio competitivo: riduce l’assunto implicito
|
||||||
|
e costringe a rendere esplicito ciò che il software promette, e a chi.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Impegno nel tempo</h2>
|
||||||
|
<p>
|
||||||
|
Il settore che ci sceglie non cerca un prototipo, ma <strong>un percorso
|
||||||
|
sostenibile</strong>: allineamento normativo, adozione in team, affiancamento quando
|
||||||
|
qualcosa non gira. Costruiamo e manteniamo il prodotto con quella lente, perché
|
||||||
|
nelle vostre professioni la <strong>continuità</strong> non è comodità, è
|
||||||
|
requisito.
|
||||||
</p>
|
</p>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -1,5 +1,13 @@
|
|||||||
---
|
---
|
||||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||||
|
import {
|
||||||
|
getCodiceEticoPremessa,
|
||||||
|
codiceEticoConformityBlocks,
|
||||||
|
qualitaValidazioneProdotto,
|
||||||
|
getCodiceEticoProductListPhrase,
|
||||||
|
notePraticheDPIA,
|
||||||
|
codiceEticoTutelaDatiRuoli,
|
||||||
|
} from '../data/codice-etico';
|
||||||
|
|
||||||
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||||
---
|
---
|
||||||
@ -23,9 +31,29 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
<li><a class={link} href="#ambito">Ambito di applicazione</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="#valori">Valori e principi fondamentali</a></li>
|
||||||
<li>
|
<li>
|
||||||
<a class={link} href="#conformita">Conformità normativa specifica (ambito legale e medico)</a>
|
<a class={link} href="#conformita">Conformità normativa (per perimetro: piattaforma, legale, sanitario)</a>
|
||||||
|
<ol class="mt-2 list-decimal space-y-1 pl-5 text-nx-muted/95">
|
||||||
|
<li>
|
||||||
|
<a class={link} href="#conformita-piattaforma">4.1 Piattaforma e SaaS (orizzontale)</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class={link} href="#conformita-legal">4.2 Ambito legale (LexAura)</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class={link} href="#conformita-sanitario">4.3 Ambito sanitario (MediAura)</a>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class={link} href="#tutela-dati">Tutela dei dati personali e dati sensibili</a>
|
||||||
|
<ol class="mt-2 list-decimal space-y-1 pl-5 text-nx-muted/95">
|
||||||
|
<li>
|
||||||
|
<a class={link} href="#tutela-dati-ruoli"
|
||||||
|
>5.1 Ruoli: pazienti, clienti, abbonati, Società</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li><a class={link} href="#tutela-dati">Tutela dei dati personali e dati sensibili</a></li>
|
|
||||||
<li>
|
<li>
|
||||||
<a class={link} href="#sicurezza">Sicurezza dell’informazione e resilienza operativa</a>
|
<a class={link} href="#sicurezza">Sicurezza dell’informazione e resilienza operativa</a>
|
||||||
</li>
|
</li>
|
||||||
@ -70,11 +98,7 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
|
|
||||||
<h2 id="premessa">1. Premessa</h2>
|
<h2 id="premessa">1. Premessa</h2>
|
||||||
<p>
|
<p>
|
||||||
Questo Codice Etico stabilisce i principi, i doveri e le regole di comportamento che tutti i
|
{getCodiceEticoPremessa()}
|
||||||
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>
|
</p>
|
||||||
|
|
||||||
<h2 id="ambito">2. Ambito di applicazione</h2>
|
<h2 id="ambito">2. Ambito di applicazione</h2>
|
||||||
@ -95,37 +119,68 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
<li>Miglioramento continuo e accountability.</li>
|
<li>Miglioramento continuo e accountability.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id="conformita">4. Conformità normativa specifica (ambito legale e medico)</h2>
|
<h2 id="conformita">4. Conformità normativa specifica</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>
|
<p>
|
||||||
|
I riferimenti sotto sono raggruppati: obblighi orizzontali a tutte le offerte
|
||||||
|
<strong>SaaS</strong>, riferimenti distinti per il perimetro
|
||||||
|
<strong>Legal Tech / LexAura</strong> e per <strong>Health Tech / MediAura</strong> (ciascuna
|
||||||
|
linea può estendersi o diversificare secondo prodotto e mercato, senza commistione indebita
|
||||||
|
ad altri perimetri). Riepilogo riga prodotto:
|
||||||
|
<span class="text-nx-fg">{getCodiceEticoProductListPhrase()}</span>.
|
||||||
|
</p>
|
||||||
|
{
|
||||||
|
codiceEticoConformityBlocks.map((block, i) => (
|
||||||
|
<section
|
||||||
|
class:list={['', i > 0 && 'mt-5']}
|
||||||
|
data-conformity-block={block.id}
|
||||||
|
>
|
||||||
|
<h3
|
||||||
|
id={block.anchorId}
|
||||||
|
class="scroll-mt-8 text-base font-semibold text-nx-fg"
|
||||||
|
>
|
||||||
|
{block.title}
|
||||||
|
</h3>
|
||||||
|
{block.lead ? <p class="text-sm text-nx-muted sm:text-base">{block.lead}</p> : null}
|
||||||
|
<ul class="mt-2 list-disc pl-5">
|
||||||
|
{block.items.map((t) => (
|
||||||
|
<li>{t}</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
<p class="mt-6 text-sm sm:text-base">
|
||||||
La Società effettua DPIA (Data Protection Impact Assessment) per trattamenti ad alto rischio e
|
La Società effettua DPIA (Data Protection Impact Assessment) per trattamenti ad alto rischio e
|
||||||
consulta autorità o <em>regulatory counsel</em> quando necessario.
|
consulta autorità o <em>regulatory counsel</em> quando necessario, con riferimenti
|
||||||
|
<strong>per ciascun trattamento</strong> al perimetro (piattaforma, legale, sanitario) ove
|
||||||
|
interessa.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 id="tutela-dati">5. Tutela dei dati personali e dati sensibili</h2>
|
<h2 id="tutela-dati">5. Tutela dei dati personali e dati sensibili</h2>
|
||||||
|
<p class="text-nx-muted sm:text-base">{codiceEticoTutelaDatiRuoli.intro}</p>
|
||||||
|
<h3
|
||||||
|
id={codiceEticoTutelaDatiRuoli.anchorId}
|
||||||
|
class="!mt-6 text-base font-semibold text-nx-fg"
|
||||||
|
>
|
||||||
|
{codiceEticoTutelaDatiRuoli.title}
|
||||||
|
</h3>
|
||||||
|
{
|
||||||
|
codiceEticoTutelaDatiRuoli.rows.map((r) => (
|
||||||
|
<p class="mt-3 sm:text-base">
|
||||||
|
<span class="font-semibold text-nx-fg">{r.label}.</span>{' '}
|
||||||
|
{r.text}
|
||||||
|
</p>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
<p
|
||||||
|
class="mt-4 border-l-2 border-sky-500/30 pl-4 text-sm leading-relaxed text-nx-muted"
|
||||||
|
>
|
||||||
|
{codiceEticoTutelaDatiRuoli.note}
|
||||||
|
</p>
|
||||||
|
<p class="mt-8 text-sm font-medium text-nx-fg sm:text-base">
|
||||||
|
Nella concreta operatività, la Società e i collaboratori si attengono ai principi operativi
|
||||||
|
seguenti (complementari ai ruoli sopra):
|
||||||
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>Minimizzazione:</strong> raccogliere solo i dati necessari e pertinenti.</li>
|
<li><strong>Minimizzazione:</strong> raccogliere solo i dati necessari e pertinenti.</li>
|
||||||
<li>
|
<li>
|
||||||
@ -202,11 +257,14 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
<strong>Test e copertura:</strong> definire copertura minima per componenti critici; test di
|
<strong>Test e copertura:</strong> definire copertura minima per componenti critici; test di
|
||||||
integrazione, performance e sicurezza.
|
integrazione, performance e sicurezza.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
{
|
||||||
<strong>Validazione clinica:</strong> per funzionalità che assistono decisioni cliniche o
|
qualitaValidazioneProdotto.map((v) => (
|
||||||
legali, procedere a validazione con esperti (clinici e legali), studi pilota, documentazione
|
<li>
|
||||||
di limitazioni e avvertenze.
|
<strong>Validazione (per {v.id === 'legal' ? 'perimetro legale' : 'perimetro sanitario'}):</strong>{' '}
|
||||||
</li>
|
{v.text}
|
||||||
|
</li>
|
||||||
|
))
|
||||||
|
}
|
||||||
<li>
|
<li>
|
||||||
<strong>Classificazione del rischio:</strong> valutare impatto su salute o diritti e
|
<strong>Classificazione del rischio:</strong> valutare impatto su salute o diritti e
|
||||||
applicare misure di mitigazione proporzionate.
|
applicare misure di mitigazione proporzionate.
|
||||||
@ -338,8 +396,9 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Onboarding obbligatorio su: sicurezza informatica, privacy (PDPA e GDPR), gestione dati
|
Onboarding obbligatorio su: sicurezza informatica, privacy (PDPA e GDPR), gestione dati
|
||||||
sensibili, normative mediche e legali rilevanti, uso responsabile dell’AI, pratiche di coding
|
sensibili, requisiti e documentazione riferibili a ciascuna linea prodotto
|
||||||
sicuro.
|
(oggi: {getCodiceEticoProductListPhrase()}; estendere il curriculum quando l’elenco
|
||||||
|
cresce), uso responsabile dell’AI, pratiche di coding sicuro.
|
||||||
</li>
|
</li>
|
||||||
<li>Formazione annuale obbligatoria e formazione aggiuntiva per ruoli critici.</li>
|
<li>Formazione annuale obbligatoria e formazione aggiuntiva per ruoli critici.</li>
|
||||||
<li>Registrazione e conservazione dei record di formazione.</li>
|
<li>Registrazione e conservazione dei record di formazione.</li>
|
||||||
@ -475,20 +534,7 @@ const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underl
|
|||||||
Predisporre un piano di formazione di 90 giorni per l’onboarding e formazione ricorrente
|
Predisporre un piano di formazione di 90 giorni per l’onboarding e formazione ricorrente
|
||||||
annuale.
|
annuale.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
{notePraticheDPIA.map((t) => <li>{t}</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>
|
</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>
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -12,7 +12,7 @@ const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
|||||||
title="Cookie Policy — NexStudio"
|
title="Cookie Policy — NexStudio"
|
||||||
description="Cookie Policy NexStudio: categorie, base giuridica, consenso, terze parti, diritti e contatti. Sede Bangkok."
|
description="Cookie Policy NexStudio: categorie, base giuridica, consenso, terze parti, diritti e contatti. Sede Bangkok."
|
||||||
heading="Cookie Policy"
|
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."
|
lead="Per NexStudio, con sede a 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">
|
<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">
|
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||||
@ -457,16 +457,5 @@ const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
|||||||
<li><span class="text-nx-muted">☐</span> Procedure DSR e revoca collegate dall’informativa privacy</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>
|
<li><span class="text-nx-muted">☐</span> Link a privacy e contatti DPO/referente nel footer</li>
|
||||||
</ul>
|
</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>
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -4,15 +4,13 @@ import SubpageLayout from '../layouts/SubpageLayout.astro';
|
|||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="Dove siamo — NexStudio"
|
title="Dove siamo — NexStudio"
|
||||||
description="Sede operativa e contatti NexStudio."
|
description="Sede operativa a Bangkok, Thailandia; fusi orari e lingue per lavorare con clienti in Europa e altre regioni."
|
||||||
heading="Dove siamo"
|
heading="Dove siamo"
|
||||||
lead="Sede operativa a Bangkok (Thailandia). Completate l’indirizzo, i recapiti e gli orari di riferimento per il pubblico."
|
lead="NexStudio ha base a Bangkok, in Thailandia. Sotto, come organizziamo fusi orari e lingue rispetto a clienti in Europa e oltre."
|
||||||
>
|
>
|
||||||
<h2>Sede</h2>
|
<h2>Sede</h2>
|
||||||
<p>
|
<p>
|
||||||
NexStudio opera con base operativa a <strong>Bangkok</strong>, in
|
<strong>Thailandia</strong> — <strong>Bangkok</strong>
|
||||||
Thailandia. Inserite qui indirizzo completo, eventuale sede legale in altro
|
|
||||||
Stato, e se il rapporto con i clienti avviene prevalentemente da remoto.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>Fusi orari e lingue</h2>
|
<h2>Fusi orari e lingue</h2>
|
||||||
@ -21,14 +19,4 @@ import SubpageLayout from '../layouts/SubpageLayout.astro';
|
|||||||
tedesco, francese, spagnolo e tailandese, con orari da concordare in base
|
tedesco, francese, spagnolo e tailandese, con orari da concordare in base
|
||||||
al team e al fuso rispetto ai clienti in Europa e altre regioni.
|
al team e al fuso rispetto ai clienti in Europa e altre regioni.
|
||||||
</p>
|
</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>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -1,55 +1,74 @@
|
|||||||
---
|
---
|
||||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||||
|
import {
|
||||||
|
gdprCrossReferences,
|
||||||
|
gdprDocument,
|
||||||
|
gdprRiferimenti,
|
||||||
|
gdprSections,
|
||||||
|
} from '../data/gdpr';
|
||||||
|
|
||||||
|
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||||
|
const lead =
|
||||||
|
"Diritti degli interessati e modalita' di esercizio ai sensi del Regolamento (UE) 2016/679, in coerenza con l'informativa privacy quadro del portale NexStudio. " +
|
||||||
|
gdprCrossReferences.lead;
|
||||||
---
|
---
|
||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="GDPR — NexStudio"
|
title="GDPR — NexStudio"
|
||||||
description="Informazioni sul trattamento dei dati personali ai sensi del Regolamento UE 2016/679 (GDPR)."
|
description="Pagina GDPR NexStudio: diritti degli interessati, modalita' operative, ruoli tra portale corporate e SaaS LexAura/MediAura, coordinamento con privacy dedicate."
|
||||||
heading="GDPR e diritti degli interessati"
|
heading="GDPR e diritti degli interessati"
|
||||||
lead="Documento provvisorio: integrare riferimenti contrattuali, responsabile della protezione dei dati (DPO) se nominato, e procedure interne."
|
lead={lead}
|
||||||
>
|
>
|
||||||
<p>
|
<div>
|
||||||
Il Regolamento (UE) 2016/679 (GDPR) disciplina il trattamento dei dati
|
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||||
personali nel territorio dell’Unione. La presente pagina riassume i diritti
|
<span class="font-medium text-nx-fg">Versione</span> {gdprDocument.version}
|
||||||
riconosciuti agli interessati e come possono esercitarli nei confronti di
|
<span class="text-nx-muted/80"> · </span>
|
||||||
NexStudio, senza sostituire l’informativa privacy completa.
|
<span class="font-medium text-nx-fg">In vigore dal</span> {gdprDocument.inVigoreDal}
|
||||||
</p>
|
<span class="text-nx-muted/80"> · </span>
|
||||||
|
<span class="font-medium text-nx-fg">Ultimo aggiornamento</span> {gdprDocument.ultimoAggiornamento}
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Diritti riconosciuti</h2>
|
<p class="!mt-5 text-sm text-nx-muted sm:text-base">
|
||||||
<ul>
|
Documenti connessi:{' '}
|
||||||
<li>Accesso ai propri dati e copia in formato intelligibile</li>
|
{
|
||||||
<li>Rettifica di dati inesatti o incompleti</li>
|
gdprRiferimenti.map((r, i) => (
|
||||||
<li>Cancellazione (“diritto all’oblio”) nei casi previsti dalla legge</li>
|
<span>
|
||||||
<li>Limitazione del trattamento</li>
|
{i > 0 && <span class="text-nx-muted/80"> · </span>}
|
||||||
<li>Portabilità dei dati forniti con consenso o contratto, ove applicabile</li>
|
<a class={link} href={r.href}>{r.label}</a>
|
||||||
<li>Opposizione al trattamento basato su legittimo interesse o per fini di marketing</li>
|
</span>
|
||||||
<li>Revoca del consenso in qualsiasi momento, senza pregiudicare la liceità del trattamento precedente</li>
|
))
|
||||||
<li>Reclamo all’autorità di controllo competente</li>
|
}
|
||||||
</ul>
|
</p>
|
||||||
|
|
||||||
<h2>Modalità di esercizio</h2>
|
<h2 id="indice" class="!mt-8">Indice</h2>
|
||||||
<p>
|
<ol class="!mt-3 list-decimal space-y-1.5 pl-5 text-sm leading-relaxed sm:text-base">
|
||||||
Indicare un canale dedicato (es. email privacy@…, modulo PEC o ticket). Per
|
{
|
||||||
richieste generiche potete anche utilizzare la sezione <a
|
gdprSections.map((s) => (
|
||||||
class="text-sky-400/90 hover:text-sky-300"
|
<li>
|
||||||
href="/#contatti">Contatti</a
|
<a class={link} href={`#${s.id}`}>{s.title}</a>
|
||||||
> sul sito principale, specificando oggetto e dati utili a identificare la
|
</li>
|
||||||
pratica.
|
))
|
||||||
</p>
|
}
|
||||||
|
</ol>
|
||||||
|
|
||||||
<h2>Trasferimenti extra-UE</h2>
|
{
|
||||||
<p>
|
gdprSections.map((s) => (
|
||||||
Se utilizzate fornitori con sede fuori dallo Spazio Economico Europeo,
|
<section class="mt-10" id={s.id}>
|
||||||
descrivete garanzie (Clausole contrattuali tipo, decisioni di adeguatezza,
|
<h2 class="scroll-mt-8 text-lg font-semibold text-nx-fg sm:text-xl">
|
||||||
norme vincolanti d’impresa) e il riferimento documentale.
|
{s.title}
|
||||||
</p>
|
</h2>
|
||||||
|
{s.paragraphs.map((p) => (
|
||||||
<h2>Documenti correlati</h2>
|
<p class="mt-3 text-sm leading-relaxed text-nx-muted sm:text-base">{p}</p>
|
||||||
<p>
|
))}
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/privacy"
|
{s.bullets && s.bullets.length > 0 ? (
|
||||||
>Informativa privacy</a
|
<ul class="mt-3 list-disc space-y-2 pl-5 text-sm sm:text-base">
|
||||||
>
|
{s.bullets.map((b) => (
|
||||||
·
|
<li class="text-nx-muted">{b}</li>
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/cookies">Informativa cookie</a>
|
))}
|
||||||
</p>
|
</ul>
|
||||||
|
) : null}
|
||||||
|
</section>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -148,10 +148,10 @@ const techSliderItems = stackSection.techSlider.items;
|
|||||||
</div>
|
</div>
|
||||||
<div class="relative z-10 mx-auto max-w-6xl">
|
<div class="relative z-10 mx-auto max-w-6xl">
|
||||||
<p
|
<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"
|
class="mb-6 inline-flex items-center gap-2.5 rounded-full border border-nx-border bg-nx-surface/60 px-4 py-1.5 text-sm font-medium text-sky-300/90 sm:px-5 sm:py-2"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="h-1.5 w-1.5 rounded-full bg-sky-400 shadow-[0_0_8px_#38bdf8]"></span>
|
class="h-2 w-2 rounded-full bg-sky-400 shadow-[0_0_10px_#38bdf8]"></span>
|
||||||
{hero.badge}
|
{hero.badge}
|
||||||
</p>
|
</p>
|
||||||
<h1
|
<h1
|
||||||
@ -229,18 +229,32 @@ const techSliderItems = stackSection.techSlider.items;
|
|||||||
{productsSection.lead}
|
{productsSection.lead}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div
|
<div class="relative mt-14">
|
||||||
class="mt-14 grid gap-8 lg:grid-cols-2 lg:gap-10 lg:items-stretch"
|
<div
|
||||||
>
|
class="pointer-events-none absolute -top-28 left-1/2 z-0 h-64 w-[min(96%,60rem)] -translate-x-1/2 rounded-full bg-[radial-gradient(ellipse_at_center,rgba(125,211,252,0.34)_0%,rgba(96,165,250,0.2)_36%,rgba(16,24,40,0)_74%)] blur-3xl"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="pointer-events-none absolute -top-14 left-1/2 z-0 h-40 w-[min(88%,54rem)] -translate-x-1/2 rounded-full bg-[radial-gradient(ellipse_at_center,rgba(186,230,253,0.16)_0%,rgba(16,24,40,0)_70%)] blur-2xl"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
class="relative z-10 grid gap-8 lg:grid-cols-2 lg:gap-10 lg:items-stretch"
|
||||||
|
>
|
||||||
{productsSection.items.map((product, pi) => (
|
{productsSection.items.map((product, pi) => (
|
||||||
<article
|
<article
|
||||||
class:list={[
|
class:list={[
|
||||||
'flex flex-col rounded-2xl border p-6 sm:p-8',
|
'relative flex flex-col overflow-hidden rounded-2xl border p-6 -translate-y-1 shadow-2xl shadow-black/30 sm:p-8',
|
||||||
pi === 0
|
pi === 0
|
||||||
? 'border-sky-500/25 bg-gradient-to-b from-sky-950/30 to-nx-surface/30'
|
? 'border-sky-400/45 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',
|
: 'border-emerald-400/40 bg-gradient-to-b from-emerald-950/25 to-nx-surface/30',
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
|
<div
|
||||||
|
class="pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_at_top,rgba(255,255,255,0.12),transparent_62%)]"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
<div class="pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white/35 to-transparent opacity-60" aria-hidden="true"></div>
|
||||||
<div class="flex flex-wrap items-baseline justify-between gap-2">
|
<div class="flex flex-wrap items-baseline justify-between gap-2">
|
||||||
<h3 class="text-2xl font-semibold tracking-tight text-nx-fg">
|
<h3 class="text-2xl font-semibold tracking-tight text-nx-fg">
|
||||||
{product.name}
|
{product.name}
|
||||||
@ -249,8 +263,8 @@ const techSliderItems = stackSection.techSlider.items;
|
|||||||
class:list={[
|
class:list={[
|
||||||
'rounded-full px-2.5 py-0.5 text-xs font-medium',
|
'rounded-full px-2.5 py-0.5 text-xs font-medium',
|
||||||
pi === 0
|
pi === 0
|
||||||
? 'bg-sky-500/15 text-sky-200/95'
|
? 'bg-sky-500/25 text-sky-200/95'
|
||||||
: 'bg-emerald-500/15 text-emerald-200/95',
|
: 'bg-emerald-500/25 text-emerald-200/95',
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
{product.badge}
|
{product.badge}
|
||||||
@ -298,6 +312,7 @@ const techSliderItems = stackSection.techSlider.items;
|
|||||||
) : null}
|
) : null}
|
||||||
</article>
|
</article>
|
||||||
))}
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@ -464,7 +479,7 @@ const techSliderItems = stackSection.techSlider.items;
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="nx-tech-slider mt-10"
|
class="nx-tech-slider mt-6 sm:mt-7"
|
||||||
role="region"
|
role="region"
|
||||||
aria-label={stackSection.techSlider.ariaLabel}
|
aria-label={stackSection.techSlider.ariaLabel}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -1,22 +1,38 @@
|
|||||||
---
|
---
|
||||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||||
|
import {
|
||||||
|
modelloOrganizzativo,
|
||||||
|
modelloOrganizzativoRuoli,
|
||||||
|
modelloOrganizzativoGovernance,
|
||||||
|
modelloOrganizzativoResponsabilitaSintesi,
|
||||||
|
modelloOrganizzativoControlliLean,
|
||||||
|
modelloOrganizzativoKpi,
|
||||||
|
modelloOrganizzativoDocumentazione,
|
||||||
|
modelloOrganizzativoPiano30,
|
||||||
|
modelloOrganizzativoOutsourcing,
|
||||||
|
modelloOrganizzativoNote,
|
||||||
|
modelloOrganizzativoFlussiDecisionali,
|
||||||
|
} from '../data/modello-organizzativo';
|
||||||
|
|
||||||
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
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 tbl = 'min-w-[22rem] 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 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';
|
const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
||||||
|
const tableWrap = 'mt-2 overflow-x-auto';
|
||||||
---
|
---
|
||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="Modello organizzativo — NexStudio"
|
title="Modello organizzativo — NexStudio"
|
||||||
description="Modello organizzativo NexStudio: ruoli, governance, RACI, controlli lean, KPI e piano operativo a 30 giorni."
|
description="Modello organizzativo NexStudio: governance, ruoli, RACI, controlli lean, KPI, piano 30 giorni — per le linee LexAura (Legal Tech) e MediAura (Health Tech)."
|
||||||
heading="Modello organizzativo"
|
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."
|
lead="Ruoli, ritmi di governo, processi e controlli «lean» in una software house con SaaS a elevata regolamentazione. Complementare al codice etico. Non sostituisce statuti, modelli di compliance societari (es. 231) né pareri legali: andate in parallelo con struttura reale e consulenti."
|
||||||
>
|
>
|
||||||
<div class="[&_h3]:mt-6 [&_h3]:text-base [&_h3]:font-semibold [&_h3]:text-nx-fg">
|
<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">
|
<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
|
{modelloOrganizzativo.introBox}
|
||||||
numerici indicativi: adattare al team reale e formalizzare nomine e deleghe per iscritto.
|
</p>
|
||||||
|
<p class="mt-3 text-sm leading-relaxed text-nx-muted sm:text-base">
|
||||||
|
{modelloOrganizzativo.perimetro}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2 id="indice" class="!mt-8">Indice</h2>
|
<h2 id="indice" class="!mt-8">Indice</h2>
|
||||||
@ -36,107 +52,36 @@ const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
|||||||
|
|
||||||
<h2 id="ruoli">1. Ruoli e perimetro</h2>
|
<h2 id="ruoli">1. Ruoli e perimetro</h2>
|
||||||
<p>
|
<p>
|
||||||
Elenco sintetico delle funzioni, con attese di impegno (full-time, part-time, frazionale o
|
Elenco sintetico delle funzioni e delle attese di impegno. Per allineare il dominio
|
||||||
esternalizzato). I numeri tra parentesi sono orientativi per una fase early-stage.
|
prodotto (Legal Tech, Health Tech) a ruoli e consiglieri, fate riferimento anche a <a
|
||||||
|
class={link}
|
||||||
|
href="/codice-etico">codice etico</a
|
||||||
|
> e, per i trattamenti di dati, a privacy policy e DPA.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{
|
||||||
<strong>Founder / CEO (1):</strong> strategia, approvazione delle policy, contatti con board
|
modelloOrganizzativoRuoli.map((r) => (
|
||||||
e investitori, accountability complessiva anche verso obblighi di legge e contratti.
|
<li>
|
||||||
</li>
|
<strong>{r.label}:</strong> {r.text}
|
||||||
<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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="governance">2. Governance essenziale</h2>
|
<h2 id="governance">2. Governance essenziale</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{
|
||||||
<strong>Weekly Tactical</strong> (Founder, CTO, Security/Privacy Lead, Customer Success):
|
modelloOrganizzativoGovernance.map((g) => (
|
||||||
priorità operative, incidenti aperti, rilasci critici in corso.
|
<li>
|
||||||
</li>
|
<strong>{g.nome}:</strong> {g.partecipanti}. <span class="text-nx-muted/95">— {g.nota}</span>
|
||||||
<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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="responsabilita">3. Principali responsabilità (sintesi)</h2>
|
<h2 id="responsabilita">3. Principali responsabilità (sintesi)</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{modelloOrganizzativoResponsabilitaSintesi.map((l) => <li>{l}</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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="raci">4. RACI sintetico per processi critici</h2>
|
<h2 id="raci">4. RACI sintetico per processi critici</h2>
|
||||||
@ -145,306 +90,248 @@ const td = 'border border-nx-border px-3 py-2 align-top text-nx-muted';
|
|||||||
<strong>C</strong> = Consulted, <strong>I</strong> = Informed.
|
<strong>C</strong> = Consulted, <strong>I</strong> = Informed.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h3>Rilascio in produzione</h3>
|
<h3 class="!mt-5" id="raci-release">Rilascio in produzione</h3>
|
||||||
<table class={tbl}>
|
<div class={tableWrap}>
|
||||||
<thead>
|
<table class={tbl}>
|
||||||
<tr>
|
<thead>
|
||||||
<th class={th}>Ruolo</th>
|
<tr>
|
||||||
<th class={th}>R</th>
|
<th class={th} scope="col">Ruolo</th>
|
||||||
<th class={th}>A</th>
|
<th class={th} scope="col">R</th>
|
||||||
<th class={th}>C</th>
|
<th class={th} scope="col">A</th>
|
||||||
<th class={th}>I</th>
|
<th class={th} scope="col">C</th>
|
||||||
</tr>
|
<th class={th} scope="col">I</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
<tr>
|
<tbody>
|
||||||
<td class={td}>Lead Engineer</td>
|
<tr>
|
||||||
<td class={td}>●</td>
|
<td class={td}>Lead engineer</td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>CTO</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>CTO</td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>Security Lead, DPO, Product Advisor</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<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>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>CEO, Customer Success</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>CEO, customer success</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}>●</td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>Incident response (violazione dei dati)</h3>
|
<h3 id="raci-incident">Incident response (violazione dei dati o incidente P0)</h3>
|
||||||
<table class={tbl}>
|
<div class={tableWrap}>
|
||||||
<thead>
|
<table class={tbl}>
|
||||||
<tr>
|
<thead>
|
||||||
<th class={th}>Ruolo</th>
|
<tr>
|
||||||
<th class={th}>R</th>
|
<th class={th} scope="col">Ruolo</th>
|
||||||
<th class={th}>A</th>
|
<th class={th} scope="col">R</th>
|
||||||
<th class={th}>C</th>
|
<th class={th} scope="col">A</th>
|
||||||
<th class={th}>I</th>
|
<th class={th} scope="col">C</th>
|
||||||
</tr>
|
<th class={th} scope="col">I</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
<tr>
|
<tbody>
|
||||||
<td class={td}>Security Lead</td>
|
<tr>
|
||||||
<td class={td}>●</td>
|
<td class={td}>Security lead</td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>CEO</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>CEO</td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>DPO, Legal, CTO</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>DPO, legal, CTO</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>Clienti coinvolti, Board (se impatto elevato)</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>Clienti interessati, board (se impatto elevato)</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}>●</td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>Onboarding vendor (sub-processore)</h3>
|
<h3 id="raci-vendor">Onboarding vendor (sub-processore)</h3>
|
||||||
<table class={tbl}>
|
<div class={tableWrap}>
|
||||||
<thead>
|
<table class={tbl}>
|
||||||
<tr>
|
<thead>
|
||||||
<th class={th}>Ruolo</th>
|
<tr>
|
||||||
<th class={th}>R</th>
|
<th class={th} scope="col">Ruolo</th>
|
||||||
<th class={th}>A</th>
|
<th class={th} scope="col">R</th>
|
||||||
<th class={th}>C</th>
|
<th class={th} scope="col">A</th>
|
||||||
<th class={th}>I</th>
|
<th class={th} scope="col">C</th>
|
||||||
</tr>
|
<th class={th} scope="col">I</th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
<tr>
|
<tbody>
|
||||||
<td class={td}>Operations</td>
|
<tr>
|
||||||
<td class={td}>●</td>
|
<td class={td}>Operations</td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>Legal</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>Legal</td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>Security Lead, DPO</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>Security lead, DPO</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
</tr>
|
<td class={td}></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td class={td}>CTO, Finance</td>
|
<tr>
|
||||||
<td class={td}></td>
|
<td class={td}>CTO, finance</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
</tr>
|
<td class={td}>●</td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>DPIA per modulo sanitario o legale</h3>
|
<h3 id="raci-dpia">DPIA (per perimetro: LexAura, MediAura, piattaforma)</h3>
|
||||||
<table class={tbl}>
|
<p class="text-sm text-nx-muted sm:text-base">
|
||||||
<thead>
|
La matrice RACI non sostituisce il criterio legale (chi è titolare, chi responsabile) definito
|
||||||
<tr>
|
in contratti e in <a class={link} href="/codice-etico#tutela-dati-ruoli">§5.1 del codice etico</a
|
||||||
<th class={th}>Ruolo</th>
|
>. Qui: chi coordina l’esercizio interno della valutazione d’impatto.
|
||||||
<th class={th}>R</th>
|
</p>
|
||||||
<th class={th}>A</th>
|
<div class={tableWrap}>
|
||||||
<th class={th}>C</th>
|
<table class={tbl}>
|
||||||
<th class={th}>I</th>
|
<thead>
|
||||||
</tr>
|
<tr>
|
||||||
</thead>
|
<th class={th} scope="col">Ruolo</th>
|
||||||
<tbody>
|
<th class={th} scope="col">R</th>
|
||||||
<tr>
|
<th class={th} scope="col">A</th>
|
||||||
<td class={td}>DPO</td>
|
<th class={th} scope="col">C</th>
|
||||||
<td class={td}>●</td>
|
<th class={th} scope="col">I</th>
|
||||||
<td class={td}></td>
|
</tr>
|
||||||
<td class={td}></td>
|
</thead>
|
||||||
<td class={td}></td>
|
<tbody>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class={td}>DPO</td>
|
||||||
<td class={td}>Legal</td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class={td}>Legal</td>
|
||||||
<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>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<td class={td}>Product advisor, CTO, security lead</td>
|
||||||
<td class={td}>CEO</td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}></td>
|
<td class={td}>●</td>
|
||||||
<td class={td}></td>
|
<td class={td}></td>
|
||||||
<td class={td}>●</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
</tbody>
|
<td class={td}>CEO</td>
|
||||||
</table>
|
<td class={td}></td>
|
||||||
|
<td class={td}></td>
|
||||||
|
<td class={td}></td>
|
||||||
|
<td class={td}>●</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2 id="flussi">5. Flussi decisionali rapidi</h2>
|
<h2 id="flussi">5. Flussi decisionali rapidi</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{
|
||||||
<strong>Decisione tecnica ordinaria:</strong> Lead Engineer → CTO (documentare su ticket se
|
modelloOrganizzativoFlussiDecisionali.map((f) => (
|
||||||
impatta rischio o contratti).
|
<li>
|
||||||
</li>
|
<strong>{f.titolo}:</strong> {f.testo}
|
||||||
<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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="controlli">6. Controlli minimi obbligatori (lean)</h2>
|
<h2 id="controlli">6. Controlli minimi obbligatori (lean)</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>IAM con MFA per accesso a produzione e a segreti.</li>
|
{modelloOrganizzativoControlliLean.map((c) => <li>{c}</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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="kpi">7. KPI essenziali (core metrics)</h2>
|
<h2 id="kpi">7. KPI essenziali</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{
|
||||||
<strong>Security:</strong> percentuale di patch critiche entro SLA; MTTD e MTTR per
|
modelloOrganizzativoKpi.map((k) => (
|
||||||
incidenti.
|
<li>
|
||||||
</li>
|
<strong>{k.area}:</strong> {k.testo}
|
||||||
<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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="documentazione">8. Documentazione minima da mantenere</h2>
|
<h2 id="documentazione">8. Documentazione minima da mantenere</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Codice etico firmato e registro delle adesioni.</li>
|
{modelloOrganizzativoDocumentazione.map((d) => <li>{d}</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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="piano-30">9. Primo piano operativo (30 giorni)</h2>
|
<h2 id="piano-30">9. Primo piano operativo (30 giorni)</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
{
|
||||||
<strong>Giorni 0–3:</strong> nomina formale dei ruoli chiave (Security Lead, DPO frazionale,
|
modelloOrganizzativoPiano30.map((p) => (
|
||||||
Legal frazionale).
|
<li>
|
||||||
</li>
|
<strong>{p.quando}:</strong> {p.testo}
|
||||||
<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>
|
</ol>
|
||||||
|
|
||||||
<h2 id="outsourcing">10. Outsourcing consigliato (per restare snelli)</h2>
|
<h2 id="outsourcing">10. Outsourcing consigliato (per restare snelli)</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{
|
||||||
<strong>Security Ops / SOC:</strong> servizio gestito per log, alerting e penetration test
|
modelloOrganizzativoOutsourcing.map((o) => (
|
||||||
periodici.
|
<li>
|
||||||
</li>
|
<strong>{o.titolo}:</strong> {o.testo}
|
||||||
<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>
|
</ul>
|
||||||
|
|
||||||
<h2 id="note">11. Note pratiche e raccomandazioni</h2>
|
<h2 id="note">11. Note pratiche e raccomandazioni</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
{modelloOrganizzativoNote.map((n) => <li>{n}</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>
|
</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>
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -1,53 +1,77 @@
|
|||||||
---
|
---
|
||||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||||
|
import {
|
||||||
|
privacyCrossReferences,
|
||||||
|
privacyDocument,
|
||||||
|
privacyRiferimenti,
|
||||||
|
privacySections,
|
||||||
|
} from '../data/privacy';
|
||||||
|
|
||||||
|
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||||
|
const lead =
|
||||||
|
"Informativa quadro sul trattamento dei dati personali per il portale istituzionale NexStudio (sede operativa: Bangkok, Thailandia) e per le interazioni corporate con i servizi SaaS LexAura e MediAura. " +
|
||||||
|
privacyCrossReferences.lead;
|
||||||
---
|
---
|
||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="Privacy — NexStudio"
|
title="Privacy — NexStudio"
|
||||||
description="Informativa sul trattamento dei dati personali NexStudio."
|
description="Informativa privacy quadro NexStudio: sito istituzionale, contatti corporate, rimandi ai dettagli privacy dei SaaS LexAura (Legal Tech) e MediAura (Health Tech)."
|
||||||
heading="Informativa sulla privacy"
|
heading="Informativa sulla privacy"
|
||||||
lead="Documento provvisorio: va adattato alla vostra organizzazione e revisionato da un legale prima della pubblicazione definitiva."
|
lead={lead}
|
||||||
>
|
>
|
||||||
<p>
|
<div>
|
||||||
Questa pagina descrive, in forma generica, come NexStudio intende trattare i
|
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||||
dati personali raccolti attraverso il sito web e i canali di contatto. Le
|
<span class="font-medium text-nx-fg">Versione</span> {privacyDocument.version}
|
||||||
finalità, le basi giuridiche e i destinatari vanno definiti in base alle
|
<span class="text-nx-muted/80"> · </span>
|
||||||
vostre attività reali (es. gestione richieste, newsletter, analytics).
|
<span class="font-medium text-nx-fg">In vigore dal</span> {privacyDocument.inVigoreDal}
|
||||||
</p>
|
<span class="text-nx-muted/80"> · </span>
|
||||||
|
<span class="font-medium text-nx-fg">Ultimo aggiornamento</span>{' '}
|
||||||
|
{privacyDocument.ultimoAggiornamento}
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Titolare del trattamento</h2>
|
<p class="!mt-5 text-sm text-nx-muted sm:text-base">
|
||||||
<p>
|
Documenti connessi:{' '}
|
||||||
Indicare ragione sociale, sede, P.IVA e modalità di contatto (es. email
|
{
|
||||||
dedicata privacy). Per richieste degli interessati potete rimandare alla
|
privacyRiferimenti.map((r, i) => (
|
||||||
sezione <a class="text-sky-400/90 hover:text-sky-300" href="/#contatti"
|
<span>
|
||||||
>Contatti</a
|
{i > 0 && <span class="text-nx-muted/80"> · </span>}
|
||||||
> o a un indirizzo PEC / form strutturato.
|
<a class={link} href={r.href}>{r.label}</a>
|
||||||
</p>
|
</span>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</p>
|
||||||
|
|
||||||
<h2>Tipologie di dati e finalità</h2>
|
<h2 id="indice" class="!mt-8">Indice</h2>
|
||||||
<p>
|
<ol class="!mt-3 list-decimal space-y-1.5 pl-5 text-sm leading-relaxed sm:text-base">
|
||||||
Esempi da personalizzare: dati di navigazione e log tecnici; dati forniti
|
{
|
||||||
volontariamente tramite moduli o chat; eventuali cookie di profilazione (da
|
privacySections.map((s) => (
|
||||||
collegare alla <a class="text-sky-400/90 hover:text-sky-300" href="/cookies"
|
<li>
|
||||||
>informativa cookie</a
|
<a class={link} href={`#${s.id}`}>{s.title}</a>
|
||||||
>). Per ogni trattamento indicare la base giuridica (contratto, legittimo
|
</li>
|
||||||
interesse, consenso, obbligo legale).
|
))
|
||||||
</p>
|
}
|
||||||
|
</ol>
|
||||||
|
|
||||||
<h2>Conservazione e sicurezza</h2>
|
{
|
||||||
<p>
|
privacySections.map((s) => (
|
||||||
Specificare tempi di conservazione per categoria di dati e misure di
|
<section class="mt-10" id={s.id}>
|
||||||
sicurezza adottate (crittografia, controllo accessi, fornitori cloud, sede
|
<h2
|
||||||
dei dati).
|
class="scroll-mt-8 text-lg font-semibold text-nx-fg sm:text-xl"
|
||||||
</p>
|
>
|
||||||
|
{s.title}
|
||||||
<h2>Diritti degli interessati</h2>
|
</h2>
|
||||||
<p>
|
{s.paragraphs.map((p) => (
|
||||||
Gli interessati possono esercitare i diritti previsti dal Reg. (UE) 2016/679
|
<p class="mt-3 text-sm leading-relaxed text-nx-muted sm:text-base">{p}</p>
|
||||||
(accesso, rettifica, cancellazione, limitazione, portabilità, opposizione,
|
))}
|
||||||
revoca del consenso). Dettagli operativi nella pagina <a
|
{s.bullets && s.bullets.length > 0 ? (
|
||||||
class="text-sky-400/90 hover:text-sky-300"
|
<ul class="mt-3 list-disc space-y-2 pl-5 text-sm sm:text-base">
|
||||||
href="/gdpr">GDPR</a
|
{s.bullets.map((b) => (
|
||||||
>.
|
<li class="text-nx-muted">{b}</li>
|
||||||
</p>
|
))}
|
||||||
|
</ul>
|
||||||
|
) : null}
|
||||||
|
</section>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -1,25 +1,69 @@
|
|||||||
---
|
---
|
||||||
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
import SubpageLayout from '../layouts/SubpageLayout.astro';
|
||||||
|
import { termsDocument, termsSections, termsRiferimenti, termsCrossReferences } from '../data/terms';
|
||||||
|
|
||||||
|
const link = 'text-sky-400/90 underline-offset-2 hover:text-sky-300 hover:underline';
|
||||||
|
const lead =
|
||||||
|
"Si applicano alla navigazione e all'uso del sito informativo pubblico di NexStudio (sede: Bangkok, Thailandia). I contratti d'abbonamento o d'acquisto sui prodotti software restano retti da offerte, ordini o accordi separati. " +
|
||||||
|
termsCrossReferences.leadNote;
|
||||||
---
|
---
|
||||||
|
|
||||||
<SubpageLayout
|
<SubpageLayout
|
||||||
title="Condizioni d’uso — NexStudio"
|
title="Condizioni d’uso — NexStudio"
|
||||||
description="Termini e condizioni d’uso dei siti e servizi NexStudio."
|
description="Condizioni d’uso del sito web NexStudio: accettazione, utilizzo lecito, responsabilità, legge applicabile. Bangkok, LexAura e MediAura, servizi B2B per contratto a parte."
|
||||||
heading="Condizioni d’uso"
|
heading="Condizioni d’uso"
|
||||||
lead="Bozza: definire condizioni d’uso del sito, limitazioni di responsabilità, proprietà intellettuale e legge applicabile con supporto legale."
|
lead={lead}
|
||||||
>
|
>
|
||||||
<p>
|
<div>
|
||||||
Questa pagina ospiterà le condizioni d’uso per il sito
|
<p class="border-l-2 border-sky-500/35 pl-4 text-sm leading-relaxed text-nx-muted">
|
||||||
pubblico e, se del caso, per l’accesso a demo o aree riservate. Struttura
|
<span class="font-medium text-nx-fg">Versione</span> {termsDocument.version}
|
||||||
tipica: oggetto, utente, servizi offerti, obblighi dell’utente, limitazione
|
<span class="text-nx-muted/80"> · </span>
|
||||||
di responsabilità, sospensione, legge e foro competente.
|
<span class="font-medium text-nx-fg">In vigore dal</span> {termsDocument.inVigoreDal}
|
||||||
</p>
|
</p>
|
||||||
<h2>Collegamenti</h2>
|
|
||||||
<p>
|
<p class="!mt-5 text-sm text-nx-muted sm:text-base">
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/privacy">Privacy</a>
|
Documenti connessi:{' '}
|
||||||
·
|
{
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/cookies">Informativa cookie</a>
|
termsRiferimenti.map((r, i) => (
|
||||||
·
|
<span>
|
||||||
<a class="text-sky-400/90 hover:text-sky-300" href="/gdpr">Diritti privacy (GDPR)</a>
|
{i > 0 && <span class="text-nx-muted/80"> · </span>}
|
||||||
</p>
|
<a class={link} href={r.href}>{r.label}</a>
|
||||||
|
</span>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</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">
|
||||||
|
{
|
||||||
|
termsSections.map((s) => (
|
||||||
|
<li>
|
||||||
|
<a class={link} href={`#${s.id}`}>{s.title}</a>
|
||||||
|
</li>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
{
|
||||||
|
termsSections.map((s) => (
|
||||||
|
<section class="mt-10" id={s.id}>
|
||||||
|
<h2
|
||||||
|
class="scroll-mt-8 text-lg font-semibold text-nx-fg sm:text-xl"
|
||||||
|
>
|
||||||
|
{s.title}
|
||||||
|
</h2>
|
||||||
|
{s.paragraphs.map((p) => (
|
||||||
|
<p class="mt-3 text-sm leading-relaxed text-nx-muted sm:text-base">{p}</p>
|
||||||
|
))}
|
||||||
|
{s.bullets && s.bullets.length > 0 ? (
|
||||||
|
<ul class="mt-3 list-disc space-y-2 pl-5 text-sm sm:text-base">
|
||||||
|
{s.bullets.map((b) => (
|
||||||
|
<li class="text-nx-muted">{b}</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
) : null}
|
||||||
|
</section>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</SubpageLayout>
|
</SubpageLayout>
|
||||||
|
|||||||
@ -240,7 +240,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
min-height: 3rem;
|
min-height: 3rem;
|
||||||
opacity: 0.72;
|
opacity: 0.76;
|
||||||
transition: opacity 0.2s ease, filter 0.2s ease;
|
transition: opacity 0.2s ease, filter 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,27 +257,27 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nx-tech-slider__logo {
|
.nx-tech-slider__logo {
|
||||||
height: 2.5rem;
|
height: 2.9rem;
|
||||||
width: auto;
|
width: auto;
|
||||||
max-width: 8.5rem;
|
max-width: 10rem;
|
||||||
object-fit: contain;
|
object-fit: contain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
.nx-tech-slider__logo {
|
.nx-tech-slider__logo {
|
||||||
height: 2.875rem;
|
height: 3.25rem;
|
||||||
max-width: 9.5rem;
|
max-width: 11rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Badge testuale HL7 FHIR: più largo ma stessa altezza riga */
|
/* Badge testuale HL7 FHIR: più largo ma stessa altezza riga */
|
||||||
.nx-tech-slider__logo--fhir {
|
.nx-tech-slider__logo--fhir {
|
||||||
max-width: 11.5rem;
|
max-width: 13rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 640px) {
|
||||||
.nx-tech-slider__logo--fhir {
|
.nx-tech-slider__logo--fhir {
|
||||||
max-width: 12.5rem;
|
max-width: 14.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user