検証
NextPDF Enterprise は、名前付きポリシー(PDF/A-4、PAdES baseline、LTV health、ZUGFeRD、FDA 21 CFR Part 11、SEC 17a-4)に対してインプロセスの読み取り専用構造チェックを実行し、構造化レポートを返します。このレポートは、技術的な構造チェックの結果です。法的助言、コンプライアンス保証、認証のいずれでもありません。
インストール
「インストール」という見出しのセクションcomposer require nextpdf/enterprise:^3概念の概要
「概念の概要」という見出しのセクションCompliance がエントリーポイントです。Compliance::assess($pdfBytes, $policy)(または run() を持つ注入可能なインスタンス)は、1 つの CompliancePolicy を PDF バイト列に適用し、ComplianceReport を返します。ポリシーは作業単位であり、レポートは構造化された結果です。
Policies は、事前構築済みポリシーのファクトリです。pdfA4()、pdfA4e()、pdfA4f()、padesBaseline()、eidasQualified()、ltvHealth()、zugferd($profile)、fdaPart11()、および SEC 17a-4 ファミリー(sec17a4()、sec17a4Compatible()、sec17a4Structural()、sec17a4PreSign())です。いずれも CompliancePolicy を返し、その validate() メソッドは純粋関数です。PDF バイト列を入力として受け取り、検出結果を出力します。アーキテクチャは、厳格な読み取り専用の境界を保ちます。ポリシーが PDF バイト列を変更することは決してなく、検証は自動修正の挙動とは明確に区別されます。
ComplianceReport は、検出結果を Severity(Error、Warning、Info)ごとにグループ化します。エラーがない場合、passes() は true になります。警告によってレポートが失敗することはありません。レポートには組み込みの法的免責事項(getDisclaimer())が含まれており、結果は参照のみを目的とした技術的な構造チェックであり、最終的な判断は有資格の法務またはコンプライアンス専門家に帰属することを明記しています。その免責事項をユーザー向けの出力に表示することが必須です。
署名については、2 つ目の境界が重要です。LtvHealthCheck は、ISO 32000-2:2020 §12.8.4.3 に従い、Document Security Store(DSS)の構造的な存在をチェックします。埋め込まれた OCSP/CRL データを暗号的に検証することはありません。eidasQualified() は、PAdES の構造を PDF レベルでのみ検証します。実際の eIDAS 適格性は、トラストサービスプロバイダーと適格証明書に依存しており、これらはこのモジュールの対象外です。
ここでの「検証」の意味
「ここでの「検証」の意味」という見出しのセクションこのモジュールは 構造属性をチェックし、検出結果を報告します。ドキュメントを認証したり、規制上の十分性を保証したりするものではありません。
- 適合性は 最終ファイルと検証ツール の組み合わせに属する属性であり、このライブラリに属する属性ではありません。ISO 19005-4:2020 §5.2 は、規格の規範的要件に対する適合性を、生成ソフトウェアではなくチェックツールによって判定するものとしています。
- 合格レポートは、各ポリシーが実装するルールに対してチェックされた結果です。これは認証ではありません。
- FDA 21 CFR Part 11 および SEC 17a-4 ポリシーは、これらの規制が示唆する 構造属性(署名の存在、署名意図、監査証跡マーカー、WORM 制約)をチェックします。これらの規制への法的なコンプライアンスを確立するものではありません。法的な十分性は、お客様のコンプライアンスチームの責任範囲です。
ある規格をサポートしていることは、その規格への適合を意味せず、適合は認証でもありません。NextPDF はいかなる認証も保有しておらず、いかなる認証も付与しません。
ティアの境界
「ティアの境界」という見出しのセクション- NextPDF Core
Complianceはバイトストリームバリデーターと文法のクロスチェックを提供します。検出結果がゼロという結果はチェックされた結果であり、認証ではありません。 - NextPDF Pro
Compliance(EInvoiceValidator) は、e-invoice レイヤーで EN 16931 / Factur-X / ZUGFeRD をインプロセスで検証します。 - NextPDF Enterprise Validation(このページ) は、アーカイブ、署名、LTV、および規制業界の構造チェック(FDA Part 11、SEC 17a-4)向けの事前構築済みポリシーを、統一されたレポートとともに追加します。Enterprise Compliance モジュールは、外部サイドカーに委譲する別個のサーフェスです。このモジュールはインプロセスで実行されます。
API サーフェス
「API サーフェス」という見出しのセクション| クラス | 責務 |
|---|---|
Compliance | 1 つのポリシーを適用してレポートを返すエントリーポイント。 |
Policies | 事前構築済み CompliancePolicy インスタンスのファクトリ。 |
CompliancePolicy | 検出結果を返す純粋な validate() のコントラクト。 |
ComplianceReport | 深刻度ごとにグループ化された検出結果と法的免責事項。 |
ComplianceFinding | 1 件の検出結果: ルール ID、メッセージ、規格参照、是正措置。 |
Severity | Error / Warning / Info。 |
PdfAPolicy | PDF/A-4 ファミリーの構造ポリシー。 |
PadesValidator | PAdES baseline / eIDAS-structural ポリシー。 |
LtvHealthCheck | DSS の構造的存在チェック(ISO 32000-2 §12.8.4.3)。 |
ZugferdValidator | ZUGFeRD / Factur-X の PDF レベルポリシー。 |
FdaPart11Policy | FDA 21 CFR Part 11 の構造属性ポリシー。 |
Sec17a4WormPolicy | SEC 17a-4 WORM の構造ポリシー(厳格度を選択可能)。 |
コードサンプル — クイックスタート
「コードサンプル — クイックスタート」という見出しのセクションuse NextPDF\Enterprise\Validation\Compliance;use NextPDF\Enterprise\Validation\Policies;
$report = Compliance::assess($pdfBytes, Policies::pdfA4());$ok = $report->passes(); // no errorsコードサンプル — 本番環境
「コードサンプル — 本番環境」という見出しのセクション$report = (new Compliance($clock))->run($pdfBytes, Policies::fdaPart11());
foreach ($report->errors as $finding) { $logger->warning('validation.error', [ 'rule' => $finding->ruleId, 'standard' => $finding->standardReference, ]);}$auditLine = $report->getDisclaimer(); // surface this in user-facing outputエッジケースと注意点
「エッジケースと注意点」という見出しのセクション- 警告によってレポートが失敗することはありません。
passes()を false にするのはエラーのみです。クリーンなレポートであっても、それは「実装済みのルールに対してチェック済み」であることを意味し、「コンプライアンスに準拠している」ことを意味するものではありません。 LtvHealthCheckは DSS の構造を確認するものであり、失効情報の有効性を暗号的に確認するものではありません。eidasQualified()は PDF レベルの構造のみをチェックします。適格性は TSP と証明書に依存します。- SEC 17a-4 ファミリーは選択可能な厳格度(Full / Compatible / Structural / PreSign)を公開しています。ワークフローの段階に合うものを選択してください。
パフォーマンス
「パフォーマンス」という見出しのセクション各ポリシーは、指定された PDF バイト列に対してインプロセスで実行されます。処理コストはドキュメントのサイズとルール数に応じて増減します。Compliance は実行時間をレポートに記録します。
セキュリティに関する注記
「セキュリティに関する注記」という見出しのセクションポリシーは PDF バイト列をインプロセスで解析し、外部呼び出しは決して行いません。信頼できないソースからの PDF バイト列は、敵対的な入力として扱ってください。純粋な読み取り専用アーキテクチャにより、ポリシーが入力を変更することはできません。
データレジデンシーと PII の緩和策
「データレジデンシーと PII の緩和策」という見出しのセクション検証はインプロセスかつローカルで実行され、ネットワーク I/O はありません。署名済みドキュメントや監査証跡メタデータには個人データが含まれる場合があります。レポートと検出結果に対して、お客様独自の保持および最小化の管理策を適用してください。
安全なテレメトリとログのスクラビング
「安全なテレメトリとログのスクラビング」という見出しのセクション検出結果には、ルール ID、規格参照、メッセージが含まれます。一部のメッセージには、PDF から抽出された署名者名や理由文字列がそのまま含まれます。共有シンクへログを転送する前に、これらのフィールドをスクラブまたは秘匿化してください。
| 挙動 | 参照 | ステータス |
|---|---|---|
| 生成者ではなく規格に基づく適合性判定 | ISO 19005-4:2020 §5.2 | 設計に反映済み(読み取り専用ポリシー) |
| LTV のための DSS の構造的存在 | ISO 32000-2:2020 §12.8.4.3 | チェック済み(構造のみ) |
| PAdES baseline 構造 | ETSI EN 319 142-1 §5.4.3 | チェック済み(PDF レベル) |
| EN 16931 プロファイルのセマンティックモデル | Factur-X 1.08 (EN 16931) | 補足的な参照(発行者が引き続き責任を負う) |
| FDA 21 CFR Part 11 / SEC 17a-4 | 21 CFR Part 11 / 17 CFR 240.17a-4 | 構造属性のみのチェック(法的検証なし) |
この表は、各ポリシーが何をチェックするか、およびどの仕様に合わせて構築されているかを記録したものです。認証または規制上の十分性に関する表明ではありません。FDA および SEC の行は、構造属性のみのチェックです。これらの基礎となる規格は検証コーパスに含まれておらず、Verified の適合性主張は付与されません。
FIPS モードの挙動
「FIPS モードの挙動」という見出しのセクションこれらのポリシーは、暗号的な署名や検証を実行しません。暗号的な署名の有効性、鍵の保管、および FIPS モードの挙動は、Signature モジュールと Security モジュールが処理します。
脅威モデル
「脅威モデル」という見出しのセクション主要な入力は、信頼できない PDF バイト列です。緩和策は、純粋な読み取り専用ポリシー(変更なし、自動修正なし)、ネットワーク I/O なし、そして合格結果が認証と取り違えられないよう、すべてのレポートに明示的な法的免責事項を保持することです。
商業的コンテキスト
「商業的コンテキスト」という見出しのセクションNextPDF Enterprise は、アーカイブ、署名、LTV、および規制業界向けの事前構築済みポリシーを、統一されたレポートとともに追加します。エディションを比較。
エディションゲート
「エディションゲート」という見出しのセクションこの機能は NextPDF Enterprise で利用できます。ライセンスを取得。
ライセンス機能フラグ
「ライセンス機能フラグ」という見出しのセクションこのサーフェスは enterprise ティアによってゲートされます。Enterprise パッケージを Core パッケージと並べてインストールしてください。ポリシーファクトリとコンプライアンスのエントリーポイントは、実行時に Core コントラクトを通じて解決されるため、エディションをアップグレードしても呼び出し側コードの変更は不要です。
挙動コントラクト
「挙動コントラクト」という見出しのセクション- 各ポリシーの
validate()は純粋関数であり(PDF バイト列を入力し、検出結果を出力する)、入力を決して変更しません。アーキテクチャは、自動修正の挙動とは区別される厳格な読み取り専用の境界を保ちます。 - レポートは検出結果を深刻度ごとにグループ化します。エラーがない場合、
passes()は true になり、警告によってレポートが失敗することは決してありません。 - すべてのレポートには、結果が参照のみを目的とした技術的な構造チェックであることを明記する、組み込みの法的免責事項が含まれます。その免責事項をユーザー向けの出力に表示することが必須です。
- LTV ヘルスチェックは DSS の構造的存在のみを確認します。埋め込まれた OCSP/CRL データを暗号的に検証することはありません。
- eIDAS-qualified ポリシーは PAdES の構造を PDF レベルでのみ検証します。実際の適格性は、トラストサービスプロバイダーと証明書に依存しており、これらはこのモジュールの対象外です。
NDA スキャンステータス
「NDA スキャンステータス」という見出しのセクションこの公開ページは、外部から観測可能な挙動のみを記述しています。ここで列挙済みの公開サポート対象クラス名を超えて、内部名前空間パス、内部トレイト名、ランブックのファイル名、内部チケットのプレフィックスは含めていません。ポリシーごとの内部仕様は、NDA に基づくゲート付きリファレンスに記載されています。
Core フォールバック
「Core フォールバック」という見出しのセクションNextPDF Core Compliance はバイトストリームバリデーターと文法のクロスチェックを提供します。検出結果がゼロという結果はチェックされた結果であり、認証ではありません。アーカイブ、署名、LTV、および規制業界向けの事前構築済みポリシーを統一されたレポートとともに提供する機能には、Core ティアの同等品はありません。
Pro フォールバック
「Pro フォールバック」という見出しのセクションNextPDF Pro Compliance は、e-invoice レイヤーで EN 16931 / Factur-X / ZUGFeRD をインプロセスで検証します。事前構築済みの PDF/A-4、PAdES、LTV、FDA Part 11、または SEC 17a-4 の構造ポリシーは提供しません。これらは nextpdf/enterprise パッケージにのみ同梱されています。Enterprise Compliance の外部サイドカーサーフェスは、独立した別個のモジュールです。
Enterprise の境界に関する注記
「Enterprise の境界に関する注記」という見出しのセクションエントリーポイント、ポリシーファクトリ、およびレポートは、挙動レベルで記述されています。ポリシーごとのルールの内部仕様、および内部分類の詳細は、公開サーフェスの対象外です。暗号的な署名の有効性は、ここでは意図的に対象外としています。これは 署名検証 の verify 側と Security モジュールが処理します。
デプロイメントの境界
「デプロイメントの境界」という見出しのセクション検証はインプロセスかつローカルで実行され、ネットワーク I/O はありません。ポリシーが入力を変更することはできません。オペレーターは、信頼できないソースからの PDF バイト列を敵対的な入力として扱い、レポートの免責事項をユーザー向けの出力に表示し、署名済みドキュメントや監査証跡メタデータに由来する個人データを含む場合があるレポートと検出結果について、保持および最小化の管理策を担います。
法令遵守の境界
「法令遵守の境界」という見出しのセクションこのページには export_control_class: legal-review-required が付与されています。publish フラグを設定する前に、法務の承認が必須です。ある規格をサポートしていることは、その規格への適合を意味せず、適合は認証でもありません。NextPDF はいかなる認証も保有しておらず、いかなる認証も付与しません。FDA 21 CFR Part 11 および SEC 17a-4 ポリシーは構造属性のみをチェックするものであり、法的なコンプライアンスを確立するものではありません。このドキュメントは法的意見ではありません。法的な十分性については、お客様のコンプライアンスチームにご相談ください。
- Compliance — 外部バリデーターのサイドカー(別個のサーフェス)。
- Evidence — 封緘され、タイムスタンプが付与されたレポートパッケージ。
- Core Compliance — インプロセスのバイトストリームバリデーター。
- 署名検証 — 暗号的な CMS / タイムスタンプ / アーカイブチェーンの verify 側(この構造サーフェスとは別個)。
- 仕様: PDF/A-4 — 参照されている規格。
- Validation — Deep Reference(ゲート付き)。