> For the complete documentation index, see [llms.txt](https://specs.govstack.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://specs.govstack.global/service-patterns/2.-functional-patterns/provide-a-signature.md).

# Provide a signature

Capture a trusted, auditable signature so a service can confirm who signed, what they signed, and when.

**Use this pattern when**

* the outcome is legally/procedurally significant, or fraud prevention is essential
* the service must produce a verifiable record of agreement/approval
* multiple signers, roles (personal/business), or asynchronous signing are involved

**Do not use this pattern when:**

* a simple confirmation or acknowledgement is sufficient
* consent is not the lawful basis, or signing is not required for the decision (use information + normal confirmation instead)

## Steps

<details>

<summary><strong>Example user flow</strong></summary>

<figure><img src="/files/WFyZE39TRxByPtcPm13H" alt=""><figcaption></figcaption></figure>

</details>

### 1. Verify identity and authorise to sign (optional)

Confirm the user is the intended signatory and is authorised to sign in the chosen role whther personal, business or on behalf of another.

Use the [authenticate](/service-patterns/2.-functional-patterns/authenticate.md) functional pattern or additional verification steps depending on risk.&#x20;

### 2. Review what will be signed

Show a clear, human-readable view of the content and a short summary of consequences.

Use the [check answers](/service-patterns/3.-step-patterns/check-answers.md) pattern where users must be able to:&#x20;

* confirm they agree
* stop/cancel if they don’t

### 3. Choose signature method or role (if applicable)

If multiple signing methods or roles are available, let the user select how and as whom they are signing.

Examples:

* sign as individual vs on behalf of an organisation (entrepreneur)
* certificate-based vs one-time signing flow (where supported)

Present options using [single or multiple-choice question](/service-patterns/3.-step-patterns/ask-a-question.md). &#x20;

If signature exists as credential, use the [present credential](/service-patterns/2.-functional-patterns/present-a-credential.md) pattern.&#x20;

### 4. Apply eSignature

The service applies the signature using the [eSignature Building Block](https://specs.govstack.global/esignature) and returns the result via internal integration, typically protected via [Information Mediation](https://specs.govstack.global/information-mediator).

### 5. Return outcome (and confirmations)

Show a clear result. Use [outcome](/service-patterns/3.-step-patterns/outcome.md) step pattern.&#x20;

Must include:

* status: signed / pending / failed / declined / expired
* reference for audit/support
* what happens next in the service

Send confirmations where appropriate to the signatory and to the document owner or requester (if different)

Use the [notification](/service-patterns/3.-step-patterns/send-a-notification.md) step pattern.&#x20;

***

### Considerations

* Enable a user to save and return to sign later, with reminder notifications and expeiry where relevant.&#x20;
* Signing must be usable with assistive technology such as screen readers.&#x20;
* Where eSignature isn’t possible, offer other assisted or alternative ways to access and complete this part of the service.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://specs.govstack.global/service-patterns/2.-functional-patterns/provide-a-signature.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
