Authoring
Create documents with data
A variant defines the document once — its properties, its layout, its theme, the flow it moves through. Records fill it and the typesetter renders it, so producing a document is a data operation rather than a writing one. Nobody edits a definition to produce one.
Markdown source · LaTeX or Typst typesetting · Every feature in the AGPLv3 core
1.1 · What you are making
Every document is one of three kinds
Sort a document into one of these and the rest of the work follows from it — which is how one authoring experience covers a contract, a handbook and a payslip without fighting any of them.
Contract
Structure, agreed between parties
The parties, the articles, the prices, the terms — language somebody will argue over, held in a shape that does not move between one agreement and the next.
Service agreements · NDAs · Purchase orders
Documents
Written, and long-lived
Prose that is authored rather than assembled, and revised for years. Typeset through your theme, so it comes out looking like everything else you produce.
Proposals · Guidelines · Handbooks · Policies · Memos
Frame
Layout and values, no prose
A free-form document where nothing is written, only placed. Generated in volume and read at a glance.
Invoices · Certificates · Visiting cards · Payslips
Underneath any of the three is a variant — the definition carrying its properties, layout, theme and approval flow. Pick the kind; the variant is what it is made of.
1.3 · The editor
Write as text, see the page
The source is text, so it diffs and reviews like text. What you are looking at while you write is the typeset page it becomes, not a guess at it.
1.4 · Themes and layout
On brand without anyone being careful
Typography, margins and page furniture live in the theme and are applied by the typesetter, not by whoever is writing. Consistency stops depending on people remembering — the only way it survives a busy quarter.
Design owns the layout
Writers cannot move the logo, because the logo is not in the document. It is in the theme the document renders through.
Change it once, everywhere
Update the theme and rebuild. Every document that renders after it carries the new look, including ones written before the change.
Typeset, not approximated
LaTeX or Typst composes it, so hyphenation, widows, tables and page breaks are handled the way a print shop would — identically on every run.
1.5 · AI, on your terms
Point it at a model you control
Wraft does not ship you a model and does not route your drafts through ours. You connect the provider you have already chosen — a hosted API, or a model running on your own hardware — and the assistive features use that one.
- Your endpoint, your keys The provider and credentials are configuration in your deployment. Change them, or point at a different model, without waiting for us to support it.
- The boundary is yours to draw Run the model on your own hardware and nothing about a draft leaves your network. Choose a hosted provider and that is a decision you have made deliberately — and the code that builds the request is public, so what gets sent is readable rather than promised.
- Optional, and off until you connect one No AI is required to author anything on this page. Connect nothing and the editor, variants, flows and typesetting all work exactly as described.
Your deployment, your model endpoint. We are not in the path.
1.6 · Flows
Approve and sign along a path you set
A variant carries the path its documents take. Approval stops being an email thread running alongside the document and becomes part of what the document is.
Stages in the order you work
States are ordered and a document moves through them one at a time, so there is one answer to where this is and who it is waiting on.
Routing that reacts
A flow can be controlled by the record behind it, so a contract over a threshold takes the longer path and a routine one does not wait behind it.
Bound to the revision
An approval attaches to the exact version it approved. When the document changes after sign-off, that is visible rather than silent.
1.7 · Beyond the editor
Automation ready
Nothing extra to build. Once a variant exists a machine can drive it as readily as a person — which is how a hundred documents cost the same effort as one.
One API call to PDF
Post a record, get back a typeset document. The same template a person uses in the editor, driven by your application instead.
Generate in bulk
Hundreds in a single job with per-record error reporting, so a re-run covers only the records that failed rather than the whole batch.
Deliver and keep
Store, email or webhook the finished artifact, with the build hash recorded so you can prove which version went out.
Counts you can see
How many documents each variant has produced, how many went out today, and what is currently sitting in approval.
Start from one
Thirty document types, already mapped
Each one is a variant — typed properties, a layout, a theme and a flow — rather than a blank page with a suggestion. 30 of the 30 are built and installable today; the rest are mapped and waiting their turn.
Not seeing yours
Tell us which document type you need next
The build order is not fixed. If the variant you would actually use is one of the twenty-eight still mapped, saying so is the thing most likely to move it — and if it is not on the list at all, that is more useful to us than a vote.
Before you write the first one