The Nostr Connect protocol is an important part of the Nostr ecosystem, allowing apps to interact with signers who hold private keys and can sign on behalf of a nostr account. The protocol uses ephemeral encryption and a relay of choice for secure communication between the app and signer. The content of messages exchanged between the app and signer must be an encrypted JSONRPC-ish request or response.
The Signer Protocol defines the messages and methods that are used to communicate between the app and signer. There are mandatory methods that the remote signer app MUST implement, including `describe`, `get_public_key`, `sign_event`, `connect`, `disconnect`, `delegate`, and others. Optional methods include:
* **connect** - establishes a connection with the signer
* **disconnect** - disconnects from the signer
* **delegate** - delegates signing authority to another account
* **get_relays** - retrieves information about available relays
* **nip04_encrypt** - encrypts plaintext using NIP-04 encryption scheme
* **nip04_decrypt
Link: https://github.com/nostr-protocol/nips/blob/master/46.md