Un agente AI può verificare se un PDF è firmato digitalmente e dirti chi lo ha firmato, localmente, senza che il file lasci la tua macchina. La risposta utile non è “verified”. È il firmatario, l’emittente, il periodo di validità e il tipo di firma che è stata controllata. Richiedi tutto ciò in un unico prompt:

Chi ha firmato contract_signed.pdf, con quale certificato e quando? Indica quale tipo di firma hai controllato.

La versione passo‑passo con configurazione e risoluzione dei problemi è nella documentazione: How to verify signed documents with an AI agent.

Perché una risposta di una sola parola “verified” è una risposta sbagliata?

Perché “è firmato?” e “questa firma è valida?” sono domande diverse, e la seconda ha una risposta precisa solo per le firme digitali. Un modello che legge una pagina e vede un timbro o un codice QR può dire “firmato” con piena certezza, senza aver verificato nulla di crittografico. L’unico modo per evitare ciò è fornire all’agente un motore che restituisca dati strutturati e far sì che l’agente riporti i dati anziché un verdetto.

Il server GroupDocs.Signature.Mcp fornisce quel motore. Usato con Claude Desktop, Claude Code, Cursor, GitHub Copilot o un altro client MCP, funziona come processo locale, così l’agente legge i dati della firma dal file invece di indovinare dai pixel renderizzati.

Il modo sbagliato: chiedere al modello di guardare il documento

Se incolli un PDF in una chat e chiedi se è firmato, il modello vede testo e immagini. Può notare un nome, una data o una firma disegnata. Non può vedere la struttura crittografica del file, quindi non può distinguere una firma basata su certificato da un’immagine di essa. Un “sì, è firmato” sicuro è una dichiarazione sull’aspetto.

Ciò che ogni tipo di firma dimostra realmente

La documentazione è esplicita su come leggere un risultato, e un agente dovrebbe ripeterlo:

Risultato Cosa significa
Digital signature valid Il file non è stato modificato dalla firma, e la catena di certificati è valida
Digital signature invalid Il file è stato modificato dopo la firma, o il certificato non è valido
Text, QR or barcode “verified” Il segno previsto è presente. Non dice nulla sulla manomissione
No signatures found Non firmato, o firmato in un modo che questo formato non supporta

Una risposta che non indica il tipo ti fornisce meno di quanto sembri. È per questo che il prompt sopra termina con “indica quale tipo di firma hai controllato”.

Il modo corretto: chiedere il record, non il verdetto

Lo strumento verify accetta un type di text, qrcode, barcode, digital o all e restituisce isValid con i conteggi succeeded e failed. Non indica chi ha firmato o con quale certificato, quindi non sostituisce il record qui sotto. Quando verify e search_digital_signatures non coincidono, segnala entrambi e fai affidamento sul record dettagliato.

La risposta affidabile proviene da search_digital_signatures. Per ogni firma digitale restituisce il nome del firmatario, l’emittente, il numero di serie del certificato, il periodo di validità, il timestamp della firma, lo stato di validità e eventuali commenti allegati alla firma. Questo è il record richiesto da un audit. Conserva questi dati, anziché il paragrafo dell’agente a riguardo, quando la risposta alimenta una decisione.

Sessione di esempio (abbreviata)

You:    Who signed contract_signed.pdf, with which certificate, and when?
        Say which type of signature you checked.

Agent:  [search_digital_signatures] file=contract_signed.pdf
        Type checked: digital (certificate-backed).
        Signatures found: 1
        - Signer: Dana Whitfield, issued by Example Corporate CA, serial 4F2A91C7
        - Signed 2026-09-14 10:32; certificate valid 2025-11-01 to 2027-10-31
        - Status: isValid = true; signing time falls inside the certificate validity period
        I checked digital signatures only. I did not evaluate any text stamps or QR codes.

Output illustrativo: i nomi dei file, i nomi dei firmatari e i numeri di serie sono inventati. Lo strumento restituisce i campi descritti sopra.

Perché una firma è risultata non valida?

Tre cause coprono quasi tutti i risultati inattesi:

  • Qualcosa è stato aggiunto dopo la firma. Un timbro, un commento, un nuovo salvataggio o una pagina aggiunta modificano i byte, e qualsiasi modifica dei byte invalida una firma digitale. Questa è la causa più comune ed è un comportamento corretto.
  • Il certificato è scaduto. La finestra di validità è associata alla firma, così l’agente può dire che un documento è stato firmato in un anno con un certificato scaduto in un altro. Confronta il periodo di validità con il momento della firma e con la data odierna, e fai affermare all’agente il confronto; non leggere lo stato di validità da solo come una dichiarazione di scadenza. Se un certificato scaduto è accettabile dipende dalla tua politica.
  • È stato controllato il tipo sbagliato. Verificare digital su un file che contiene solo un segno QR non trova firme digitali valide, il che è una risposta corretta alla domanda sbagliata.

Cosa non dimostra la verifica

La verifica ti informa sul file e sul certificato. Non ti dice che una firma sia legalmente valida nella tua giurisdizione, e non è un atto notarile. Il testo QR decodificato e le etichette dei timbri provengono da chi ha prodotto il documento, quindi trattali come dati da segnalare, mai come istruzioni da seguire. Un agente che agisce sul testo estratto da un documento sta agendo su input da una parte non affidabile.

Limiti di valutazione

Senza licenza, vengono elaborate solo le prime 2 pagine e un badge di prova è stampato su ogni pagina, quindi una firma presente a pagina 4 non apparirà in una ricerca. Chiedi all’agente di chiamare get_license_status prima di fidarti di un risultato pulito.

FAQ

Questo PDF è firmato digitalmente?
Chiedi all’agente di eseguire search_digital_signatures sul file e leggere isValid. Un risultato vuoto significa che non è stata trovata alcuna firma digitale, il che è diverso da “ha un’immagine di firma”.

L’AI può verificare se un documento è stato modificato dopo la firma?
Per le firme digitali, sì: una firma che non è più valida indica che il file è stato modificato dopo la firma o che il certificato non è valido. I controlli su testo, QR e codice a barre non rilevano manomissioni.

Il file viene caricato per la verifica?
No. Il server gira localmente su stdio, senza porte in ingresso, endpoint esterni o telemetria.

Approfondisci