Sicurezza e protezione dei dati

Ultimo aggiornamento: 5 settembre 2026

Panoramica sulla Sicurezza

Data di entrata in vigore: 1 gennaio 2026 Ultimo aggiornamento: 5 settembre 2026

In Kompunik, la sicurezza dei Suoi dati e l'integrità della nostra piattaforma sono alla base di tutto ciò che realizziamo. Il presente documento fornisce una panoramica delle misure di sicurezza tecniche e organizzative che abbiamo implementato per proteggere i nostri utenti, i loro dati e l'esperienza di apprendimento.


1. Autenticazione e Controllo degli Accessi

Utilizziamo un sistema di autenticazione multilivello per garantire che solo gli utenti autorizzati possano accedere alla piattaforma e alle sue funzionalità.

1.1 Framework di Autenticazione

  • Auth.js v5 con strategia JWT (JSON Web Token) fornisce un'autenticazione sicura e stateless
  • Autenticazione con e-mail e password con hashing delle password tramite bcrypt
  • Single Sign-On (SSO) tramite Google Workspace e Microsoft Entra ID per gli utenti delle organizzazioni, utilizzando i protocolli standard del settore OAuth 2.0 / OpenID Connect
  • I token di sessione sono conservati in cookie sicuri, HttpOnly e SameSite per prevenire attacchi cross-site

1.2 Autenticazione Multi-Fattore (MFA)

  • OTP via e-mail (One-Time Password): Abilitato per impostazione predefinita per tutti gli utenti con account personale. Un codice di verifica a tempo limitato viene inviato al Suo indirizzo e-mail registrato durante l'accesso.
  • TOTP (Time-based One-Time Password): Supporto opzionale per app di autenticazione (ad es., Google Authenticator, Authy) per una sicurezza più robusta, con codici di recupero di backup
  • Politica MFA dell'organizzazione: Gli amministratori dell'organizzazione possono richiedere l'MFA per tutti gli utenti della propria organizzazione e configurare quali metodi MFA sono consentiti

1.3 Controllo degli Accessi Basato sui Ruoli

  • Quattro ruoli distinti con permessi graduali: Learner (Studente), Manager, Amministratore dell'Organizzazione e Super Amministratore
  • Applicazione del controllo degli accessi a livello di route nel middleware garantisce che gli utenti possano accedere solo alle pagine e alle funzionalità appropriate al proprio ruolo
  • Protezione degli endpoint API con verifica del ruolo su ogni azione server

1.4 Gestione delle Sessioni

  • Token JWT con scadenza configurabile e logica di aggiornamento
  • Attributi dei cookie sicuri (HttpOnly, Secure, SameSite=Lax) per prevenire il dirottamento di sessione e gli attacchi CSRF
  • Limitazione della velocità sugli endpoint di autenticazione per prevenire attacchi brute-force (5 tentativi per 15 minuti per e-mail)

2. Crittografia dei Dati

Tutti i dati sono crittografati sia in transito che a riposo per proteggere contro l'accesso non autorizzato.

2.1 Crittografia in Transito

  • TLS 1.2 o superiore è applicato su tutte le connessioni tra gli utenti e la piattaforma
  • HTTPS è obbligatorio; le connessioni HTTP sono reindirizzate automaticamente
  • Le intestazioni HTTP Strict Transport Security (HSTS) sono impostate per prevenire attacchi di downgrade del protocollo

2.2 Crittografia a Riposo

  • Crittografia AES-256 per tutti i dati archiviati in MongoDB Atlas
  • Backup automatizzati crittografati gestiti dall'infrastruttura di MongoDB Atlas
  • I contenuti multimediali in DigitalOcean Spaces sono crittografati a riposo tramite crittografia lato server

2.3 URL Firmati per i Contenuti Multimediali

  • Tracce audio, video, immagini e certificati sono forniti tramite URL firmati a tempo limitato con scadenza di un (1) ora
  • Gli URL firmati sono generati lato server e non possono essere condivisi o riutilizzati dopo la scadenza
  • La protezione contro l'hotlinking convalida le intestazioni di origine e referrer delle richieste

3. Privacy e Trattamento dei Dati

La privacy è integrata nella progettazione della piattaforma, non trattata come un aspetto secondario.

3.1 Conformità al RGPD

  • Piena conformità al Regolamento Generale sulla Protezione dei Dati (RGPD) per tutti i soggetti interessati nell'UE
  • Il trattamento dei dati si basa su basi giuridiche chiare: esecuzione del contratto, interesse legittimo e consenso esplicito
  • Gli utenti possono esercitare i propri diritti sui dati (accesso, rettifica, cancellazione, portabilità) in qualsiasi momento

