Conformary — PDF/UA conformance, machine-verified

Which of your PDFs fail PDF/UA?

Machine-verified PDF/UA conformance — we check documents against ISO 14289-1 with veraPDF and report exactly which clauses fail.

The validator is veraPDF, which is open source, and the standard is ISO 14289-1 (PDF/UA-1). What comes back is not a score and not a grade. It is the list of clauses your file failed, and the objects it failed them on.

A real result

Competent authorities designated under Article 2(21)(c) of Regulation (EU) 2022/858 (DLTR)
European Securities and Markets Authority · 200,779 bytes · validated 13 August 2026

Every failing clause, as veraPDF 1.30.2 reported it under the PDF/UA-1 validation profile.
ClauseFailedWhat the validator reported
7.18.1-2144 Link annotation whose hidden flag is not set and whose rectangle is not outside the crop-box has neither Contents key nor an Alt entry in the enclosing structure element
7.18.5-2144 A link annotation does not include an alternate description in the Contents key
7.2-425 Table rows 1 and 7 span different number of columns
7.3-13 Figure structure element neither has an alternate description nor a replacement text
5-11 The document metadata stream doesn't contain PDF/UA Identification Schema
7.1-101 ViewerPreferences dictionary is not present in the document Catalog, or DisplayDocTitle key is set to false or is not present in the ViewerPreferences dictionary
7.21.4.2-21 A CIDSet entry in the Font descriptor does not correctly identify all glyphs present in the embedded font subset

veraPDF 1.30.2, flavour ua1, run 13 August 2026. Exit code 1 (non-compliant). Don't take our word for it — fetch the document and run it yourself:

verapdf --flavour ua1 --format json Competent_authorities_designated_…_DLTR.pdf

This is what we mean by machine-verified. The document is a public file at a public URL, the validator is open source and free, and the clause identifiers above are from a published ISO standard. Every number on this page is a thing you can reproduce without us.

It is also worth reading as a document, not just as a table. Two clauses account for 288 of the 299 failures, and both are the same underlying defect: the links have no alternate description. This is not a badly made file — it passes 11,552 checks — it is an ordinary spreadsheet exported to PDF, which is how most institutional PDFs are made. A screen-reader user hits several hundred unlabelled links in a table of designated authorities. That is the gap between "we published it" and "it is usable."

A failure against ISO 14289-1 is a technical finding, not an accusation. We picked this document because it is public, because the failure set is typical, and because naming it is the only way you can check us. It is not a claim about ESMA.

Who this is for

What Conformary does

What Conformary does not do

Pricing

Remediation is priced per document. Send us one and we'll quote it. We are not publishing a per-page rate before we can stand behind it.

Status, and what to do next

The public checker is not open yet. This page exists so that what we are building is stated in public before it ships, rather than after.

There is no signup form here, because we would rather have no mailing list than a form that quietly goes nowhere. Two things you can do instead, both of which work today:

Work in progress is public: github.com/JaredKlopstein/conformary.

Why we are conspicuous about the limits

Most vendors in this space sell reassurance. We are selling a verifiable result, and the fastest way to demonstrate the difference is to be explicit about what we are not claiming. A conformance company that overstates its own conformance has already failed its one test.

That applies to this page too: it is written to the standard we sell — semantic structure, a real table with real header cells, keyboard-reachable, visible focus, and contrast that holds in both colour schemes. No trackers, no analytics, no third-party scripts. Nothing here is loaded from anywhere but here.