# Signing

URL: /systems/legal-and-corporate/signing · Id: `capability:signing`

> Signing binds each signature to a fingerprint of exactly what the signer read, then seals the File with its signing record.

Signing binds each signature to a fingerprint of exactly what the signer read, then seals the [File](/business/nouns/file) with its signing record. Any [Document](/business/nouns/document) can be signed, not only an [Agreement](/business/nouns/agreement).

## Contract
The fingerprint is a SHA-256 over the text and filled answers of the version the signer saw. If the Document changes, the signature is refused. The same rule binds an [Approval](/business/nouns/approval).

| Rule | Detail |
| --- | --- |
| No blanks | A Document with an unfilled variable or bracketed blank cannot open to signers |
| Signing record | Signer identity and email, IP address, browser, viewed-at, signed-at, and [Consent](/business/nouns/consent) to sign electronically |
| Seal before confirm | The sealed File is stored before the signer sees `Signed`; a failed store says so |
| One signed version | Answers lock at signature; changes go through the other side |
| Countersign | The other party signs the same fingerprint, from an inbox queue, oldest first, in batches |
| Revoked parties | Countersigning a revoked signer is refused |
| Copies | Each copy is delivered once, with one owner; a retry never resends a delivered copy |
| Keep everything | Every signed version, copy sent and view is kept as an [Event](/business/nouns/event) or File |
| `test` | The full flow walks and signs, but stores nothing and sends nothing |

Who signs follows the [legal floor](/systems/legal-and-corporate/floor). A counterparty signs their own representations, and an [Agent](/business/nouns/agent) signs sales paper inside its [Mandate](/business/nouns/mandate). Governance and securities acts go to the officer desk or the founder.

The [legal signing guide](/systems/legal-and-corporate/who-signs) covers who signs for each [Company](/business/nouns/company).

## Verbs
| Verb | Object | Event |
| --- | --- | --- |
| [Agreement.sign](/business/nouns/agreement/sign) | [Agreement](/business/nouns/agreement) | [`Agreement.signed`](/business/events/Agreement.signed) |

## Interfaces
- [API](/code/api/reference)
- [SDK](/code/sdk/reference)
- [CLI](/code/cli/reference)
- [MCP](/code/mcp/reference)

## Example
`northdesk.co` sells fixed-price data cleanups as a [Service](/business/nouns/service). Its sales Agent sends a statement of work; the [Customer](/business/nouns/customer)'s signer reads it and signs. The Agent countersigns under its Mandate, and both sides receive the sealed PDF.