import { useEffect } from "react"; interface Props { open: boolean; version: string; onClose: () => void; } export function IntroModal({ open, version, onClose }: Props) { useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => { if (e.key === "Escape") onClose(); }; document.addEventListener("keydown", onKey); return () => document.removeEventListener("keydown", onKey); }, [open, onClose]); if (!open) return null; return (
{ if (e.target === e.currentTarget) onClose(); }} >

Anonimizzatore Documenti di Gara

Individua e offusca dati personali e sensibili — nomi, codici fiscali, IBAN, PEC, indirizzi, importi… — in testi e PDF di gare e appalti, combinando più livelli di rilevamento. Elaborazione 100% locale, conforme al GDPR.

  1. Layer Regole — riconoscitori a pattern catturano dati strutturati: CIG, CUP, IBAN, PEC, codici fiscali, importi e simili.
  2. Layer NER — modelli linguistici addestrati riconoscono nomi, organizzazioni, luoghi e altri dati personali dal testo.
  3. Layer LLM — un modello generativo locale coglie il{" "} contesto e cattura dati che regole e NER non vedono, senza che nulla lasci il server.
  4. Giudice LLM — uno stadio a valle rivaluta ogni rilevamento e ne corregge il punteggio (media pesata), tagliando i falsi positivi.

Accetta testo e file PDF e produce un'anteprima PDF con il testo anonimizzato, pronta da scaricare.

Attenzione: il file viene elaborato lato server.

{version &&

v.{version}

}
); }