Feature request: let external web apps request a signature from the desktop app (buzz:// deep-link signer)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
Buzz already registers a `buzz://` URL scheme and has deep-link handlers in the desktop app. Today, though, there is no way for an external web app to ask the desktop app to sign a Nostr event. Any browser-based companion tool therefore has to either require a separate NIP-07 extension or manage its own key.
### Proposal
A signing deep link, roughly:
```
buzz://sign?event=&callback=
```
The app presents the request to the user (which app, what kind, what content), signs with their key on approval, and returns the signed event to the callback. Effectively the NIP-46 "remote signer" role, but over the local URL scheme that already exists rather than over a relay.
### Why
We run a self-hosted Buzz community and built a browser-based live video layer (LiveKit SFU) alongside it, gated on the same relay membership roster. Members already have Buzz installed and already have a key, but a page on a different origin cannot use it, so onboarding required a browser extension.
We worked around it by generating a key in the browser and claiming a community invite with it. That works well, but it creates a second identity for the same human, which is a shame when Buzz is already holding the first one.
A signing deep link would let any downstream web tool reuse the identity the user already has, without the tool ever seeing a secret key.
### Notes
- This is a capability request, not a bug. Nothing is broken; the current behavior is correct browser security.
- NIP-46 over a relay would also solve it, if that is a direction you would rather take. The deep link just seemed cheaper given the `buzz://` handling already in place.
- Happy to implement this and open a PR if it is a direction you would welcome, and to shape the API however fits your roadmap. Wanted to ask before writing code, per CONTRIBUTING.
Contributor guide
Assessment
This issue has not been assessed yet.