3.2 Privacy per Impostazione Predefinita

  • I profili degli utenti sono privati per impostazione predefinita — nessuna informazione personale è visibile agli altri utenti a meno che non sia esplicitamente abilitata
  • I profili pubblici, le schede di condivisione e la visibilità nella community sono funzionalità opt-in
  • Risposte 404 che preservano la privacy per profili inesistenti o privati (nessuna enumerazione degli utenti)

3.3 Condivisione dei Dati Basata sul Consenso

  • Le funzionalità della community (post, commenti, circoli, sfide) richiedono la partecipazione attiva
  • Le funzionalità di confronto tra pari richiedono un'adesione esplicita sia dell'organizzazione che dell'utente
  • Le impostazioni dell'avatar e della visibilità del profilo sono granulari e controllate dall'utente

3.4 Nessun Tracciamento di Terze Parti

  • Nessun servizio di analisi di terze parti (nessun Google Analytics, Mixpanel o simili)
  • Nessun cookie pubblicitario o tecnologia di tracciamento cross-site
  • Nessuna vendita di dati a inserzionisti, intermediari di dati o terze parti
  • Tutte le analisi sono calcolate internamente dal nostro database utilizzando dati anonimizzati e aggregati

3.5 Diritto alla Cancellazione

  • Gli utenti possono richiedere la cancellazione completa dell'account
  • I dati dell'account vengono eliminati entro 30 giorni dalla richiesta di cancellazione
  • Le registrazioni finanziarie sono conservate per 7 anni come richiesto dalla legge francese

4. Infrastruttura e Hosting

La nostra infrastruttura è progettata per affidabilità, sicurezza e protezione dei dati.

4.1 Database

  • MongoDB Atlas database cloud-hosted con backup automatizzati, ripristino point-in-time e crittografia a livello di cluster
  • Infrastruttura certificata SOC 2 Type II
  • Accesso al database limitato agli account di servizio dell'applicazione con permessi minimi necessari

4.2 Archiviazione dei Contenuti

  • DigitalOcean Spaces (archiviazione a oggetti compatibile S3) per file multimediali, certificati e risorse caricate
  • Crittografia a riposo lato server
  • Accesso controllato tramite URL firmati con scadenza a tempo limitato

4.3 Hosting dell'Applicazione

  • Applicazione Next.js con runtime Node.js
  • L'isolamento delle variabili d'ambiente garantisce che i segreti non siano mai esposti al codice lato client
  • Separazione tra build-time e runtime del codice server e client

4.4 Backup Automatizzati

  • I backup del database sono automatizzati e crittografati da MongoDB Atlas
  • Capacità di ripristino point-in-time per il disaster recovery
  • I contenuti multimediali sono archiviati in modo ridondante in DigitalOcean Spaces con replica integrata

5. Sicurezza dell'Applicazione

L'applicazione è costruita con pratiche di sviluppo incentrate sulla sicurezza su tutti i livelli.

5.1 Validazione degli Input

  • Tutti gli input degli utenti sono validati lato server prima dell'elaborazione
  • Controllo rigoroso dei tipi con TypeScript su tutto il codice sorgente
  • I caricamenti di file sono validati per tipo, dimensione e contenuto (inclusa la sanificazione SVG per rimuovere script dannosi)

5.2 Sanificazione dei Contenuti

  • I contenuti generati dagli utenti (post della community, commenti) vengono renderizzati come testo semplice utilizzando la protezione XSS integrata di React
  • I contenuti del blog (creati dagli amministratori) sono sanificati utilizzando sanitize-html con una lista consentita rigorosa di tag HTML sicuri
  • I caricamenti SVG sono elaborati tramite un sanificatore dedicato che rimuove script, gestori di eventi e oggetti esterni

5.3 Sicurezza del Database

  • Solo query parametrizzate — tutte le query MongoDB utilizzano filtri parametrizzati, eliminando completamente le vulnerabilità di iniezione
  • Nessun utilizzo di $where, eval() o qualsiasi costruzione dinamica di query
  • Le operazioni sul database sono incapsulate in funzioni dedicate del livello di accesso ai dati

5.4 Limitazione della Velocità delle Richieste

  • La limitazione della velocità è applicata su tutti gli endpoint sensibili:
    • Accesso: 5 tentativi per 15 minuti per e-mail
    • Registrazione: 5 tentativi per ora per e-mail
    • Reset della password: 3 tentativi per 15 minuti
    • Endpoint API: limiti configurabili per route
    • Funzionalità assistite da IA: budget giornalieri per utente
  • Le intestazioni di limitazione (X-RateLimit-Remaining, X-RateLimit-Reset) informano i client della quota residua

