Easy Contract è uno strumento web per l'analisi automatica di contratti legali, alimentato dall'intelligenza artificiale di Google Gemini.
Il sistema analizza file PDF o foto di contratti caricati dall'utente e fornisce un report strutturato evidenziando:
- Punteggio di sicurezza 🛡️
- Sintesi dei vincoli principali 💡
- Punti di attenzione e rischi
⚠️ - Consigli operativi ⚖️
Il progetto è costruito con un'architettura Serverless semplice e leggera:
- Frontend: HTML5, CSS3, Vanilla JavaScript. Nessun framework complesso.
- Backend: Netlify Functions (Node.js) per gestire le chiamate sicure alle API.
- AI: Google Gemini API (modello
gemini-2.5-flash).
- Node.js (v18 o superiore)
- Netlify CLI (
npm install -g netlify-cli) - Una o più API Key di Google Gemini.
-
Clona la repository:
git clone https://github.com/falker47/easy-contract.git cd easy-contract -
Installa le dipendenze:
npm install
Questo installerà
@google/generative-ainecessario per le funzioni serverless.
Il progetto richiede le API Key di Google Gemini per funzionare. Per la sicurezza, queste non devono mai essere esposte nel codice frontend, ma gestite come variabili d'ambiente.
Crea un file .env nella root del progetto (o usa la gestione env di Netlify CLI):
# Chiave singola
GEMINI_API_KEY=la_tua_chiave_api_qui
# OPPURE Lista di chiavi (per rotazione automatica e gestione quote)
GEMINI_API_KEYS=chiave_1,chiave_2,chiave_3Nota: La logica di backend supporta nativamente la rotazione delle chiavi se viene fornita la variabile GEMINI_API_KEYS separata da virgole.
Per avviare l'applicazione in locale simulando l'ambiente serverless di Netlify:
netlify devIl sito sarà accessibile solitamente su http://localhost:8888. Le funzioni serverless saranno disponibili su /.netlify/functions/analyze.
Il progetto è pre-configurato per il deployment su Netlify grazie al file netlify.toml.
- Collega la repository al tuo account Netlify.
- Nelle impostazioni del sito su Netlify, vai su Site configuration > Environment variables.
- Aggiungi le variabili d'ambiente
GEMINI_API_KEY(oGEMINI_API_KEYS). - Esegui il deploy.
easy-contract/
├── functions/ # Funzioni Serverless (Backend)
│ ├── analyze.js # Logica principale (proxy verso Gemini)
│ └── prompt.js # System prompt per l'analisi legale
├── index.html # Interfaccia utente
├── style.css # Stili
├── script.js # Logica Frontend
├── netlify.toml # Configurazione Netlify
└── package.json # Dipendenze Node.js
- No Upload: I file (PDF o Immagini) vengono processati al volo convertendoli in Base64 e inviati a Gemini. Il codice attuale non salva i file permanentemente su disco o storage cloud.
- API Key Protection: Le chiavi API risiedono solo sul server (Netlify Functions) e non sono mai esposte al client.
Questo progetto è distribuito sotto licenza MIT.