# Sign

User can sign data presented to him by your app. This is powerful: signing data can prove ownership of user's account and act as a form of authentication, user consent, or messaging.\
For example, it can be used to approve that the user has read the Therms of Service or to use signature to register the user in Bubble without using a password, [see this tutorial](https://docs.novabloq.com/web3-metamask/sign-up-a-user-with-signature).

### &#x20;<mark style="background-color:blue;">Parameters</mark>&#x20;

<table><thead><tr><th width="177.33333333333331">Parameter name</th><th width="72">Type</th><th>Description</th></tr></thead><tbody><tr><td>Data to Sign</td><td>Text</td><td>Any text that the user will see before signing. Changing any character in this text will result in a different signature so be careful with it.</td></tr></tbody></table>

### &#x20;<mark style="background-color:blue;">Events</mark>&#x20;

<table><thead><tr><th width="218">Event name</th><th>Description</th></tr></thead><tbody><tr><td>Signed</td><td></td></tr><tr><td>User canceled action</td><td>Triggered if the user rejects signing</td></tr></tbody></table>

### &#x20;<mark style="background-color:blue;">States</mark>&#x20;

<table><thead><tr><th width="173.33333333333331">State name</th><th width="91">Type</th><th>Description</th></tr></thead><tbody><tr><td>Sign: Signature</td><td>Text</td><td></td></tr></tbody></table>
