Sicurezza e i tuoi dati
Ultimo aggiornamento: 28 agosto 2026 · Questa pagina descrive come funziona il prodotto oggi, non come vorremmo che funzionasse
Stai affidando a un sito la tua storia di investimenti, quindi hai diritto di sapere che fine fa. Questa pagina dice che cosa conserviamo, che cosa non vediamo mai, come è protetto il tuo account e dove gira tutto. Dove qualcosa è più debole di quanto immagineresti, è scritto anche quello.
Non tocchiamo mai il tuo conto presso il broker
Nel prodotto non esiste alcun accesso al broker. Scarichi tu stesso un export dal tuo broker e carichi quel file. Non chiediamo mai una password del broker, non deteniamo alcun token né chiave API per il tuo conto, e nessuna parte del codice può inserire un ordine, spostare denaro o leggere il tuo saldo presso il broker. È una proprietà di come è costruito il prodotto, non una promessa sul nostro comportamento: la connessione non esiste.
Che cosa conserviamo di un export
Un export del broker è una tabella larga. Leggiamo un insieme fisso di colonne e salviamo una riga per operazione con questi campi: la data e l'ora, il tipo, l'ISIN, il simbolo, il nome del prodotto, la quantità, il prezzo, la valuta, l'importo, l'importo convertito in euro, le commissioni, il tasso di cambio usato e un campo di testo libero. Quest'ultimo campo è la riga di descrizione che il tuo broker scrive sulla riga, per esempio una nota di dividendo o di operazioni societarie, e viene tagliato a 500 caratteri.
Ogni riga passa una convalida prima di essere salvata. Un ISIN che non ha la forma di un ISIN non viene tenuto come testo ma sostituito da una chiave ricavata dal simbolo. Un codice valuta che non è un codice ISO 4217 valido viene svuotato invece che salvato. Nomi e note vengono accorciati e ripuliti dai caratteri di controllo. Le date fuori da una finestra ragionevole vengono riportate dentro. Quel passaggio serve a evitare che un export strano rompa il calcolo, e ha come effetto collaterale che un contenuto insolito in una colonna non arriva intatto nel database.
Se carichi anche un riepilogo del portafoglio, la fotografia di quello che possiedi oggi, teniamo cinque cose per riga: la chiave dello strumento, il nome, la quantità, il prezzo e il valore. Ogni altra colonna di quel file viene ignorata.
Il file in sé non viene conservato. Viene letto in memoria e poi lasciato andare; quello che resta è il nome del file, il broker riconosciuto, il numero di righe ed eventuali avvisi, così la tua cronologia dei caricamenti resta leggibile.
Che cosa non riceviamo mai
Non riceviamo mai una password o un accesso del broker. I dati della carta vanno a Stripe e non arrivano mai ai nostri server. Il prodotto non chiede mai il tuo nome, il tuo indirizzo, la tua data di nascita o un numero di conto bancario, e gli importatori non leggono quelle colonne nemmeno quando un broker le scrive nel file. L'unico dato personale che serve all'account è un indirizzo e-mail, insieme alla tua preferenza di lingua e di valuta.
C'è un'eccezione che va detta. Per un formato che non riconosciamo, associ tu le colonne una volta sola. Quell'associatore salva esattamente le colonne che gli indichi, quindi se indichi una colonna con dentro qualcosa di personale, è quello che viene salvato.
Password e sessioni
Puoi accedere in tre modi: con Google, con un indirizzo e-mail e una password, oppure con un link di accesso che ti mandiamo via e-mail, e allora non c'è nessuna password. Se invece ne imposti una, viene salvata come hash PBKDF2-HMAC-SHA256 con 480.000 iterazioni e un sale casuale nuovo per ogni password. La password in sé non viene scritta da nessuna parte. Il numero di iterazioni sta dentro l'hash, quindi può essere alzato più avanti senza tagliare fuori nessuno: un hash vecchio viene sostituito in silenzio al successivo accesso di quella persona. La lunghezza minima è di 10 caratteri, e un indirizzo IP ha 25 tentativi di password all'ora.
Una sessione è un cookie firmato. È HttpOnly, quindi nessuno script può leggerlo, è SameSite=Lax ed è marcato Secure ogni volta che il sito gira su https, cosa che in produzione è sempre vera. Dura 180 giorni e si rinnova finché continui a usare l'app. Il cookie porta anche un contatore che appartiene al tuo account, e uscire alza quel contatore: uscire chiude quindi ogni sessione che hai ovunque e non solo quella che hai davanti.
In transito e nel browser
Il sito viene servito su https. Manda Strict-Transport-Security con un max-age di un anno compresi i sottodomini, così un browser che ha visto il sito una volta non riprova su http semplice. La content security policy consente solo script del nostro dominio, ed è per questo che sul sito e nel cruscotto non c'è nemmeno uno script di terze parti. L'inserimento in un frame viene rifiutato sia da X-Frame-Options sia da frame-ancestors, lo sniffing del tipo di contenuto è spento, il referrer viene tagliato quando si naviga verso un altro sito, e geolocalizzazione, microfono e fotocamera sono negati. Due cose escono dalla pagina verso un altro soggetto. Il carattere tipografico viene preso da Google Fonts, e gli errori del browser vanno a Sentry nella sua regione europea, così una pagina che si rompe da te è visibile a noi. Sentry è indicato nell'informativa sulla privacy insieme agli altri responsabili del trattamento.
Dove gira
L'API, entrambi i job pianificati e il database con il suo volume girano su Railway a EU West Metal, Amsterdam (europe-west4-drams3a), ed è così dal 28 agosto 2026. Il sito è servito da Vercel, la rete passa da Cloudflare, i pagamenti da Stripe e le e-mail da Resend. Chi tratta che cosa è elencato nell'informativa sulla privacy.
Che cosa mostra un link di condivisione e che cosa no
Il link di condivisione è facoltativo e resta spento finché non lo accendi. Quando lo accendi, un token casuale diventa l'indirizzo di una pagina in sola lettura; quando lo spegni, quell'indirizzo non vale più all'istante.
Chi la apre vede le tue posizioni e come sono andate, non il tuo saldo di cassa né i tuoi versamenti. Vale la pena essere precisi su che cosa copre quella frase. La pagina nasconde il tuo saldo di cassa, nasconde ogni versamento che hai fatto e nasconde i totali che se ne ricavano. Quello che non nasconde è il valore di ogni posizione: ogni posizione viene condivisa con il suo importo in euro, quindi chi ha il link può sommare quegli importi e arrivare al valore del tuo portafoglio investito. Se quel numero è qualcosa che preferisci non pubblicare, non accendere il link.
L'immagine di anteprima che le app di messaggistica e i social mostrano per un link di condivisione contiene solo percentuali.
Portare via i tuoi dati, e cancellarli
L'esportazione è un pulsante nelle impostazioni dell'account. Ti consegna tutto in JSON: la scheda del tuo account, ogni operazione salvata con tutti i suoi campi, la cronologia dei caricamenti e le tue impostazioni.
Anche la cancellazione è un pulsante, con una conferma da digitare. Toglie le tue operazioni, i caricamenti, le associazioni di colonne salvate, le fotografie del portafoglio, le posizioni di apertura, le impostazioni e l'account stesso. Due piccoli registri restano di proposito, ed entrambi non contengono altro che un hash irreversibile con sale del tuo indirizzo e-mail e la data in cui è iniziata una prova gratuita. Uno viene ripulito dopo un anno; l'altro resta, perché un registro che scade regalerebbe alla stessa persona una serie illimitata di prove gratuite. Nessuno dei due si può ricalcolare fino a un indirizzo.
Iscrizioni e abusi
La registrazione con un dominio di posta usa e getta viene rifiutata, contro una lista di blocco di 8.335 domini. I servizi di inoltro e di alias vengono controllati prima e sono espressamente consentiti: Apple Hide My Email, Firefox Relay, DuckDuckGo, SimpleLogin e addy.io funzionano, perché chi li usa è esattamente la persona per cui questa pagina è scritta.
Che cosa non facciamo con i tuoi dati
Non ci sono pubblicità e non vendiamo dati. Sul sito non c'è nessun servizio di analisi di terze parti, nessun pixel di tracciamento e nessun cookie pubblicitario; la content security policy qui sopra ne bloccherebbe uno se ci finisse per sbaglio. Sentry riceve segnalazioni di errore, mai visualizzazioni di pagina. Quello che misuriamo sono sei traguardi per account, per esempio che è stato caricato un primo file e che è stato mostrato il confronto, registrati sui nostri server come un traguardo e una data. Il tuo abbonamento è quello che paga tutto questo.
Segnalare un problema di sicurezza
Scrivi a security@bullbenchmark.com con quello che hai trovato e come riprodurlo. Quell'indirizzo lo legge una persona e riceverai una risposta. Due richieste: non lanciare scansioni automatiche contro il servizio in produzione e non usare l'account o i dati di un'altra persona per dimostrare una scoperta. Una descrizione ci basta per riprodurla noi.
Le domande che non sono segnalazioni di sicurezza vanno a support@bullbenchmark.com. Che cosa facciamo giuridicamente con i dati personali sta nell'informativa sulla privacy; l'accordo in sé sta nelle condizioni di servizio.