Two generations of document tools failed regulated teams.
We're the engineers who shipped document pipelines on every major PDF library, headless browser, containerized office suite, and document-services API. We have a lot of respect for what those tools do. We also know where they stop — because we shipped past their edges.
The first generation of document tools gave engineers total control but required engineering expertise per template, producing fragile imperative pipelines that broke every time a font was missing or a page broke unexpectedly.
The second generation — AI document tools — gave users ease but produced documents you can't audit, version, or trust under regulatory pressure. DocPayload exists because regulated teams need all of it: the rigor of a declarative, schema-validated, deterministic engine; the optional convenience of natural-language authoring on top; and a composition model where any document can reference any other, so teams collaborate on shared building blocks without copy-pasting drift across templates.
The product, in motion.
Major engine upgrade: DocPayload Colibri
PDF and DOCX now fully render on DocPayload Colibri, our own engine. Tagged, accessible PDF when you claim ua-1 or ua-2, DOCX in the Office Open XML class you claim, up to 8 times faster on long tables, barcodes as vectors, and lower prices for most documents.
The schema reaches full maturity
After four years of hard iteration the document schema is fully aligned with the PDF, DOCX, HTML, CSS and SVG specifications. Published as JSON Schema 2020-12 at schemas.docpayload.com, it has made its last breaking change: from here on it only grows.
SVG style property renames
Four SVG style keys renamed to match SVG presentation attributes: lineDash → strokeDasharray, lineDashPhase → strokeDashoffset, lineCapStyle → strokeLinecap, lineJoinStyle → strokeLinejoin. Authors fluent in SVG now author SVG styles by ear.
Enum-value casing normalized to lowercase
textAlign, borderCollapse, verticalAlign, and horizontalAlign values are now consistently lowercase across fixtures and docs. Since October 2026 another case is refused before rendering, with the spelling the schema expects.