feat(cli): add NIP-46 remote signing bunker support - #1758
Closed
ldstreet wants to merge 1 commit into
Closed
Conversation
ldstreet
force-pushed
the
agent/buzz-fea458b1
branch
3 times, most recently
from
July 11, 2026 23:52
eca8e48 to
295ff5f
Compare
Implements NIP-46 remote signing protocol for Buzz CLI, enabling secure remote key management and signing operations. Features: - buzz bunker connect — connect to a remote signer (client mode) - buzz bunker serve — start a remote signer daemon (server mode) - Full NIP-46 protocol support: connect, get_public_key, sign_event, nip44_encrypt, nip44_decrypt, ping, logout - Client session tracking with HashSet for security - Configurable inactivity timeout (default 3600s, 0=infinite) - Secret validation to prevent connection spoofing - Auto-approve mode for development (with warning) - Session-aware request rejection (all methods check connect status) Implementation: - Event kind 24133 (NIP-46 remote signing) - NIP-44 encryption for request/response payloads - WebSocket communication via buzz-ws-client - JSON-RPC-like message structure per spec - Bunker URL parsing (bunker://<pubkey>?relay=<url>&secret=<optional>) Testing: - End-to-end tested against production App Store signer - Connect flow validated with secret verification - All quality checks passing (fmt, clippy, unit tests) Documentation: - CLI README updated with usage examples - Subcommand count updated (62 subcommands across 14 groups) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ldstreet
force-pushed
the
agent/buzz-fea458b1
branch
from
July 12, 2026 00:56
295ff5f to
aeb6832
Compare
ldstreet
marked this pull request as ready for review
July 12, 2026 01:07
Collaborator
|
Thanks for submitting this, @ldstreet! This is a great idea and will get into Buzz soon (July/August). We're looking at a comprehensive setup that will work for both humans and agents, with conventional remote bunkers as well as live-hardware-signing. I really like the simplicity of the cli subcommand here and I think that will be incorporated into the remote signing implementation. For anything security-sensitive, we typically have e2e testing and a formal/verified security model. The review for this PR included modeling and it ends up requiring a rework of the implementation to get them all green, so I'm going to close this for now in favor of the upcoming, wider remote signing work. |
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds NIP-46 remote signing support to the Buzz CLI, enabling secure remote key management for production agent deployments.
Features
buzz bunker connect— Connect to a remote signer (client mode)buzz bunker serve— Start a remote signer daemon (server mode)connect,get_public_key,sign_event,nip44_encrypt,nip44_decrypt,ping,logoutImplementation
buzz-ws-clientbunker://<pubkey>?relay=<url>&secret=<optional>Testing
Documentation
Use Cases
Recommended for: