Home Security

Sicurezza in OmniNeo

Aggiornato il 10 maggio 2026 · v1.0

Questa pagina descrive in linguaggio non tecnico le misure di sicurezza adottate in OmniNeo. È pensata per medici e operatori sanitari che vogliono capire cosa proteggiamo e come lo proteggiamo, senza dover leggere documenti normativi.

Sintesi. OmniNeo è progettato per non conservare dati di pazienti: non li chiediamo, non li riceviamo dal nostro AI Assistant, non finiscono nei nostri backup. La privacy by design (Art. 25 GDPR) è il cardine architetturale di ogni componente.

1. Architettura privacy-first

Nessun dato di paziente sui nostri server

OmniNeo è uno strumento didattico per il ragionamento clinico. Non offriamo né cartella clinica né archiviazione referti. Conserviamo solo dati del medico (email, nome, abbonamento, accessi), mai dati identificativi di pazienti.

I prompt all'AI Assistant non vengono memorizzati

Il backend di OmniNeo trasmette il messaggio dell'utente direttamente alle API di Anthropic e restituisce la risposta. Non scriviamo prompt né risposte in alcun database, log applicativo o cartella temporanea. L'unica statistica conservata è il conteggio giornaliero di chiamate per utente, che serve a fatturare i crediti.

Filtro automatico anti-PII verso Anthropic

Anche se l'AI Assistant non memorizza i prompt, esiste comunque un trasferimento verso terzi (Anthropic, USA). Per minimizzare il rischio di esposizione accidentale, ogni messaggio viene controllato server-side da un filtro che riconosce 16 categorie di dati identificativi (codici fiscali, IBAN, numeri NHS/SSN, telefoni IT/US/ES, prefissi clinici "Sig./Mr./Sr. + Cognome", numeri di cartella, date di nascita anagrafiche). Se il filtro trova un match, il messaggio viene bloccato e l'utente riceve un suggerimento didattico per riformulare in forma anonima.

Maggiori dettagli su security-ai.html.

2. Autenticazione robusta

Password sicure e mai visibili

Le password sono memorizzate tramite hashing bcrypt cost 12 (industry standard 2026). Significa che nemmeno noi possiamo leggerle: se ricevessimo richiesta di consegnarle, semplicemente non le abbiamo. Quando reimposti la password, il vecchio hash viene sovrascritto.

Anti-bruteforce

Il login è protetto da rate limiting con sliding window (massimo 10 tentativi/minuto/IP), lockout temporaneo dopo errori ripetuti, e sleep costante per prevenire timing attacks (un attaccante non può capire se l'email esiste osservando il tempo di risposta). Tutti i tentativi falliti generano un evento di audit.

Verifica anti-bot al momento della registrazione

Usiamo hCaptcha (Intuition Machines) per bloccare la creazione automatica di account. Sui form di login questo si attiva solo dopo 3 fallimenti consecutivi.

2FA obbligatoria per gli account admin

L'accesso al pannello di amministrazione richiede un secondo fattore (TOTP — app come Aegis o Google Authenticator) e una re-autenticazione "step-up" valida 15 minuti per le azioni più sensibili (verifica utenti, modifica piani, esportazione dati aggregati). Funzionalità in deploy nella Fase 4a del piano sicurezza.

Verifica del professionista sanitario

Al momento della registrazione viene chiesto il numero di iscrizione all'albo professionale (FNOMCeO per medici, FNOPI per infermieri, FNOPO per ostetriche). L'admin verifica manualmente la validità tramite albo pubblico e applica un badge "Verificato". Misura mirata a creare un'audience clinica affidabile e a documentare la natura "esperto-a-esperto" della comunicazione (pertinente per la posizione giuridica fuori dall'Art. 9 GDPR).

3. Trasporto e archiviazione

HTTPS obbligatorio (TLS 1.3)

Il sito risponde solo su HTTPS. Le richieste HTTP vengono reindirizzate, e il browser viene istruito (HSTS preload-eligible, max-age 2 anni) a non tentare nemmeno HTTP per i prossimi anni. I certificati sono Let's Encrypt rinnovati automaticamente.

Headers HTTP difensivi

Ogni risposta include header di sicurezza: X-Frame-Options: DENY (anti-clickjacking), X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin, Permissions-Policy restrittiva (camera/mic/GPS disabilitati), CSP in monitoring continuo.

Sessione blindata

I cookie di sessione sono HttpOnly (inaccessibili da JavaScript), Secure (solo HTTPS), SameSite=Strict (anti-CSRF avanzato). Idle timeout 24 ore. La funzione "Disconnetti tutti i dispositivi" invalida istantaneamente tutte le sessioni attive su ogni device.

Geolocalizzazione locale

Per mostrarti "ultimo accesso da Napoli — Italia" non chiamiamo servizi esterni (storicamente ip-api.com, oggi rimosso). Usiamo il database GeoLite2 caricato localmente sul nostro server, che restituisce città/paese senza alcuna chiamata di rete a soggetti USA.

Backup cifrati offsite (Fase 4c)

I backup giornalieri saranno cifrati con AES-256 e archiviati su Backblaze (USA, SCC) con chiave gestita da noi e non condivisa con il provider. Significa che anche se Backblaze venisse compromesso, i dati restano illeggibili. Funzionalità prevista per Fase 4c (giugno 2026).

4. Diritti utente (GDPR)

Esportazione dati (DSAR Art. 15+20)

Dal tuo profilo puoi richiedere un archivio ZIP con tutti i dati che ti riguardano (profilo, accessi, uso AI, post forum, segnalazioni, referrals). Lo riceverai per email entro pochi secondi. Il link è valido 24 ore e mono-uso. Frequenza: 1 ogni 30 giorni.

Cancellazione (DSAR Art. 17)

L'eliminazione dell'account è disponibile dal profilo, richiede password + parola di conferma "ELIMINA". Hai 7 giorni di ripensamento per annullarla effettuando il login. Trascorsi i 7 giorni l'eliminazione è completa e irreversibile (con pseudonimizzazione automatica dei tuoi post nel forum, oppure cancellazione completa se hai spuntato l'opzione).

Audit della tua attività

Ogni evento sensibile (login, cambio password, attivazione 2FA, richiesta DSAR) viene registrato in un log di audit. Lo storico ti viene fornito nell'export DSAR.

5. Stack tecnologico (trasparenza)

6. Vulnerability disclosure

Se scopri una vulnerabilità di sicurezza, scrivici a security@omni-test.it. Apprezziamo le segnalazioni responsabili e ti risponderemo entro 48 ore lavorative.

File security.txt conforme RFC 9116: /.well-known/security.txt


Documenti correlati