> For the complete documentation index, see [llms.txt](https://wallet-docs.catfee.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wallet-docs.catfee.io/offline-signer/signing-flow.md).

# Signing Flow

This page explains how `Offline Signer` handles signing requests coming from the browser extension or `CatFee Guard`.

## One-Sentence Summary

The core idea of offline signing is to separate request initiation from signing confirmation:

* The online side constructs and displays the content to be signed
* The phone verifies the content and completes signing locally

## Supported Request Types

According to the current repository README, `Offline Signer` currently handles:

* Legacy v1 transaction signing requests
* Newer v2 transaction signing requests
* Legacy v1 message signing requests
* Newer v2 message signing requests

## Standard Signing Flow

1. The online side generates a signing-request QR code or text payload
2. The user opens `Offline Signer` on the phone
3. The request is imported by scanning or pasting it
4. The phone validates the request content and signer address
5. The user manually confirms signing
6. The app generates the signing result locally
7. The phone displays the signing-result QR code or text
8. The online side imports the result and continues the workflow

## Request Import

Users can tap the quick-sign entry on the home screen or open the sign page and then:

* Scan a QR code
* Paste request text

After import, the app proceeds through the flow: import request -> review content -> confirm signing -> output result.

## Request Review

Before generating a signature, the app requires the user to check:

* Whether the request is for transaction signing or message signing
* Whether the chain is correct
* Whether the signer address is the expected address
* Whether the digest, TxID, or challenge passes validation
* Whether the request is still within its valid time range

This is one of the most important steps in the entire security flow.

## Result Output

After signing is complete, the phone outputs:

* A QR code that can be scanned by the online side
* Or a signature text payload that can be copied and pasted

What is returned is the signing result for that request, not a private key, seed phrase, or key share.

## Interaction With Other Products

* When used with `CatFee Air Wallet`, the signing result is returned to the browser extension and then passed back to the DApp
* When used with `CatFee Guard`, the signing result is returned to the web workspace and attached to the pending transaction

## Security Boundaries That Must Remain Clear

* Keys are stored on the phone, not on the online side
* The user must manually confirm every signature
* The app returns signing results, but it does not decide for the user whether a request is safe


---

# 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://wallet-docs.catfee.io/offline-signer/signing-flow.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.
