Open sourceWraft is AGPLv3 and self-hostable — read the source on GitHub

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.2 · The life of a document

Data, author, sign, distribute

Four states, eight moves, one document. Scroll to walk it — or pick a state and the page will take you there.

Point it at what you already run

A form, a CSV, Sheets, Shopify, ERPNext or your own database — connect it once, and the properties fill themselves. Typed, so a wrong value is caught where it is entered rather than found in a signed PDF.

Read more

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.

variants
Write it together
Reusable blocks
01 / 04Your infrastructure

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.

Browse all templates

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

What writers ask us

Do I need to know Markdown, LaTeX or Typst to write a document?
No. Writing a document from an existing template is filling in properties and editing prose in an editor. Markdown is the source format underneath, and LaTeX or Typst does the typesetting, but neither is something a writer has to touch. Authoring a template from scratch is more technical, and that is usually a job someone does a handful of times rather than daily.
What if I need a document that does not fit any template?
Write it as a one-off. The theme still applies, so an ad-hoc memo comes out looking like everything else you produce. If you find yourself writing the same one-off a third time, that is the signal it wanted to be a template.
Do I need a new variant for every document type?
One per kind of document, not one per document. A service agreement and an NDA are usually two variants because their properties and flows differ; a service agreement for one client and another for the next are the same variant with different values. If you find yourself copying a variant and changing one clause, that clause probably wanted to be a conditional block instead.
Can we import our existing Word templates?
The text imports. Reproducing the layout is deliberate work, because the point is to express it as structure rather than as manual formatting. For a handful of high-value templates that is a good trade; for a thousand legacy files, talk to us first rather than assuming it will be quick.
Does the AI read our documents, and do they leave our infrastructure?
Only if you connect a model, and only to the provider you chose. Wraft ships no model and has no default endpoint — until you configure one, the AI features are inactive and nothing is sent anywhere. Point it at a model running on your own hardware and drafts never leave your network at all. If you point it at a hosted API, that request goes to them rather than to us, and the code that builds it is public so you can read exactly what it contains.
Is any of this held back for a paid tier?
No. Variants, live preview, collaboration, themes, flows, the API and bulk generation are all in the AGPLv3 core. There is no feature you unlock by paying — what a paid arrangement buys is hosting, support or engineering time, never a bigger build.

Write the template once

Let the documents take care of themselves