An AI‑агент може перевірити, чи PDF цифрово підписано і повідомити вам, хто його підписав, локально, без передачі файлу з вашого комп’ютера. Корисна відповідь — це не «перевірено». Це підписант, видавець, період дії та тип підпису, який був перевірений. Запитайте це в одному запиті:

Хто підписав contract_signed.pdf, яким сертифікатом і коли? Скажіть, який тип підпису ви перевіряли.

Крок‑за‑кроком версія з налаштуванням і усуненням проблем у документації: Як перевірити підписані документи за допомогою AI‑агента.

Чому одне слово «перевірено» — погана відповідь?

Тому що питання «чи це підписано?» і «чи дійсний цей підпис?» різні, і друге має точну відповідь лише для цифрових підписів. Модель, яка читає сторінку і бачить печатку або QR‑код, може впевнено сказати «підписано», не перевіряючи нічого криптографічного. Єдиний спосіб уникнути цього — надати агенту движок, який повертає структуровані дані, і змусити агента повідомляти дані, а не вердикт.

Сервер GroupDocs.Signature.Mcp забезпечує цей движок. Використовуючи його з Claude Desktop, Claude Code, Cursor, GitHub Copilot або іншим MCP‑клієнтом, він працює як локальний процес, тому агент читає дані підпису з файлу, а не вгадує їх за рендереними пікселями.

Неправильний спосіб: просити модель подивитися на документ

Якщо ви вставляєте PDF у чат і запитуєте, чи підписано його, модель бачить текст і зображення. Вона може помітити ім’я, дату або намальований підпис. Вона не бачить криптографічну структуру файлу, тому не може розрізнити підпис, підкріплений сертифікатом, і його зображення. Впевнений «так, це підписано» — це лише заявка про зовнішній вигляд.

Що насправді доводить кожен тип підпису

Документація чітко описує, як інтерпретувати результат, і агент повинен його повторювати:

Результат Що це означає
Digital signature valid Файл не змінювався після підпису, і ланцюжок сертифікатів проходить перевірку
Digital signature invalid Файл змінився після підпису, або сертифікат не проходить перевірку
Text, QR or barcode “verified” Очікуваний маркер присутній. Це нічого не говорить про підробку
No signatures found Не підписано, або підписано способом, який не підтримується цим форматом

Відповідь, яка не називає тип, повідомляє вас менше, ніж здається. Ось чому запит вище закінчується фразою «скажіть, який тип підпису ви перевіряли».

Правильний спосіб: запитуйте запис, а не вердикт

Інструмент verify приймає type зі значеннями text, qrcode, barcode, digital або all і повертає isValid з кількостями succeeded та failed. Він не повідомляє, хто підписав і яким сертифікатом, тому не замінює запис нижче. Коли verify і search_digital_signatures не збігаються, повідомляйте обидва і спирайтеся на детальний запис.

Відповідь, яка витримує перевірку, надходить від search_digital_signatures. Для кожного цифрового підпису вона повертає ім’я підписанта, видавця, серійний номер сертифіката, період дії, час підпису, статус дійсності та будь‑які коментарі, прикріплені до підпису. Це запис, який потрібен аудиту. Зберігайте ці дані, а не абзац агента про них, коли відповідь використовується для прийняття рішення.

Приклад сесії (скорочений)

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.

Ілюстративний вивід: імена файлів, імена підписантів та серійні номери вигадані. Інструмент повертає поля, описані вище.

Чому підпис виявився недійсним?

Три причини охоплюють майже всі несподівані результати:

  • Щось було додано після підпису. Печатка, коментар, повторне збереження або додана сторінка змінює байти, і будь‑яка зміна байтів робить цифровий підпис недійсним. Це найпоширеніша причина і це правильна поведінка.
  • Термін дії сертифіката закінчився. Вікно дійсності повертається разом з підписом, тому агент може сказати, що документ був підписаний у одному році сертифікатом, який закінчився в іншому. Порівняйте період дії з часом підпису та з сьогоднішньою датою, і попросіть агента вказати порівняння; не сприймайте статус дійсності сам по собі як заяву про закінчення терміну. Чи прийнятний прострочений сертифікат — це ваша політика.
  • Було перевірено неправильний тип. Перевірка digital у файлі, який містить лише QR‑марку, не знаходить дійсний цифровий підпис, що є правильною відповіддю на неправильне питання.

Чого не доводить верифікація

Верифікація інформує вас про файл і сертифікат. Вона не стверджує, що підпис юридично дійсний у вашій юрисдикції, і не є нотаріальним актом. Декодований текст QR‑коду та мітки печаток походять від того, хто створив документ, тому розглядайте їх як дані для звіту, а не як інструкції до виконання. Агент, який діє на основі тексту, прочитаного з документа, діє на вхідні дані від ненадійної сторони.

Обмеження оцінки

Без ліцензії обробляються лише перші 2 сторінки, і на кожну сторінку накладається позначка trial, тому підпис, який знаходиться на 4‑й сторінці, не з’явиться у пошуку. Попросіть агента викликати get_license_status перед тим, як довіряти чистому результату.

Питання та відповіді

Чи підписано цей PDF цифровим підписом?
Попросіть агента виконати search_digital_signatures для файлу і прочитати isValid. Порожній результат означає, що цифровий підпис не знайдено, що відрізняється від «має зображення підпису».

Чи може AI перевірити, чи документ був змінений після підпису?
Для цифрових підписів — так: підпис, який більше не валідний, вказує на те, що файл змінився після підпису або сертифікат не проходить перевірку. Перевірки тексту, QR та штрих‑коду не виявляють підробки.

Чи завантажується файл для перевірки?
Ні. Сервер працює локально через stdio, без вхідних портів, зовнішніх кінцевих точок та без телеметрії.

Поглиблене вивчення