Community

Nostr archive

NIP-07: Browser Signers

Our archive page for NIP-07, explaining what it does, where it fits in Nostr and why it matters for identity, apps, relays and real-world systems.

NIP-07: Browser Signers visual
Route The product layer Clients, signers, publishing tools, wallets and weird useful experiments.
App route

Apps and products guide

Start with Crays, then read the market around it: clients, signers, wallets, publishing tools, discovery layers, media apps and experiments that show what Nostr can become.

Apps All Apps pages 281 pages in this routeApp catalog entries, App categories, App orientation and 2 more shelves Browse pagesClose shelf

App catalog entries

App categories

App orientation

App profiles

0xchat advanced-nostr-search Aegis Alby Alby Go Alby Hub Alby Hub Alby SDK Amber Amber Amethyst Amethyst App and product research Application-specific data Blossom Blossom spec NIP-B7 Bookstr Boris Bouquet Calendar by Formstr Chachi Complete Nostr Apps Catalog Coracle Coracle Corny Chat Crays Damus Damus Developer stack research Ditto Ditto diVine Docstr DTAN Emojito Flotilla Flycat Formstr Fountain FreeFrom Fundstr futr GIF Buddy Gittr go-nostr Gossip Gossip Grimoire Groups NIP-29 Habla Habla Hello Nostr — Resources Highlighter HiveTalk homebrew-nostr HORNET Storage Hugo2Nostr HyperNote Iris Iris Jumble kanbanstr Keys Band Listr LNBits Nostrmarket Lume Lumilumi LUMINA Mapstr Marmot Protocol matrix-nostr-bridge Meetstr Memestr Minds monstr mostard Mostro nak nak — Nostr Army Knife Nalgorithm Narr nashboard NDK Negentropy ngit Noflux Nos Nos Social nos2x nosbin noscl Nostorg Feature Matrix Nostr App Manager Nostr Apps Directory Guide Nostr clients feature list Nostr Compass — Projects Nostr Developer Guide Nostr Development Kit Nostr Events Monitor Nostr MCP Server Nostr Nests Nostr Playground Nostr Writer nostr-post-checker nostr-protocol/nostr nostr-ruby nostr-sdk nostr-sdk-ffi nostr-sdk-flutter nostr-to-rss nostr-tools Nostr.band nostr.build nostr.co.uk Clients Nostr.how — Clients nostr.hs Nostrability NostrApps NostrApps category — Audio NostrApps category — Career NostrApps category — Community NostrApps category — Curation NostrApps category — Direct Message NostrApps category — Discovery NostrApps category — File Sharing NostrApps category — Group Chat NostrApps category — Meatspace NostrApps category — Onboarding NostrApps category — Signers NostrApps category — Tools nostrcheck nostrdb nostrdb-rs Nostree Nostria Nostrid Nostrium / read.nostr.com Nostrmo Nostrube noStrudel noStrudel Nostter Nostur Nostur Notedeck Npub.pro Npub.world nsec.app Nsite nsite Nstart.me Obsidian Nostr Writer Olas Openvibe Oracolo Ostrich Work P2P Band Paz Peridot Phoenix Plebeian Market Postr / write.nostr.com Primal Primal Primal Article Editor / Reads authoring Primal Studio pynostr python-nostr Recommended Application Handlers Relay Tools rsslay rust-nostr rust-nostr rust-nostr docs Satellite Satellite Earth SatShoot Shakespeare Shopstr Slidestr Snort Snort Stemstr Submit a Nostr App swift-nostr-client Treasures Wavlake Wavlake Wikifreedia Wikistr YakiHonne YakiHonne YakiHonne mobile/web app directory Yondar

NIP explainer pages

Apps6 min readNostr archive

NIP-07: Browser Signers

Our archive page for NIP-07, explaining what it does, where it fits in Nostr and why it matters for identity, apps, relays and real-world systems.

NIP-07 defines the browser window.nostr interface used by extensions and web signers.

The quick readOur archive page for NIP-07, explaining what it does, where it fits in Nostr and why it matters for identity, apps, relays and real-world systems.
Product quality is the difference between a clever idea and a daily habit.
Product quality is the difference between a clever idea and a daily habit.
Signers, wallets and publishing tools need a surface humans trust.
Signers, wallets and publishing tools need a surface humans trust.

What it standardizes

It gives web apps a safer route to request public keys, event signatures and optional encryption without demanding that users paste private keys into every website.

The important thing to understand is that NIP-07 is not an app feature by itself. It is a shared convention. A client, relay, wallet, signer or adjacent service can implement the convention, ignore it, implement only part of it, or hide it behind a simpler user experience.

That is why a NIP page needs two layers: the technical shape builders must respect, and the product consequence a normal reader can feel.

  • Protocol layer. NIP-07 defines a pattern for interoperable behavior, not a closed product.
  • Interoperability. The value is that different apps can understand the same signed data or request shape.
  • Optionality. Support can vary by client, relay and service, so products need fallbacks and clear messaging.

Data shape and moving parts

A browser extension or compatible signer injects a window.nostr object. Web apps request actions and the signer decides what to expose or approve.

