AI 에이전트가 한 번의 프롬프트로 전체 문서 폴더를 감사하도록 하여 서명 정책을 시행하고, 로컬에서 예외를 단일 표로 반환할 수 있습니다. 에이전트는 Claude Desktop, Claude Code, Cursor 또는 GitHub Copilot에서 실행되며, GroupDocs.Signature.Mcp 서버가 검사를 수행합니다. 스윕을 시작하는 프롬프트:
내 문서 폴더에 있는 모든 PDF에 대해 디지털 서명이 되어 있는지 그리고 아직 유효한지 확인하십시오. 표를 제공하십시오: 파일, 서명자, 서명 날짜, 상태.
구성 및 문제 해결이 포함된 단계별 버전은 문서에 있습니다: AI 에이전트로 서명된 문서 폴더 감사하기.
서명 정책에 자동 스윕이 필요한 이유
“아카이브에 있는 모든 계약서에 유효한 디지털 서명이 있어야 한다”와 같은 정책은 실제로 무언가가 이를 테스트할 때만 정책이 됩니다. 수동 검사는 파일을 하나씩 열어 확인하므로 드물게 수행되고 표본만 다룹니다. 컴플라이언스가 묻는 질문은 전체 아카이브에 관한 것입니다: 서명되지 않은 계약서는 무엇인지, 어떤 인증서가 만료되었는지, 서명 후 파일이 변경된 경우는 어떤지.
AI 에이전트만으로는 답변할 수 없습니다. PDF를 읽는 모델은 서명 구조를 볼 수 없기 때문입니다. 에이전트는 루프와 요약을 제공하고, 엔진은 파일별 사실을 제공합니다.
워크플로우, 단계별
- 서버를 폴더에 지정합니다.
GROUPDOCS_MCP_STORAGE_PATH를 문서 폴더로 설정합니다. 파일은 이름으로 해결되므로 에이전트는contract-042.pdf를 전달하고, 머신의 경로는 전달하지 않습니다. - 라이선스 모드를 확인합니다. 에이전트에게
get_license_status호출을 요청합니다. 평가 모드에서는 각 문서의 처음 2페이지만 처리되므로, 깨끗한 보고서가 잘못될 수 있습니다(아래 제한 사항 참고). - 스윕을 실행합니다. 위 프롬프트를 사용합니다. 각 파일에 대해 에이전트는
search_digital_signatures를 호출하고 표를 조합합니다. 디지털 서명이 발견되지 않은 파일은 서명되지 않음으로 보고됩니다. - 예외를 읽습니다. 표를 상태별로 정렬하고 아래에 설명된 세 그룹을 처리합니다.
- 일정에 따라 다시 실행합니다. 동일한 프롬프트를 다음 달에도 같은 폴더에 적용하면, 감사가 프로젝트가 아니라 일상이 됩니다.
에이전트가 결정하는 것과 엔진이 수행하는 것
| 단계 | 에이전트가 결정하는 것 | 엔진이 수행하는 것 |
|---|---|---|
| 확인할 파일 | 프롬프트에서 폴더의 PDF 목록을 반환 | 저장소에서 이름으로 각 파일을 해결 |
| 서명 여부, 유효성, 서명자 | 파일을 선택 | 서명자, 발급자, 일련 번호, 유효 기간, 타임스탬프 및 isValid (search_digital_signatures) 반환 |
| 보고서 | 표를 만들고 예외를 그룹화 | 없음; 엔진은 요약하지 않음 |
예시 세션 (축약)
당신: 내 문서 폴더에 있는 모든 PDF에 대해 디지털 서명이 되어 있는지 그리고 아직 유효한지 확인하십시오. 표를 제공하십시오: 파일, 서명자, 서명 날짜, 상태.
Agent: [get_license_status] mode: licensed
[search_digital_signatures] x N
| 파일 | 서명자 | 서명일 | 상태 |
| contract-041.pdf | Dana Whitfield | 2026-09-14 | valid |
| contract-042.pdf | - | - | unsigned |
| contract-043.pdf | Omar Haddad | 2026-08-02 | invalid |
예외: 서명되지 않은 파일 1개, 유효하지 않은 파일 1개. 유효하지 않음은 보통 파일이 서명 후 변경되었음을 의미합니다.
예시 출력: 파일 이름과 서명자 이름은 임의로 만든 것입니다. 도구는 위에 설명된 필드를 반환합니다.
중요한 세 가지 예외
- 서명되지 않은 파일. 감사가 찾아야 하는 바로 그 공백입니다.
- 유효하지 않은 서명. 거의 항상 서명 후에 무언가가 변경되었습니다: 나중에 추가된 도장, 재저장, 페이지 추가 등. 어떤 파일이 변경됐는지 아는 것이 중요합니다.
- 만료된 인증서. 서명 당시에는 유효했지만 현재는 정책에 따라 유효 여부가 달라집니다. 유효 기간은 반환된 데이터에 포함되어 있으므로, 에이전트에게 오늘 날짜 이전에 유효 기간이 끝난 모든 인증서를 나열하도록 요청하십시오; 이 비교를 통해 찾을 수 있습니다.
스윕 비용을 낮게 유지하고 보고서 신뢰성을 확보하는 방법
search_digital_signatures를 모든 파일에 실행합니다.verify는 선택적인 빠른 검증으로만 추가하고, 상세 레코드를 진실의 원천으로 간주합니다.- 대량으로
search_image_signatures를 건너뜁니다. 이는 각 히트마다 base64 이미지를 반환해 실행 시간을 불필요하게 늘립니다. - 코드 검색 시
returnImage옵션을 끕니다. - 사용량 기반 라이선스에서는 각 호출이 사용량에 따라 청구되므로, 목표 지향 스윕은 비용이 적게 들고 실행도 빠릅니다.
- 파일별 인증서 세부 정보(서명자, 발급자, 일련 번호, 타임스탬프)를 기록으로 보관하십시오. 에이전트의 서술형 요약은 보고서일 뿐이며, 증명서가 아니며 공증 행위도 아닙니다.
예외에 대한 조치
동일한 세션을 사용해 스윕이 찾은 문제를 해결할 수 있습니다. 예를 들어 서명되지 않은 파일에 레퍼런스 마크를 적용합니다:
표준 QR 레퍼런스로 서명되지 않은 세 파일에 서명하고 수행한 작업을 나열하십시오.
그 작업이 무엇을 하는지 정확히 명시하십시오. QR 코드는 시각적 마크이며 인증서 기반 서명이 아니므로, 필수 디지털 서명을 대체할 수 없습니다. 서명이 필요한 파일에는 sign과 type: "digital"을 마지막에 적용하십시오.
자체 프로세스에 명시할 제한 사항
평가 모드에서는 각 문서의 처음 2페이지만 처리하고 모든 페이지에 체험 배지를 삽입합니다. 4페이지에 있는 서명은 표시되지 않으므로, 라이선스가 없는 대량 감사는 실제로 서명이 없는 파일을 “정상"으로 보고할 수 있습니다. 매번 먼저 get_license_status를 확인하십시오. 서버는 파일에서 서명 데이터를 읽지만 귀하의 정책을 알지는 못하므로, 허용 가능한 인증서 정의는 귀하에게 남아 있습니다.
자주 묻는 질문
어떤 계약서가 서명되지 않았나요?
에이전트에게 폴더를 감사하고 디지털 서명이 없는 파일을 나열하도록 요청하십시오. 각 파일에 search_digital_signatures 호출이 이루어지며, 서명이 발견되지 않은 파일은 서명되지 않은 것으로 표시됩니다. 결과는 하나의 표가 됩니다.
AI가 PDF 서명을 대량으로 검사할 수 있나요?
예, 폴더 전체에 대해 한 번의 프롬프트로 로컬에서 수행할 수 있습니다. 라이선스가 없을 경우 각 파일의 처음 2페이지만 검사됩니다.
보고서를 컴플라이언스 증거로 사용할 수 있나요?
엔진이 반환한 파일별 인증서 세부 정보를 증거로 보관하십시오. 에이전트의 요약은 편의를 위한 것이며, 증명서는 아닙니다.
더 깊이 알아보기
- 문서, 표준 사용 방법: AI 에이전트로 서명된 문서 폴더 감사하기
- GroupDocs.Signature MCP 서버: GroupDocs.Signature MCP 서버
- 시작하기: AI 에이전트와 MCP를 사용한 문서 서명 3가지 방법: 텍스트, QR 코드, 인증서
- 관련: AI 에이전트가 문서가 검증되었다고만 말하면 안 되는 이유
- 관련: 바코드에서 레코드로: AI 에이전트를 활용한 문서 수집 자동화
- 온프레미스 및 보안 모델: AI 문서 처리 3가지 아키텍처와 파일을 네트워크 내부에 보관하는 방법
- 질문: GroupDocs Signature 포럼
- 소스: GitHub의 GroupDocs.Signature.Mcp