Formulix Documentazione
Assistenza e servizio / Formulix 0.1.2

Privacy

Inventario tecnico dei trattamenti e delle questioni di privacy da risolvere.

Responsabile e ambito

Titolare: Kaio Spacini, persona fisica, gestore di Formulix. Contatto privacy: suporte@formulix.com.br. L’inventario copre API e pannello del repository; hosting, proxy, CDN e produzione non sono stati sottoposti ad audit.

Dati trattati

CategoriaTrattamento osservato e finalità
AccountSQLite: ID, nome, e-mail, hash della password con sale (scrypt), piano, scadenza, indicatore amministrativo e creazione. Autenticazione e gestione; password non in chiaro.
Domini e chiaviDominio, legame all’account e creazione; hash SHA-256 della chiave, prefisso, creazione e revoca. Autorizzazione delle chiamate; la chiave completa appare una volta alla creazione.
UsoMese UTC, account, dominio e contatori di inserimenti/anteprime. Misura di quota e consumo, non registrazioni individuali di formule. L’uso senza chiave è registrato tramite l’hostname di Origin; un dominio non registrato, in un account tecnico senza titolare.
Sessione e recuperoID sessione e scadenza nel database; cookie formulix_sessao nel pannello (7 giorni, HttpOnly, SameSite=Lax; Secure dipende da HTTPS/configurazione). Token di recupero come hash, monouso, valido 30 minuti; il ripristino revoca le sessioni.
SicurezzaIP in memoria per limitare accesso, registrazione e recupero in una finestra di 15 minuti; non è uno storico persistente in SQLite. Senza chiave, l’IP è usato in memoria anche per il limite al minuto e, su localhost, per il tetto di sviluppo per IP; si azzera al riavvio e non va in SQLite. La connessione HTTP espone anche dati di rete all’infrastruttura.
PagamentiSQLite: ID pagamento, account, piano, mesi, importo, stato e date. Il pannello invia e-mail del pagante, articoli, prezzo e riferimento account/piano/mesi a Mercado Pago e consulta lo stato per attivare il piano.
E-mailSMTP riceve destinatario e messaggio di recupero con link/token temporaneo o avviso di scadenza con piano/termine. SQLite registra account, piano, scadenza e data dell’avviso inviato.
Demo pubblicaContatori per giorno, fuso orario del browser (es. America/Sao_Paulo) e lingua, distinguendo chi ha aperto la demo da chi ha usato l’editor. Nessun IP, cookie o orario; i browser con “non tracciare” (GPC/DNT) non inviano nulla. Finalità: misurare l’interesse per la demo.

Contenuti inviati per il calcolo

L’API riceve formule, parametri matematici/chimici, dati dei grafici e, su richiesta, HTML/RTF degli appunti Word. Può accadere già nelle anteprime prima della conferma, oltre che negli inserimenti. Origin accompagna le richieste, insieme alla chiave pubblica se configurata.

Nelle rotte esaminate la routine di calcolo elabora i contenuti in memoria senza salvarli in SQLite o in file. Il risultato torna al browser. Contenuti salvati e PNG restano sulla piattaforma del cliente secondo le sue procedure di salvataggio e caricamento.

Questo non garantisce assenza di registrazioni: in certi errori il codice scrive nella console. I log delle eccezioni possono includere dettagli di elaborazione. Proxy, hosting, osservabilità, backup e log di produzione richiedono verifica separata. Non inviare nomi degli studenti, documenti completi o dati personali superflui.

Condivisione e terzi

Mercado Pago riceve i dati di checkout indicati ed elabora i pagamenti fuori da Formulix. Lo schema SQLite locale non conserva numeri di carta, CVV o dati bancari completi. SMTP riceve i dati necessari ai messaggi. Il gestore deve identificare fornitori di hosting, e-mail e CDN e relative localizzazioni.

Se la piattaforma carica client o MathJax da un CDN esterno, il browser contatta quel provider. Questa documentazione non carica font, analytics o script esterni. Non è stato verificato se la distribuzione finale aggiunga tracciatori. Trasferimenti internazionali, subfornitori, condizioni e tempi dei provider: non verificati.

Finalità e basi giuridiche da riesaminare

La proposta da convalidare riguarda account, accesso, uso e acquisto per l’esecuzione del contratto; registrazioni imposte dalla legge per obbligo legale; sicurezza con una base adeguata alla finalità e ai diritti degli interessati. Il gestore deve documentare basi definitive, necessità e termini. Non si presume un consenso generale a ogni trattamento.

Per contenuti scolastici occorre definire per contratto titolare, responsabile e istruzioni della scuola. I dati dei minori richiedono analisi specifica e attenzione al loro migliore interesse. L’originale rimanda alla LGPD brasiliana. GDPR, Codice in materia di protezione dei dati personali, regole scolastiche e trasferimenti internazionali restano punti di revisione per l’Italia, senza dichiarazioni di conformità.

Conservazione e cancellazione

Le sessioni scadono logicamente dopo 7 giorni e il recupero dopo 30 minuti. Le sessioni scadute vengono ripulite alla creazione di sessioni; i recuperi scaduti alla creazione di nuovi recuperi. La scadenza non significa eliminazione immediata di tutte le copie.

Non c’è una politica generale automatica di conservazione/cancellazione per account, consumo mensile, pagamenti o avvisi. Il pannello esaminato non ha un flusso pubblico per esportazione o cancellazione account. Lo strumento di backup copia il database; calendario, archiviazione e smaltimento non sono definiti. La tabella dei consumi non elimina in cascata per account: una futura cancellazione deve trattare lo storico esplicitamente.

Da definire: tempi per finalità, obblighi applicabili, anonimizzazione/eliminazione e trattamento di backup e log, senza promettere cancellazione istantanea.

Diritti degli interessati

Il procedimento definitivo deve consentire conferma del trattamento, accesso, rettifica, informazioni sulle condivisioni e altri diritti applicabili dell’art. 18 LGPD, inclusa cancellazione/anonimizzazione quando prevista. Occorrono canale funzionante, verifica proporzionata dell’identità e procedure di risposta; il pannello non le automatizza. Diritti e procedure per l’Italia richiedono revisione legale separata.

Sicurezza e incidenti

Il codice usa hash di password/chiavi, restrizioni di origine/dominio, limiti di richieste e sessioni HttpOnly. Non equivale a un audit di sicurezza o certificazione LGPD. HTTPS, accesso al database, backup, controlli dei provider e risposta agli incidenti devono essere verificati nella distribuzione.