In the nip-07-signers chapter, Read the moving parts in this order: who signs, what object is created, which fields or tags carry meaning, where the object is published, what relays or services have to support it, and how a second client can verify or interpret the result later.

In the nip-07-signers chapter, This sequence matters because Nostr problems often look like UX problems at the surface while the real failure is lower down: a missing tag, a relay policy mismatch, a signer permission, a stale relay list, a wallet limit, an unsupported event kind or an indexer that never saw the event.

  • Signer boundary. Which key signs the event or request, and should a dedicated signer handle it?
  • Relay boundary. Does the relay merely store/forward, or must it enforce authentication, search, policy or retention?
  • Client boundary. What must the user see so the feature feels understandable instead of protocol-shaped?
  • Fallback boundary. What happens when another app, relay or wallet does not support this convention yet?

Product consequence for us

We can use signer flows to make profiles, posts, votes and payments safer for users moving through our ecosystem.

For us, NIP-07 matters only when it improves a real flow: identity, publishing, access, value transfer, media, venue context, reputation, moderation, governance or developer operations. If it does not help one of those flows, it can stay in the archive until the product need is real.

In the nip-07-signers chapter, The user should not have to memorize the NIP number. The product should translate the convention into plain actions: verify a profile, sign safely, publish content, receive a zap, connect a wallet, prove status, enter a space, vote, or recover context across apps.

  • Crays. Profiles, creator pages and social proof need portable identity rather than a closed account table.
  • Crays World. Real venues need local context, member state, reputation and payments that can survive app changes.
  • Governance path. Future governance needs signed identity, membership context and auditable participation signals.

Risks, edge cases and implementation discipline

Bad permission prompts, confusing UX or malicious clients can still create risk. Users need clear consent and key boundaries.

In the nip-07-signers chapter, The edge cases are where a standard becomes a product decision. A feature can be technically valid and still confuse users, leak metadata, create moderation problems, increase key exposure, break search, overload relays or make payments feel unreliable.

Before shipping anything based on NIP-07, test current client support, relay behavior, signer permissions, failure states, abuse cases and the exact words shown to a non-technical user. If the wording cannot be made simple, the implementation is probably not ready for a mainstream Crays surface.

  • Do not overpromise. A NIP gives a shared format. It does not magically solve onboarding, moderation, UX or custody.
  • Keep private keys away. Any feature that increases private-key exposure increases the attack surface.
  • Make support visible. A reader should know whether the feature works everywhere, only in some clients, or only with specific relays/services.
  • Use plain language. Most users need outcomes: login, pay, publish, vote, prove status, access a venue.

What this standard changes

NIP-07: Browser Signers belongs to the protocol standards layer. The page should help you answer one concrete question instead of forcing you through a generic Nostr essay.

The short version is: our archive page for NIP-07, explaining what it does, where it fits in Nostr and why it matters for identity, apps, relays and real-world systems. The deeper version is to see which concept, standard, product surface or human decision actually changes because of it.

Builders win when protocol detail disappears into clean product behavior.
Builders win when protocol detail disappears into clean product behavior.
The app route belongs close to dashboards, phones and real operating context.
The app route belongs close to dashboards, phones and real operating context.

Who has to implement it

The useful machinery around NIP-07: Browser Signers is event kinds, tags, relay behavior, client support and backwards compatibility. Name those moving parts directly, because vague protocol language is where confusion starts.

In the nip-07-signers chapter, A strong page gives you enough context to recognize the term in another client, NIP, relay policy, wallet prompt or source document without pretending every reader is already a protocol engineer.

  • Status. Is the NIP mandatory, optional, draft, final or unrecommended?
  • Layer. Client, relay, signer, wallet, media server or indexer?
  • Adoption. Where can you verify support?

Event, tag or service surface

Test NIP-07: Browser Signers by asking what is signed, where it is stored, who renders it, which relays or services are involved and what survives when the first app or server is unavailable.

In the nip-07-signers chapter, That test keeps the explanation tied to reality. It also tells us which internal links belong in the body: foundations first, then standards, then practical examples.

Compatibility and adoption

In the nip-07-signers chapter, The main risk is that support can vary between clients and relays, so the feature may feel real in one place and missing in another. The page should say that plainly and then show the safer reading: what works today, what is experimental and what needs source verification.

In the nip-07-signers chapter, This is where dense content beats long content. Give the reader facts, constraints, examples and next steps instead of repeating broad claims about openness or decentralization.

Product risk

For us, NIP-07: Browser Signers matters only when it improves understanding or helps a real flow: identity, publishing, relay choice, signing, payment, media, moderation, commerce, venue context or governance.

In the nip-07-signers chapter, That does not mean every page has to become our product pitch. It means the page should make the connection visible when the topic affects our ecosystem, and stay purely educational when it does not.

Neighboring standards

The best next step from NIP-07: Browser Signers is not a generic link pile. Connect it to the closest prerequisite, the closest technical standard and the closest practical example.

In the nip-07-signers chapter, A large archive becomes useful when every page behaves like a node in a knowledge graph: this explains one thing, points to what it depends on and shows where the idea is used.

Back to the Crays Nostr page