Skip to content
Registry StackDocsv0.46.0

Registry Render overview

View as Markdown

If your registry hands people printed letters, receipts, or certificates, Registry Render turns record data into those PDFs, and the same inputs always give the same bytes.

A caller sends the document’s data and its issuance time, and receives the PDF with two hashes: one for the file, one for the exact input it was rendered from. Store both with the record. A re-render from the same inputs months later is byte for byte the same file, so a hash in an audit log still matches the paper in the folder, and a retry never yields a different document.

You write a bundle: plain Typst templates, a JSON Schema for each document’s data, label tables for each language, and the fonts the templates use. registry-render check checks it offline, and registry-render package turns it into a package whose digest names its exact files.

registry-render compile renders one document at a terminal, for authoring and for printing at a counter without a service. registry-render serve is a small HTTP service that admits callers by OIDC access token, or by a legacy API key, and renders from one package in supervised worker processes. For every call it appends an audit entry that carries hashes and versions, never the document’s data. It keeps no database and makes no outbound call while rendering; a timestamped seal calls the timestamp authority you configure.

Render refuses data its schema rejects, a request without an issuance time, a package whose files changed, a caller whose token or API key it does not accept, and a public listening address. A render never reads the host’s clock, fonts, or network; a seal takes its signing time from the host’s clock. How Registry Render works explains each boundary.

Render does not store documents, issue credentials, or decide who may see a field: what a template prints is the template author’s disclosure decision, and paper leaves every access control behind. Records stay in your registry; Render only lays them out. It can add an optional PAdES seal to a document it just rendered, as described in Deploy Registry Render, but it makes no qualified-signature claim.

Render your first document renders one letter offline and over HTTP in about 15 minutes. Deploy Registry Render runs the service for real callers.