Enterprise 에디션
규정 준수
한눈에 보기
섹션 제목: “한눈에 보기”NextPDF Enterprise는 완성된 PDF를 외부 검증 도구 — veraPDF, EU DSS, 또는 Mustang/KoSIT —로 라우팅하고 통합된 구조화 결과를 반환합니다. 결과는 외부 도구가 무엇을 검사했는지 기록합니다. 인증서, 법률 의견, 또는 문서가 어떤 규제를 충족한다는 보증이 아닙니다.
가용성 및 라이선싱
섹션 제목: “가용성 및 라이선싱”이 기능은 NextPDF Enterprise(nextpdf/enterprise)에 제공되며 Enterprise 계층 라이선스 봉투로 활성화됩니다. 그 자격이 없는 배포에서는 이 기능의 클래스가 로드되지 않습니다. 에디션 비교 및 라이선스 받기.
composer require nextpdf/enterprise:^3개념 개요
섹션 제목: “개념 개요”이 모듈은 검증기가 아니라 게이트웨이입니다. 적합성 판정은 외부 도구에서 나옵니다. 게이트웨이는 올바른 도구를 선택하고, 그것에 위임하며, 응답을 정규화합니다.
ComplianceGateway는 ComplianceProfile과 PDF 바이트를 받습니다. 어떤 등록된 ExternalValidator가 해당 프로파일을 처리하는지 해석하고, 사이드카가 도달 가능한지 확인하고, 검사를 위임하고, ExternalValidationResult를 반환합니다. ComplianceProfile은 지원되는 대상을 열거합니다. PDF/A-1b/2b/3b/4/4f, PDF/UA-1/2, PDF 2.0 Arlington 구조 모델, PAdES B-B/B-T/B-LT/B-LTA, ZUGFeRD 2.4 / Factur-X 1.08, EN 16931입니다. 각 케이스는 하나의 규범적 참조와 하나의 외부 도구에 매핑됩니다.
ExternalValidator는 모든 사이드카 브리지가 구현하는 계약입니다. VeraPdfValidator(veraPDF REST), DssValidator(EU DSS REST), ZugferdExternalValidator(Mustang/KoSIT)입니다. 각각은 PSR-18 HTTP 클라이언트를 통해 자신의 사이드카와 통신하고, 도구별 응답을 하나의 ExternalValidationResult로 번역합니다.
실패-차단 정책이 사이드카 부재를 관장합니다. 기본적으로 사용 불가능한 사이드카는 ComplianceSidecarUnavailableException을 발생시킵니다. 검증기 누락은 통과가 아니라 검사 불가입니다. 명시적 선택적(optional) 모드는 그 조건을 로그에 기록된 경고와 null 결과로 격하하므로, 호출자가 “검사되지 않음”을 감지하고 스스로 결정할 수 있습니다. AiReadyCertifier는 별개의 이음새입니다. 세 가지 준비도 기준을 평가하고 nextpdf: XMP 출처 블록을 찍습니다. 그 “certified” 수준은 NextPDF 내부 준비도 라벨입니다. 표준 인증이 아니며 어떤 규제 지위도 부여하지 않습니다.
여기서 “compliance”가 의미하는 것
섹션 제목: “여기서 “compliance”가 의미하는 것”이 모듈은 검사를 위임하고 결과를 보고합니다. 문서가 법적으로 준수하거나, 인증되거나, 법적 구속력이 있다고 단언하지 않습니다.
- 적합성은 이 라이브러리의 속성이 아니라 최종 파일과 검증기의 속성입니다. ISO 19005-4:2020 §5.2는 의무를 적합 프로세서에 부과하며, 적합성은 생성 소프트웨어가 아니라 검사 도구에 의해 표준의 규범적 요구 사항에 대해 판정됩니다.
- 비적합 사항이 0건인 결과는 외부 도구가 구현하는 조항에 대해 검사된 결과입니다. 포괄적 인증서가 아닙니다.
- 사용 불가능한 사이드카는 검사되지 않음을 의미합니다. 결코 통과를 의미하지 않습니다.
프로파일 지원은 그에 대한 적합성과 같지 않으며, 적합성은 인증이 아닙니다. NextPDF는 어떤 인증도 보유하지 않으며 어떤 인증도 부여하지 않습니다. 규제 충족성 판단은 귀하의 규정 준수 팀에 문의하십시오.
계층 경계
섹션 제목: “계층 경계”에디션을 정확히 읽으십시오. 서로 다른 일을 합니다.
- **NextPDF Core
Conformance/Compliance**는 인프로세스 바이트 스트림 및 문법 검사를 실행하고 적합성 모드 판별자를 담습니다. Core는 표준이 정의하는 구조를 방출합니다. 결과를 인증하지는 않습니다. - **NextPDF Pro
Compliance(EInvoiceValidator)**는 외부 사이드카 없이 EN 16931 / Factur-X / ZUGFeRD를 인프로세스로 검증합니다. - **NextPDF Enterprise Compliance(이 페이지)**는 외부 검증기 사이드카(veraPDF, EU DSS, Mustang/KoSIT)에 위임하고 실패-차단 정책으로 결과를 정규화합니다.
Pro 인프로세스 e-인보이스 검증기와 Enterprise 외부 ZUGFeRD 사이드카는 별개의 표면입니다. 둘을 혼동하지 마십시오.
이렇게 작동하는 이유
섹션 제목: “이렇게 작동하는 이유”적합성은 생성 라이브러리가 아니라 검사 도구가 측정하는 완성된 파일의 속성입니다. 그래서 게이트웨이는 판정을 권위 있는 외부 도구에 위임하고 해석, 위임, 정규화만 수행합니다. 인프로세스로 적합성을 자체 단언하면 “표준을 기반으로 구축됨”과 “독립적으로 확인됨”을 혼동하게 되는데, 이는 표준이 금지하는 것입니다. 실패-차단 기본값은 여기서 따라 나옵니다. 도달할 수 없는 사이드카는 검사 불가이므로, 통과시키는 대신 예외를 발생시킵니다. 이는 누락된 검사가 적합성으로 위장하는 것을 막고, NextPDF가 어떤 인증도 보유하지 않는다는 점에 대해 정직하게 유지합니다.
설계 배경: 감사자에게 건넬 수 있는 규정 준수.
API 표면
섹션 제목: “API 표면”| 클래스 | 책임 |
|---|---|
ComplianceGateway | 프로파일에 대한 도구를 해석하고, 위임하고, 실패-차단 정책을 적용합니다. |
ComplianceProfile | 각각 표준 참조와 도구를 갖는 지원 프로파일의 enum. |
ExternalValidator | 외부 사이드카 브리지에 대한 계약. |
ExternalValidationResult | 통합 결과: 프로파일, 도구, 적합성 플래그, 비적합 사항. |
NonConformance | 외부 도구로부터의 하나의 비적합 발견 사항. |
VeraPdfValidator | veraPDF REST 브리지(PDF/A, PDF/UA, Arlington). |
DssValidator | EU DSS REST 브리지(PAdES 레벨). |
ZugferdExternalValidator | Mustang/KoSIT 브리지(ZUGFeRD / Factur-X / EN 16931). |
AiReadyCertifier | 준비도 평가 및 nextpdf: XMP 출처 스탬프. |
코드 샘플 — 빠른 시작
섹션 제목: “코드 샘플 — 빠른 시작”use NextPDF\Enterprise\Compliance\ComplianceProfile;
$result = $gateway->validate($pdfBytes, ComplianceProfile::PdfA4);$passed = $result?->passes(); // null = sidecar unavailable (not checked)코드 샘플 — 프로덕션
섹션 제목: “코드 샘플 — 프로덕션”$result = $gateway->validate($pdfBytes, ComplianceProfile::PdfA4);
if ($result === null) { $logger->error('compliance.not_checked', ['profile' => 'pdfa-4']); // Treat "not checked" as a blocker, never as a pass. return;}
foreach ($result->nonConformances as $nc) { $logger->warning('compliance.nonconformance', ['profile' => $result->profile->value]);}// A conformant=true result is one input to your decision, not a verdict you own.엣지 케이스 및 함정
섹션 제목: “엣지 케이스 및 함정”- 사용 불가능한 사이드카는 기본적으로
ComplianceSidecarUnavailableException을 발생시킵니다. 선택적 모드는null을 반환합니다. 어느 쪽이든 문서는 검사되지 않았습니다. - 등록된 검증기가 없는 프로파일은 조용히 통과하는 대신 인자 오류를 발생시킵니다.
buildComplianceMatrix()는 추적성을 위해 도구 버전과 커밋 SHA를 기록합니다. 매트릭스는 도구 출력을 보고할 뿐 인증하지 않습니다.
비용은 외부 사이드카 왕복과 그것에 전송되는 문서 크기가 지배합니다. 게이트웨이 해석과 결과 정규화는 호출당 상수입니다.
보안 참고
섹션 제목: “보안 참고”PDF 바이트는 PSR-18 클라이언트를 통해 사이드카로 전송됩니다. VeraPdfValidator는 JSON 응답만 파싱합니다(XML 없음, XXE 청정). 사이드카 엔드포인트를 신뢰 경계로 취급하십시오. 사이드카를 고정하고, 그 네트워크 도달 범위를 제한하고, TLS를 검증하십시오.
데이터 레지던시 및 PII 완화
섹션 제목: “데이터 레지던시 및 PII 완화”전체 PDF 바이트 스트림이 구성된 사이드카로 전송됩니다. 문서가 개인 또는 규제 데이터를 담는다면, 자체 통제 하에 동일 지역에서 사이드카를 호스팅하십시오. 게이트웨이는 다른 아웃바운드 호출을 하지 않습니다. 결과와 로그에 보존 및 최소화 통제를 적용하십시오.
안전한 텔레메트리 및 로그 스크러빙
섹션 제목: “안전한 텔레메트리 및 로그 스크러빙”게이트웨이 로그에는 프로파일 이름, 도구 이름, 단언 개수, 비적합 개수가 포함됩니다. 문서 콘텐츠는 포함하지 않습니다. 프로파일 또는 파일명 필드가 민감하다면 로그를 전달하기 전에 스크러빙하십시오.
적합성
섹션 제목: “적합성”| 동작 | 참조 | 상태 |
|---|---|---|
| 적합성은 생성자가 아니라 검사 도구에 의해 판정됨 | ISO 19005-4:2020 §5.2 | 설계에 반영됨(실패-차단 게이트웨이) |
| PDF/A-4 파일 요구 사항 | ISO 19005-4:2020 §6.6.4 | veraPDF에 위임됨 |
| PDF/UA-2 적합성(파일의 속성) | ISO 14289-2:2024 §6 | veraPDF에 위임됨 |
| PAdES 기준 레벨 | ETSI EN 319 142-1 §5.4.3 | EU DSS에 위임됨 |
이 표는 NextPDF가 기반으로 구축된 명세와 외부 도구가 무엇을 검사하는지 기록합니다. 인증이나 규제 충족성에 대한 진술이 아닙니다.
FIPS 모드 동작
섹션 제목: “FIPS 모드 동작”이 모듈은 암호화 서명을 수행하지 않습니다. 서명 적합성은 EU DSS에 위임됩니다. 키 보관과 FIPS 모드 서명은 그 범위 밖입니다(Signature 및 Security 모듈 참조).
위협 모델
섹션 제목: “위협 모델”주요 입력은 신뢰할 수 없는 PDF 바이트와 사이드카 응답입니다. 완화책은 VeraPdfValidator의 JSON 전용 응답 파싱, 고정된 사이드카 신뢰 경계, 그리고 도달 불가한 검증기가 결코 통과로 해석되지 않도록 하는 실패-차단 정책입니다.
동작 계약
섹션 제목: “동작 계약”- 이 모듈은 검증기가 아니라 게이트웨이입니다. 적합성 판정은 외부 도구(veraPDF, EU DSS, 또는 Mustang/KoSIT)에서 나오며, 게이트웨이는 도구를 선택하고, 위임하고, 응답을 정규화합니다.
- 비적합 사항이 0건인 결과는 외부 도구가 구현하는 조항에 대해 검사된 결과입니다 — 포괄적 인증서가 아닙니다.
- 사용 불가능한 사이드카는 실패-차단입니다. 기본적으로 예외를 발생시키거나, 명시적 선택적 모드에서는
null결과를 반환합니다. 어느 쪽이든 문서는 검사되지 않았으며, 결코 통과하지 않았습니다. - 등록된 검증기가 없는 프로파일은 조용히 통과하는 대신 인자 오류를 발생시킵니다.
AiReadyCertifier의 “certified” 수준은 NextPDF 내부 준비도 라벨이며, 표준 인증이 아니고 어떤 규제 지위도 부여하지 않습니다.
게시 경계
섹션 제목: “게시 경계”이 페이지는 외부에서 관찰 가능한 동작과 지원되는 공개 API 표면만 문서화합니다. 내부 네임스페이스 경로, 헬퍼 클래스, 메커니즘 표, 런북 파일명, 티켓 접두사는 범위 밖입니다.
Core 폴백
섹션 제목: “Core 폴백”NextPDF Core Conformance / Compliance는 인프로세스 바이트 스트림 및 문법 검사를 실행하고 적합성 모드 판별자를 담습니다. 표준이 정의하는 구조를 방출하지만 결과를 인증하지 않으며 외부 사이드카에 위임하지 않습니다. 외부 검증기 게이트웨이에는 Core 계층의 등가물이 없습니다.
Pro 폴백
섹션 제목: “Pro 폴백”NextPDF Pro Compliance는 외부 사이드카 없이 EN 16931 / Factur-X / ZUGFeRD를 인프로세스로 검증합니다. Pro 인프로세스 e-인보이스 검증기와 Enterprise 외부 ZUGFeRD 사이드카는 별개의 표면입니다. 외부 검증기 게이트웨이는 nextpdf/enterprise 패키지로만 제공됩니다. 둘을 혼동하지 마십시오.
Enterprise 경계 참고
섹션 제목: “Enterprise 경계 참고”게이트웨이, 프로파일-도구 해석, 결과 정규화는 동작 수준에서 설명됩니다. 사이드카별 브리지 내부 사항, 도구별 응답 번역, 내부 오케스트레이션 세부 사항은 공개 표면의 범위 밖입니다.
배포 경계
섹션 제목: “배포 경계”전체 PDF 바이트 스트림이 구성된 사이드카로 전송됩니다. 운영자는 사이드카를 호스팅 및 운영하고, 고정하고, 네트워크 도달 범위를 제한하고, TLS를 검증합니다 — 사이드카 엔드포인트는 신뢰 경계입니다. 문서가 개인 또는 규제 데이터를 담는다면 자체 통제 하에 동일 지역에서 사이드카를 호스팅하고, 결과와 로그에 보존 및 최소화 통제를 적용하십시오.
법률 준수 경계
섹션 제목: “법률 준수 경계”프로파일 지원은 그에 대한 적합성이 아니며, 적합성은 인증이 아닙니다 — NextPDF는 어떤 인증도 보유하지 않으며 어떤 인증도 부여하지 않습니다. 이 문서는 법률 의견이 아닙니다. 규제 충족성 판단은 귀하의 규정 준수 팀에 문의하십시오.
함께 보기
섹션 제목: “함께 보기”- Validation — 인프로세스 구조적 정책.
- Evidence — 봉인되고 타임스탬프된 결과 패키지.
- Pro Compliance — 인프로세스 e-인보이스 처리(별개의 표면).
- Core Conformance — 적합성 모드 판별자.
- Compliance — Deep Reference — 사이드카별 브리지 및 응답 번역 세부 사항.