Una piattaforma in abbonamento, rifatta su infrastruttura propria
Fuori dal generatore no-code su cui era nata. I contenuti sono davvero riservati a chi paga, l'archivio storico si sposta senza perdite, ogni azione dello staff lascia una traccia.


- Cliente
- Finanzamille Inc.
- Settore
- Community finanziaria in abbonamento · Rancho Palos Verdes (CA)
- Servizi
- Sviluppo Web & App · GDPR & Privacy · Security Audit
- Online
- finanza1000.com ↗
News, corsi, documenti di analisi, chat dal vivo e portafogli modello, su una piattaforma generata con un servizio no-code. L'analisi del codice, pagina per pagina prima di scrivere una riga nuova, ha trovato quindici problemi strutturali. Il più grave: un abbonamento decorativo, che mostrava un badge senza proteggere alcun contenuto.
Chi non pagava vedeva tutto: l'abbonamento mostrava un'etichetta, non chiudeva una porta.
Tutto dipendeva dal servizio che aveva generato la piattaforma, autenticazione compresa.
Inviti e reset password partivano da un mittente non configurato dal cliente.
Gli abbonamenti erano chiesti a Stripe dal browser, senza webhook: una disdetta poteva passare inosservata.
Nessun registro delle azioni di chi pubblica, modera o cambia i ruoli.
Ogni scelta ha un vincolo dietro
Il vincolo
News, corsi, documenti e community erano leggibili da qualunque utente registrato, abbonato o no.
La scelta
Blocco in due punti indipendenti: la pagina si ferma prima del database, l'azione lato server risponde «paywall» per conto suo.
Perché
Un velo grafico non protegge niente: il testo viaggia comunque nella pagina e si legge dal sorgente. E nascondere un pulsante non chiude l'indirizzo a cui quel pulsante scrive.
Il vincolo
I permessi stavano nelle regole del database, che il nuovo strumento di accesso ai dati scavalca per costruzione.
La scelta
Permessi nell'applicazione, in un unico strato di servizi, con le regole del database accese come seconda rete.
Perché
L'alternativa era combattere lo strumento a ogni interrogazione e mantenere due modelli di sicurezza che prima o poi divergono. Il prezzo è dichiarato: nessuna query fuori dallo strato di servizi. Due revisioni indipendenti hanno poi cercato esattamente le violazioni di questa regola.
Il vincolo
I corsi dovevano ospitare video caricati direttamente e «compattati». L'archivio file in uso conserva i file ma non li ricodifica.
La scelta
Compressione nel browser di chi carica, prima dell'invio. Nessun fornitore video nuovo, nessuna credenziale nuova.
Perché
Un servizio video specializzato costava fra i 2 e i 23 dollari al mese e includeva la ricodifica in più qualità. Il cliente l'ha scartato per non allargare il perimetro dei fornitori che toccano i dati, e il prezzo è stato messo per iscritto invece di essere scoperto dopo: una sola qualità per tutti.
Il vincolo
I dati vivi restavano sulla vecchia piattaforma per tutto lo sviluppo, e non potevano essere scritti nemmeno per sbaglio.
La scelta
Un travaso rieseguibile: lanciato una prima volta per sviluppare su dati veri, identico al passaggio definitivo.
Perché
Un travaso unico si scrive sotto la pressione del go-live, nell'unica esecuzione che non si può rifare. La prima passata ha già fatto emergere le sorprese — colonne che l'autenticazione calcola da sé e righe che puntavano a utenti cancellati anni prima — e la seconda parte da una procedura collaudata.
Il vincolo
Serviva un cruscotto con le statistiche d'uso: accessi, corsi visti, messaggi, andamento degli abbonati.
La scelta
Statistiche costruite in casa sul registro delle attività, con un riepilogo giornaliero per le viste aggregate.
Perché
Uno strumento di analisi esterno si installa in un pomeriggio e ha grafici migliori, ma farebbe uscire il comportamento di ogni iscritto verso un fornitore in più — su una piattaforma che nella propria informativa dichiara di non profilare. Il prezzo è che le aggregazioni ce le scriviamo noi.
Area riservata agli abbonati
Abbonamenti Stripe con checkout, portale di gestione e webhook — assente nella versione precedente.
Redazione editoriale
Editor di testo formattato, copertine da Unsplash con il credito del fotografo, commenti in fondo all'articolo.
Community in tempo reale
Chat, bacheca, commenti e risposte che compaiono subito, con notifiche alle menzioni.
Corsi con video e allegati
Video compressi nel browser, allegati PDF ed Excel, ripresa dal punto in cui si era rimasti.
Un solo cruscotto
Utenti, ruoli, abbonamenti, documenti, portafogli e statistiche in un posto, con ogni azione registrata.
0,2%
righe scartate nel travaso dell'archivio, tutte di utenti cancellati anni prima: nessuna persa per errore della procedura
17
problemi di sicurezza trovati e corretti in due revisioni indipendenti, fra cui un amministratore che poteva crearsi un account con poteri superiori ai propri
−84%
peso di un video di corso dopo la compressione nel browser, misurato su un file reale: 29,3 MB in 4,8 MB, in 5,6 secondi
Contenuti non più raggiungibili senza abbonamento: le pagine bloccate non leggono nemmeno i dati dal database
Nessuna dipendenza residua dal generatore no-code: autenticazione, email e servizi AI su fornitori contrattualizzati dal cliente
Informativa privacy, cookie policy e termini scritti sul comportamento reale del codice, con le sezioni per UE, Regno Unito, California e Australia
Tecnologie
Altri progetti
Hai un progetto simile?
Raccontaci da dove parti. Ti rispondiamo con una proposta chiara e tempi realistici, senza impegno.
