> For the complete documentation index, see [llms.txt](https://docs.vida.id/identity-stack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vida.id/identity-stack/authentication/authentication-factors/cryptographic-token-pki/integration-workflow/message-and-transaction-signing.md).

# Message & Transaction Signing

VIDA's signing workflow lets the Partner mobile app **prove that a message is real and hasn't been tampered with.** When a message is signed, it gets a unique digital stamp — containing a timestamp and a signature — that only VIDA can produce. The partner backend server can then check that stamp to confirm the message is genuine.

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

**How It Works:**

1. **User Initiation:** The message signing workflow begins when the user initiates a message signing request.
2. **SignMessage Request:** The partner mobile application sends a signMessage request to the VIDA mobile CDK, providing the hash of the message that needs to be signed.
3. **Signed Message Response:** The VIDA CDK signs the hash and returns the signature to the partner mobile app.
4. **Verification at Partner Backend Server:** The partner mobile application forwards the message and its corresponding signature to the partner backend server for verification. The server is responsible for ensuring the integrity and authenticity of the signed message.
5. **Signing Verification:** VIDA Credential Services validates the signature and sends the result back to the partner backend server — confirming whether the message is authentic and untampered.
6. **Partner Server Registers:** The partner backend server submits the transaction message hash to VIDA, specifying which credential ID should sign it. The partner can also indicate whether the user needs to be physically present to approve it.
7. **VIDA Returns A Transaction ID:** Similar to a tracking number for the signing request. The partner server uses it to notify the user and to query the transaction status later.
8. **Partner Server Notifies The User:** The partner server sends a push notification to the user's mobile app, including the Transaction ID. The app then knows there is a signing request waiting to be processed.
9. **Mobile App Triggers Signing:** The partner mobile app passes the transaction to the VIDA Mobile CDK and requests it to begin the signing process.
10. **VIDA CDK downloads, signs, uploads and validates:** The VIDA CDK fetches the message hash from VIDA Credential Services, signs it, and uploads the signed result. VIDA then validates the signature and updates the transaction status — all without requiring additional steps from the partner.
11. **Mobile App Notification:** Once signing is done, the VIDA CDK notifies the mobile app.
12. **Check Partner Server Transaction:** The partner server can query VIDA Credential Services at any time to retrieve the current status of a transaction — whether it is pending, signed, or failed.

#### **User-Present Signing**

If the transaction requires the user's presence for signing, the following additional steps apply:

* The VIDA CDK triggers biometric authentication — the CDK initiates the fingerprint, face, or password prompt directly, not the partner app.
* The user completes the required authentication, such as a fingerprint scan or password entry.
* Once verified, the signing process proceeds with the authenticated user.

This online transaction signing workflow streamlines the validation process by eliminating the need for partners to manually download public keys and validate signed messages. Instead, VIDA handles the signing and provides a convenient mechanism for partners to register, sign, and track the status of transactions.

#### Key Advantages

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

VIDA's signing workflow provides a *secure, proven mechanism for signing and verifying messages* — without requiring partners to understand the underlying cryptography. Whether signing individual messages or managing batches of transactions, VIDA handles the complex parts: *key management, signature generation, validation, and status tracking.* Partners integrate the workflow. VIDA ensures every message can be trusted.
