Nostr Remote Signing — NIP-46 support #5

Open
opened 2026-02-20 08:42:29 +00:00 by nazim · 0 comments
Contributor

Summary

Support NIP-46 remote signing so cobot agents don't need to hold raw nsec keys.

Problem

Currently cobot holds its nsec in plaintext config/env. Compromised VPS = compromised identity.

Proposal

Enhance the nostr plugin (or new nostr-signer plugin) to:

  1. Support NIP-46 connect flow (bunker URL → relay → signing requests)
  2. Fall back to local nsec if no signer configured
  3. All event signing goes through a sign(event) abstraction

POC

A browser-based NIP-07 encrypt/decrypt demo was built: https://github.com/al-munazzim/experiment-nostr-signer

Relevant Signers

  • nsecBunkerd — bunker server for teams/agents (by kind-0)
  • Amber — Android NIP-46 signer
  • horse — hardware remote signer via WebSerial (fiatjaf)

Open Questions

  • Latency: each sign request is a relay round-trip (~100-500ms)
  • Separate plugin or built into nostr channel plugin?
  • Interactive pairing UX?
## Summary Support [NIP-46](https://github.com/nostr-protocol/nips/blob/master/46.md) remote signing so cobot agents don't need to hold raw nsec keys. ## Problem Currently cobot holds its nsec in plaintext config/env. Compromised VPS = compromised identity. ## Proposal Enhance the nostr plugin (or new `nostr-signer` plugin) to: 1. Support NIP-46 connect flow (bunker URL → relay → signing requests) 2. Fall back to local nsec if no signer configured 3. All event signing goes through a `sign(event)` abstraction ## POC A browser-based NIP-07 encrypt/decrypt demo was built: https://github.com/al-munazzim/experiment-nostr-signer ## Relevant Signers - **nsecBunkerd** — bunker server for teams/agents (by kind-0) - **Amber** — Android NIP-46 signer - **horse** — hardware remote signer via WebSerial (fiatjaf) ## Open Questions - Latency: each sign request is a relay round-trip (~100-500ms) - Separate plugin or built into nostr channel plugin? - Interactive pairing UX?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ultanio/cobot#5
No description provided.