testatum
Free and open source · AGPL-3.0

Turn a letter into a form, and a form into a signed letter.

One letter, many signers. Each person adapts it in minutes, signs, and sends it back as a Word file. Nothing they type reaches the server.

The Testatum welcome page: the tagline, a Create a form button, and a diagram going from a letter with blanks to a signed letter.

How it works

Support letters, testimonials, petitions, letters of intent: whenever several people should sign their own version of the same letter, without each of them editing a Word file by hand.

  1. Turn your letter into a form file.

    Give any AI assistant your letter and the Testatum guide, and it returns a JSON file. No AI runs on the server: use whichever one you like, or write the file by hand from the example.

  2. Create the form.

    Paste the file, add your name, the email where letters should go, and how long the link should work. You get a link to share, and can prefill each person's name or organization in it.

  3. Collect the letters.

    Each person opens the link, answers in a few minutes, signs, and downloads their letter. They email it to you themselves.

A Testatum form: each statement has Agree, Leave out and Edit buttons, with blanks, drop-downs and checkboxes inside the sentences.

Every signer keeps their own voice.

The letter becomes a list of statements. Signers agree with each one, leave it out, or rewrite it, and fill in their own numbers. What they send you is a letter they actually stand behind.

  • Blanks, drop-downs, multiple choice and free text, inside the sentences
  • Sign by drawing, typing initials or uploading a signature
  • Download as Word (.docx), print or save as PDF
  • Prefer Word? A color-coded template of the whole letter is one click away
The same form on a phone.

Private by design.

The letter is generated in the signer's browser. The server stores only the form itself, your name and your reply-to email, and deletes them when the link expires.

  • Answers and signatures never leave the signer's device
  • No request logs, analytics or cookies
  • No third-party fonts or scripts
  • Drafts are kept on the signer's device, so a closed tab loses nothing

Also in the box

41 languages

The interface follows the signer's browser language, and every link can force one.

Invite links

Prefill a person's name, title or organization, so they only answer what matters.

Hand-off links

Fill in part of the letter and pass it on to the person who should finish and sign.

Fill-time estimate

Authors and signers see how long the form takes before they start.

Edit after sharing

Change the wording, extend the validity or delete the form from a private management link.

Any AI, or none

A self-contained guide lets any assistant convert your letter. Testatum never calls one.

Run your own

Testatum is a single small container (Node 22, Express and React). Run it on a laptop, a VPS or a home server.

git clone https://github.com/Boris-Edu/testatum.git
cd testatum
docker compose up -d --build
open http://localhost:8787

For a public server, docker-compose.prod.yml adds automatic HTTPS with Caddy. The README covers configuration, Unraid and backups.

Live demo: testatum.dessimond.com runs Testatum on my own server. Use “Try the example” there to see a complete letter without uploading anything.