5.5 Intestazioni di Sicurezza

  • Content Security Policy (CSP): Limita le origini di script, stili, immagini e connessioni a origini attendibili
  • X-Content-Type-Options: nosniff per prevenire la confusione dei tipi MIME
  • X-Frame-Options: SAMEORIGIN per prevenire il clickjacking
  • Referrer-Policy: strict-origin-when-cross-origin per limitare la divulgazione del referrer
  • Permissions-Policy: Limita l'accesso alle API del browser sensibili

5.6 Protezione CSRF

  • Le azioni server dispongono di protezione CSRF integrata attraverso i meccanismi del framework Next.js
  • L'attributo del cookie SameSite=Lax previene il cross-site request forgery
  • Le route API sono protette dall'autenticazione e dalla verifica del ruolo

6. Isolamento dei Tenant delle Organizzazioni

Le organizzazioni sulla piattaforma operano in ambienti isolati per prevenire la fuga di dati tra i tenant.

6.1 Isolamento dei Dati

  • Tutte le query del database per i dati delle organizzazioni includono l'identificativo dell'organizzazione come filtro obbligatorio
  • Gli utenti possono accedere solo ai dati appartenenti alla propria organizzazione
  • L'accesso ai dati inter-organizzazione è impedito a livello di query del database

6.2 Controllo degli Accessi

  • I gate dei ruoli nel middleware garantiscono che gli utenti possano accedere solo alle route appropriate alla propria organizzazione e al proprio ruolo
  • Gli amministratori dell'organizzazione possono gestire solo gli utenti e le impostazioni all'interno della propria organizzazione
  • La visibilità dei manager è limitata ai team assegnati (i manager vedono solo gli studenti del proprio team)

6.3 Isolamento della Personalizzazione Grafica

  • La personalizzazione grafica dell'organizzazione (loghi, nomi visualizzati) è circoscritta per organizzazione
  • La personalizzazione non influisce sulle altre organizzazioni né sull'esperienza globale della piattaforma
  • Le risorse di personalizzazione caricate sono archiviate in percorsi specifici per organizzazione

6.4 Isolamento della Community

  • Gli spazi della community delle organizzazioni sono completamente separati dalla community globale
  • Post, circoli, sfide e sale di pratica creati nello spazio di un'organizzazione sono visibili solo ai membri di tale organizzazione
  • Le funzionalità della community dell'organizzazione possono essere abilitate o disabilitate dall'amministratore dell'organizzazione

6.5 Gestione dei Contratti e delle Postazioni

  • Le condizioni contrattuali e le allocazioni delle postazioni sono gestite per organizzazione
  • Le assegnazioni delle postazioni sono validate rispetto ai limiti contrattuali con operazioni atomiche sul database per prevenire l'over-allocation
  • Le modifiche alle postazioni attivano le appropriate modifiche di accesso (periodi di grazia, aggiornamenti delle iscrizioni)

7. Moderazione dei Contenuti

I contenuti della community sono moderati attraverso una pipeline completa a sei livelli per mantenere un ambiente sicuro e rispettoso.

7.1 Pipeline di Moderazione

  1. Limitazione della velocità: Previene la pubblicazione rapida e lo spam
  2. Sanificazione HTML: Rimuove qualsiasi markup HTML e potenziali vettori XSS dagli input degli utenti
  3. Normalizzazione del testo: Normalizza il testo per rilevare tecniche di evasione (omoglifi, leetspeak, caratteri di larghezza zero)
  4. Corrispondenza con la blocklist: Verifica i contenuti rispetto a blocklist specifiche per lingua di termini vietati
  5. Classificazione IA: I contenuti sono analizzati dall'API di Moderazione di OpenAI per discorsi d'odio, violenza, molestie e altre categorie di contenuti dannosi
  6. Revisione umana: I contenuti contrassegnati vengono inoltrati alla coda di moderazione amministrativa per la revisione manuale

7.2 Contrassegno Automatizzato

  • I contenuti che attivano le soglie della blocklist o della classificazione IA vengono automaticamente sospesi per la revisione
  • Gli utenti ricevono un feedback chiaro quando i loro contenuti necessitano di modifiche

7.3 Segnalazione e Revisione

  • Tutti gli utenti possono segnalare contenuti o comportamenti tramite una segnalazione strutturata con categorie di motivazione predefinite
  • Le segnalazioni vengono monitorate ed escalate quando si ricevono più segnalazioni per lo stesso contenuto
  • Gli amministratori hanno accesso a una coda di moderazione dedicata con strumenti di filtraggio e azione

7.4 Progettazione Fail-Open

  • Se il servizio di moderazione IA è temporaneamente non disponibile, i contenuti vengono consentiti per evitare l'interruzione del servizio
  • La moderazione automatizzata è integrata dalla segnalazione della community per intercettare eventuali contenuti che eludono i controlli automatizzati

