Policy

Garanzie e Proprietà

Standard qualitativi e diritti sul codice

La Tua Sicurezza, Il Tuo Codice

Uno dei timori principali dei clienti è il “Vendor Lock-in” (rimanere legati a vita a un’agenzia). Con kodav.dev, questo rischio non esiste. Crediamo nella trasparenza totale e nella proprietà del cliente sul proprio asset digitale.

Proprietà del Codice

Al saldo finale del progetto, la proprietà intellettuale e il codice sorgente passano interamente a te. Non ci sono clausole nascoste o limitazioni d’uso.

Cosa ricevi esattamente:

  • Accesso completo alle repository Git: Repository private su GitHub/GitLab con l’intera cronologia dei commit, branch e tag.
  • Licenza illimitata: Puoi modificare, estendere, rivendere o ri-hostare il software senza pagare royalty o licenze aggiuntive.
  • Libertà di scelta futura: Potrai decidere in totale autonomia se continuare con il nostro team, passare a un altro fornitore, o gestire il software internamente.

Nessun vincolo tecnologico

Non utilizziamo framework proprietari o soluzioni custom che ti leghino al nostro team. Tutto il codice è scritto con tecnologie standard e open-source, ampiamente documentate e supportate dalla community globale.

Qualsiasi sviluppatore competente nelle tecnologie che utilizziamo potrà leggere, comprendere e modificare il codice che abbiamo scritto.

Standard di Qualità

La qualità del software non è negoziabile. Implementiamo processi rigorosi per garantire che ogni riga di codice rispetti i più alti standard professionali.

Revisione Incrociata (Code Review)

Nessun codice va in produzione senza essere stato controllato da almeno due sviluppatori senior. Ogni pull request viene revisionata per verificare:

  • Correttezza dell’implementazione
  • Aderenza agli standard di codifica del progetto
  • Assenza di vulnerabilità di sicurezza
  • Performance e ottimizzazioni
  • Leggibilità e manutenibilità del codice

Questo processo riduce drasticamente il rischio di bug e debito tecnico.

Sicurezza (Security by Design)

Implementiamo le migliori pratiche di sicurezza secondo gli standard OWASP (Open Web Application Security Project) per proteggere i dati sensibili:

  • Input Validation: Tutti gli input utente sono validati e sanitizzati per prevenire injection attacks (SQL, XSS, Command Injection).
  • Authentication & Authorization: Sistemi di autenticazione robusti con hashing delle password (bcrypt/Argon2), gestione sicura delle sessioni, e controllo granulare dei permessi.
  • Data Encryption: Crittografia end-to-end per dati sensibili, sia a riposo (database) che in transito (HTTPS/TLS 1.3).
  • Security Updates: Monitoraggio continuo delle vulnerabilità nelle dipendenze e aggiornamenti tempestivi.
  • Penetration Testing: Su richiesta, possiamo organizzare test di penetrazione con team di security esterni.

Documentazione Tecnica

Consegniamo sempre una guida tecnica completa che include:

  • Architettura del Sistema: Diagrammi e spiegazione dell’architettura complessiva, dei pattern utilizzati e delle decisioni tecniche prese.
  • Setup & Deployment: Istruzioni dettagliate per configurare l’ambiente di sviluppo locale e per effettuare il deploy in produzione.
  • API Documentation: Documentazione completa di tutti gli endpoint API, con esempi di request/response.
  • Code Documentation: Commenti nel codice dove necessario, con spiegazione della logica complessa o non ovvia.
  • Testing Guidelines: Come eseguire i test, come scriverne di nuovi, e come interpretare i risultati.

Questa documentazione permette a futuri team di intervenire sul codice senza difficoltà, riducendo i costi di onboarding e manutenzione futura.

Testing & Quality Assurance

Ogni progetto include test automatizzati:

  • Unit Tests: Test delle singole funzioni e componenti.
  • Integration Tests: Test delle interazioni tra moduli diversi.
  • End-to-End Tests: Test dei flussi utente completi.
  • Performance Tests: Verifica che il sistema regga il carico previsto.

I test vengono eseguiti automaticamente ad ogni commit tramite CI/CD pipeline, garantendo che nessuna modifica rompa funzionalità esistenti.