# The life of one document

Here is one real consulting agreement going through docuinked, from a draft to a sealed PDF anyone can check. Every picture on this page is the running product.

## Five steps, one rule

A machine or a person prepares the document. A named person approves the exact draft. Only the signer signs. Then the file is sealed, and anyone can check it later. The server enforces each step, so no prompt, script or shortcut can skip one.

## 1. Prepare

Someone uploads a PDF in the web app, or a program sends one to the API. Then the fields go on: signature, initials, date, name, text and checkboxes, each tied to one signer.

From the API you can place fields three ways: by anchor text such as "Signature:", by tags like `{{signature:1}}` written in the PDF, or by coordinates. With none, fields go on the document's own Signature, Date and Name lines, one signer per signature line. Uploads in the app get the same fields placed for you to check.

The result is a draft with a `draft_hash`. The hash covers the PDF bytes, the signers, the fields and the message. Change any of them and the hash changes.

[How to create a document by API >](/docs/api#create_document)
![The docuinked editor: two signers on the left, signature and date fields placed on the agreement](https://docuinked.com/static/shots/editor.webp)

## 2. Approve

If an agent asked to send, nothing goes out yet. The call returns an `approval_url`, and the account owner gets an email.

A person signs in and sees the draft exactly as the server holds it: the title, the message, every signer and every page. They approve, and it sends. Or they reject, and it goes back to being a draft.

The approval is tied to the hash. If anyone changed the draft after asking, the approval is refused. There is no approve call in the API, so no key can approve its own request.

[How approvals work >](/docs/approvals)
![The approval page a person sees before an agent's draft is sent: signers, the hash, and the full document](https://docuinked.com/static/shots/approval.webp)

## 3. Sign

The signer opens the link from their email on any phone or computer. They don't need an account or an app.

First they see the consumer disclosure and agree to sign electronically. They can decline, or ask for paper instead. Then they review the document, tap each field, draw or type their signature, and confirm.

If the sender set an access code, the signer types it before anything opens. Signing is single use: a second click or a replayed request finds nothing to sign.
![Step one on a phone: the electronic records disclosure the signer agrees to before the document opens](https://docuinked.com/static/shots/sign-consent.webp)

![Step two on a phone: the signer draws their signature on the pad before placing it](https://docuinked.com/static/shots/sign-phone.webp)

## 4. Seal

When the last person signs, the fields and a certificate page are stamped into the PDF. The file then gets a PAdES digital seal and a timestamp from an outside authority under RFC 3161.

The certificate page records, for each signer, when they agreed to sign electronically, when they opened the document, when they signed, and the device they used. Any later change to the file breaks the seal.

Every party gets the sealed copy by email.

[What a PAdES seal is >](/guides/what-is-pades)
![Page 2 of the sealed PDF: the certificate of completion with each signer's steps and signature](https://docuinked.com/static/shots/certificate.webp)

## 5. Prove

Every step above went into a hash-chained log as it happened: created, approval asked, approved, sent, each consent, each view, each signature, and the seal. The database refuses edits to that log.

The document page shows that history and says whether the chain is intact. You can export the full evidence record as JSON with `get_evidence`, and anyone can drop the PDF into the free checker to see whether we sealed that exact file.

[Check a PDF for free >](/tools/verify-pdf)
![The finished document page with both signers marked signed and the full history from creation to the seal](https://docuinked.com/static/shots/document.webp)

## Common questions

### How long does the whole flow take?

The signer's part takes about a minute. Sealing runs in the background and usually finishes a few seconds after the last signature. The rest depends on how quickly your approver and signers open their email.

### What does a signer see if they decline?

They give an optional reason, and the document stops. The sender is told, and the `document.declined` webhook fires. Nobody else is asked to sign.

### Can I see the evidence before a document is finished?

Yes. The document page shows the history as it grows, and `get_evidence` returns the record so far. The sealed PDF and its certificate exist only after the last signature.