8. Sicurezza dei Pagamenti

Le transazioni finanziarie sono gestite con i più elevati standard di sicurezza dai nostri partner di pagamento: Paddle, il nostro Merchant of Record per gli abbonamenti personali, e Stripe, che elabora la fatturazione alle organizzazioni (Enterprise e Academic).

8.1 Conformità PCI-DSS

  • Tutta l'elaborazione dei pagamenti è gestita da Paddle o Stripe, entrambi certificati PCI-DSS Livello 1 (il più alto livello di certificazione per la sicurezza dei pagamenti)
  • Kompunik non riceve, elabora o conserva mai numeri di carta di credito, CVV o dettagli completi della carta di pagamento sui propri server
  • I dati della carta di pagamento vengono inseriti direttamente negli elementi di pagamento sicuri del fornitore e non transitano mai dai nostri sistemi

8.2 Sicurezza dei Webhook

  • Gli eventi webhook di Paddle e Stripe sono verificati tramite validazione della firma crittografica prima dell'elaborazione
  • Ogni fornitore ha un proprio endpoint e una propria chiave di firma; un evento firmato per l'uno viene rifiutato dall'altro
  • La deduplicazione degli ID evento previene l'elaborazione duplicata dello stesso evento di pagamento
  • L'endpoint webhook è soggetto a limitazione della velocità per prevenire abusi

8.3 Elaborazione Idempotente

  • L'attivazione del pagamento è idempotente — l'elaborazione dello stesso evento più volte produce lo stesso risultato senza addebiti o attivazioni duplicati
  • Le registrazioni delle transazioni forniscono una traccia di audit completa di tutte le attività di pagamento

9. Conformità e Standard

9.1 Conformità Attuale

  • Allineamento al RGPD per tutti i soggetti interessati nell'UE, incluse basi giuridiche documentate, diritti dei soggetti interessati e accordi per il trattamento dei dati con i sub-responsabili
  • Obiettivo di risposta agli incidenti di 48 ore per gli incidenti di sicurezza — ci impegniamo a indagare e iniziare la risoluzione entro 48 ore dalla rilevazione dell'incidente
  • Revisioni di sicurezza interne regolari del codice, delle dipendenze e della configurazione dell'infrastruttura
  • Audit delle dipendenze tramite scansione automatizzata delle vulnerabilità dei pacchetti di terze parti

9.2 Note sulla Trasparenza

Crediamo nella trasparenza riguardo alla nostra attuale postura di sicurezza e alla nostra roadmap di miglioramento:

  • Le certificazioni SOC 2 e ISO 27001 sono pianificate per una fase futura con la crescita dell'organizzazione
  • La limitazione della velocità attualmente utilizza l'archiviazione in memoria (adatta per distribuzioni a singola istanza); la migrazione a una limitazione distribuita basata su Redis è pianificata per gli ambienti di produzione multi-istanza
  • I test di sicurezza sono attualmente eseguiti tramite revisioni interne; l'ingaggio di una società esterna di penetration testing è pianificato
  • L'infrastruttura di audit logging è in fase di sviluppo per fornire tracce di attività complete per finalità di conformità e analisi forense

10. Divulgazione Responsabile

Se scopre una vulnerabilità di sicurezza nella piattaforma Kompunik, La incoraggiamo a segnalarla in modo responsabile.

10.1 Come Segnalare

La preghiamo di inviare i rapporti sulle vulnerabilità a compliance@kompunik.org con:

  • Una descrizione dettagliata della vulnerabilità
  • I passaggi per riprodurre il problema
  • L'impatto potenziale della vulnerabilità
  • Eventuali suggerimenti per la risoluzione, se applicabili

10.2 Il Nostro Impegno

  • Confermeremo la ricezione del Suo rapporto entro 48 ore
  • Indagheremo e forniremo una valutazione iniziale entro 5 giorni lavorativi
  • La terremo informato/a sui nostri progressi nella risoluzione della vulnerabilità
  • Non intraprenderemo azioni legali contro i ricercatori che segnalano vulnerabilità in buona fede e seguono le pratiche di divulgazione responsabile

10.3 Ambito

La presente politica di divulgazione responsabile copre l'applicazione web Kompunik e le relative API. I servizi di terze parti (Paddle, Stripe, MongoDB Atlas, DigitalOcean) hanno i propri canali di segnalazione sulla sicurezza.


11. Contatti

Per domande sulle nostre pratiche di sicurezza o per segnalare un problema di sicurezza, La preghiamo di contattarci a:

Kompunik SAS 6 rue des Moulins, 13570 Barbentane, Francia


La presente Panoramica sulla Sicurezza è in vigore dal 1 gennaio 2026.