lake8 LMS — License Management System
Il Prodotto
lake8 LMS è l'infrastruttura completa per distribuire, proteggere, monitorare e supportare qualsiasi prodotto software — operativa in ore, non in mesi.
Non è un sistema di attivazione. È la spina dorsale operativa che consente a un ISV o software house di passare da "prodotto funzionante" a "prodotto distribuibile commercialmente" senza costruire da zero l'infrastruttura che normalmente richiede anni e team dedicati.
Per chi è
| Profilo | Problema che risolve |
|---|---|
| ISV / Software House | Distribuire software senza costruire infrastruttura di licenze, supporto e telemetria |
| Sviluppatore indipendente | Commercializzare un prodotto con struttura enterprise senza team operations dedicato |
| Startup SaaS B2B | Go-to-market rapido con rete installatori, commissioni automatiche e supporto integrato |
| System Integrator | Aggiungere licenze e supporto ai software custom sviluppati per i propri clienti |
1. Licenze e Sicurezza — JWT RS256
lake8 LMS utilizza JWT firmati RS256 con coppia RSA dedicata per ogni prodotto.
Il token trasporta la configurazione operativa completa dell'istanza cliente:
- Piano attivo — nomi arbitrari: free, pro, enterprise, per_seat, white_label, custom…
- Numero massimo di utenti (claim
umax) — enforcement lato backend e frontend - Prezzo base e prezzo per utente extra (
ppue) - Limiti quantitativi per feature (
limiti_json) - Scadenza (
exp),machine_id, identificativo installazione (iid), P.IVA cliente (sub) - Audience per prodotto — isolamento garantito
Piani completamente flessibili
- Nomi arbitrari — starter, basic, professional, enterprise, per_seat, white_label, lifetime…
- Limiti per feature via JSON — configurabili dall'admin senza modifiche al codice
- Endpoint pubblico
GET /products/{codice}/plans— piani disponibili in tempo reale - Durate configurabili — mensile, trimestrale, semestrale, annuale, biennale, triennale
- Approvazione automatica per piano — i piani free/beta si attivano senza intervento admin
Ciclo di vita della licenza
| Stato | Significato operativo |
|---|---|
| pending | Registrazione ricevuta — in attesa di approvazione admin. Token non ancora emesso. |
| attiva | JWT emesso e consegnato. Il prodotto funziona. Heartbeat monitorato. |
| in_revoca | Accesso ancora consentito durante il periodo di grazia. JWT valido. Email di preavviso inviata. |
| revocata | JWT invalidato. Il prodotto non funziona. Re-registrazione possibile UPDATE in-place. |
- Re-delivery token: se il client perde il JWT, il server lo riconsegna senza nuova registrazione
- Re-registrazione: UPDATE in-place — mai duplicato nel DB
Validazione identità registrante
- P.IVA italiana: validazione algoritmica + verifica VIES in tempo reale
- P.IVA europea: normalizzazione con prefisso paese + verifica VIES per tutti i paesi EU
- Codice Fiscale italiano: validazione algoritmica con checksum (16 caratteri)
- Blocco VIES non automatico — l'admin decide sempre, la verifica è informativa
2. Telemetria & Heartbeat
Ogni istanza del software — registrata o anonima — invia un segnale di vita ogni 10 minuti.
Heartbeat autenticato
- JWT trasmesso con ogni battito — aggiorna
sessioni_attiveeultimo_heartbeat - Versione applicativa trasmessa — il produttore vede quali versioni sono deployate nel campo
- Il server risponde 200 anche se l'installazione non è trovata — il client non si blocca mai
Heartbeat anonimo (installazioni non registrate)
- Monitorate tramite
POST /heartbeat/anonymous— machine_id, versione, prodotto_codice - Nessun dato personale raccolto
- Visibili nella dashboard admin come "installazioni non registrate" — stima del mercato potenziale non convertito
Dashboard KPI real-time
- Installazioni online (heartbeat negli ultimi 15 minuti)
- Installazioni silent con alert visivi
- Percentuale di copertura: registrate / (registrate + anonime)
- Ultimo cliente attivo con dettaglio ragione sociale, prodotto, minuti fa
Metriche di conversione tracciate
- Tasso di registrazione e conversione FREE → PRO
- Tempo medio dalla registrazione alla conversione
- Churn rate (installazioni che smettono di inviare heartbeat)
3. Supporto Tecnico Integrato
Sistema di ticketing nativo — zero Zendesk, zero Freshdesk, zero Intercom. Il supporto vive dentro il prodotto stesso.
- Ticket identificato dal
machine_id— ogni installazione ha il proprio canale isolato - Conversazione inline con allegati fino a 10MB per messaggio
- Tipi allegati: jpg, png, gif, pdf, docx, xlsx, txt, log, csv, zip, sh, sql
- Stati: aperto, in_lavorazione, attesa_risposta, risolto, chiuso
- Storico persistente legato alla P.IVA — sopravvive a reinstallazioni e reset del machine_id
- Riapertura automatica se il cliente risponde a un ticket risolto
- Notifica admin su ogni nuovo ticket (email asincrona)
- Download allegati con autenticazione JWT — nessun link pubblico
4. Notifiche & Comunicazioni
Sistema di notifiche push integrate nell'app cliente — nessun servizio esterno.
- Notifiche mirate: a una singola licenza
- Broadcast: a tutti i clienti di un prodotto
- Automatiche: avvisi di scadenza 30 giorni prima (configurabili per prodotto)
- Badge numerico nell'interfaccia prodotto con contatore messaggi non letti
- Persistenza localStorage — le notifiche chiuse non si ripropongono mai
5. Rete Installatori & Commissioni
La distribuzione poggia sulla rete di partner certificati Lake8 Partner Network (LPN).
- Commissione configurabile per piano — default 8% sul prezzo base mensile
- Calcolo automatico il 1° di ogni mese per tutte le licenze attive a pagamento
- Il piano FREE non genera mai quota commissione
- Storno su downgrade: ricalcolo proporzionale automatico
- Dashboard rivenditore: storico commissioni, clienti gestiti, stato approvazioni
- 🔵 Portale rivenditore dedicato — in sviluppo (Q3 2026)
6. Abbonamenti e Pagamenti
- ✅ Checkout self-service per upgrade/downgrade piano
- ✅ Gestione abbonamenti mensili e annuali
- ✅ Invio automatico email a scadenza per rinnovo piano
- 🔵 Integrazione Stripe per pagamenti ricorrenti automatici — in sviluppo
- 🔵 Fatturazione automatica — in sviluppo
7. Documentazione Legale
- TOS dinamico: editor admin Markdown, storico versioni, accettazione GDPR tracciata
- Accettazione via checkbox esplicita al momento dell'attivazione
- Il LMS registra: versione documento, timestamp, IP, identificatore utente
- Dati personali trattati — minimizzazione GDPR: email, nome e cognome, P.IVA e/o Codice Fiscale. Nessun dato di produzione del cliente transita sul LMS.
8. Client Module — Integrazione in < 5 Minuti
| Componente | Cosa fa |
|---|---|
backend/license_client.py | Verifica JWT offline, enforcement limiti, heartbeat ogni 10 min, polling token pending, re-delivery su reset DB |
frontend/useLicense.js | Composable Vue: stato licenza reattivo, piano, utenti max, scadenza, limiti |
frontend/LicenseGate.vue | Blocca UI se licenza non valida o piano insufficiente |
frontend/RegistrazioneView.vue | Pagina registrazione parametrizzata — zero duplicazione tra prodotti |
frontend/SupportoView.vue | Pagina supporto completa con ticket, allegati, polling automatico |
frontend/NotifichePanel.vue | Pannello notifiche con badge, nascondi singola, segna tutte come lette |
Configurazione richiesta: PRODUCT_CODE, PUBLIC_KEY_PATH, LICENSE_SERVER_URL. Tutto il resto è automatico senza scrivere una riga di codice.
Client module disponibile nativamente in 4 lingue: IT · EN · DE · ES
9. Architettura Tecnica
| Layer | Tecnologia | Rilevanza commerciale |
|---|---|---|
| API Backend | FastAPI (Python async) | Performance async, documentazione OpenAPI automatica |
| Database | MariaDB 11.4 | JSON columns per limiti, transazioni ACID |
| Auth licenze | JWT RS256 per prodotto | Coppia RSA per prodotto — compromissione isolata |
| Auth admin | JWT HS256 + cookie httpOnly | Sessioni 8h, superadmin separato con conferma P.IVA |
| Code protection | Cython + Terser + Docker | Sorgente mai esposto al cliente |
| Proxy | HAProxy | SSL termination, routing multi-prodotto |
| Postfix → Brevo SMTP | Thread async — zero impatto su latenza | |
| Container | Docker + Compose | Deploy riproducibile con sync_and_deploy.sh |
| Hosting target | Hetzner Germany | GDPR-native — asset commerciale per mercato EU |
Multi-prodotto nativo con isolamento completo
- Coppia RSA dedicata per prodotto — token non intercambiabili
- Piani, installatori, ticketing, telemetria completamente separati per prodotto
- Dashboard admin filtrata — ogni produttore vede solo i propri clienti
10. Roadmap
| Feature | Stato |
|---|---|
| Integrazione Stripe pagamenti ricorrenti | 🔵 In sviluppo |
| Portale rivenditore dedicato | 🔵 In sviluppo Q3 2026 |
| Per-seat pricing nel JWT | 🔵 In sviluppo |
| Ricerca full-text lista licenze | 📋 Roadmap |
| Export CSV licenze | 📋 Roadmap |
| Statistiche mensili con grafici | 📋 Roadmap |
| K3s + Hetzner Germany | 📋 Roadmap |
| AI locale (Ollama/LLaMA) per supporto embedded | 📋 Roadmap |
11. Listino Prezzi — lake8 LMS as a Service
| Parametro | Valore |
|---|---|
| Prodotti gestiti | Fino a 3 |
| Licenze attive | Fino a 50 |
| Rivenditori | Fino a 10 |
| Ticketing | ✅ incluso |
| Messaggistica | ✅ inclusa |
| Supporto | Email standard |
| Attivazione nuovo prodotto | €50 una tantum |
| Comunicazioni | €0,20 cad. |
| Ticket | €0,20 cad. |
| Transazioni Stripe | N/D |
| Parametro | Valore |
|---|---|
| Prodotti gestiti | Illimitati |
| Licenze attive | Illimitate |
| Rivenditori | Illimitati |
| Commissioni automatiche LPN | ✅ configurabili per rivenditore |
| Checkout self-service | ✅ incluso |
| Abbonamenti mensili/annuali | ✅ inclusi |
| Portale rivenditore | ✅ quando disponibile |
| Integrazione Stripe | ✅ quando disponibile |
| Supporto | Prioritario |
Costi variabili Piano Business:
| Voce | Prezzo |
|---|---|
| Attivazione nuovo prodotto | €100 una tantum per prodotto |
| Comunicazione (email/notifica/messaggio) | €0,20 cad. |
| Ticket aperto | €0,20 cad. |
| Transazioni Stripe processate | 3% sul totale transato |
Esempio: 3 prodotti attivi, 500 comunicazioni/mese, 50 ticket/mese, €5.000 transazioni Stripe: €350 + €300 (3 prodotti) + €100 (comunicazioni) + €10 (ticket) + €150 (3% Stripe) = €910/mese
Il modello scala con il successo del cliente — chi genera più valore, contribuisce proporzionalmente.
- Tutto il Piano Business
- SLA garantito
- Onboarding dedicato
- Branding white-label
- Condizioni personalizzate su volumi
- Hosting dedicato Hetzner Germany
12. Strategia Commerciale a Scalare
| Fase | Periodo | Obiettivo |
|---|---|---|
| Fase 1 | Ora | LMS in produzione reale su tutti i prodotti lake8.dev |
| Fase 2 | Settembre 2026 | Rete LPN — portale rivenditore, commissioni automatiche |
| Fase 3 | Q4 2026 | lake8 LMS as a Service per ISV terzi |
| Fase 4 | 2027 | Marketplace licenze — 3% su ogni transazione |
13. Sintesi
| Per il produttore lake8.dev | Per un ISV terzo |
|---|---|
| Infrastruttura anni di sviluppo: operativa oggi | Da prodotto a commercializzabile in ore |
| Ogni nuovo prodotto si integra in < 5 minuti | Zero Zendesk, zero Intercom, zero ops |
| Revenue ricorrente scalabile senza team operations | Rete installatori con commissioni dal giorno 1 |
| Dati reali di mercato dalla telemetria anonima | Isolamento completo — i dati dei clienti non si toccano |
| Rete installatori con commissioni automatiche | GDPR nativo — asset nel mercato EU |
Contatti
- Informazioni lake8 LMS: info@lake8.dev — oggetto: [LMS]
- Piano Enterprise: info@lake8.dev — oggetto: [LMS ENTERPRISE]
- Partnership: info@lake8.dev — oggetto: [LMS PARTNER]
- Early Access: lake8.dev/early-access/
lake8.dev — San Pietro in Casale, Bologna, Italia. Tutti i prezzi sono IVA esclusa. Documento soggetto ad aggiornamento; versione corrente sempre disponibile su lake8.dev/docs/commercial/lms/