Reproducible, implementation-neutral qualification and benchmarking of PDF signing solutions. [WIP]
Unit and golden tests inside a signing library show that it behaves as its authors expect. They do not show that its output is accepted by independent tools, across PDFs from many generators, or how it performs on a known population of documents. This repository provides that evidence:
- Traceable inputs. Public PDFs are acquired from their upstream projects by URL, revision and SHA-256. They are never copied into this repository.
- Independent verdicts. Signed outputs are judged by independent validators, not by the implementation's own success result.
- Qualification before performance. Timing is only compared over inputs that every compared implementation signed and that were independently validated.
The method is described in the RFC Reproducible PDF signing qualification and benchmarking.
Implementations are integrated through adapters. An adapter runs one signing solution, in any language or as an external process, against the same inputs and scenarios, and the same validators judge every output. The implementations under test are signerphp/pdf-signer and JSignPdf, run through jsignpdf-php; other solutions are qualified by adding an adapter, without changes to the inputs or validators.
Requirements: Docker with Compose.
docker compose build
docker compose run --rm app composer install
docker compose run --rm sandbox composer checkTo run the pilot over the selected sample and get its summary:
bin/pilotSee AGENTS.md for the repository layout and workflow, and CONTRIBUTING.md for the fixture policy.