Beyond Events: Using Nostr Keys as General Signing Identities

After adding support for PGP and Bitcoin signing identities inside Continuum, a larger realization emerged: Nostr private keys are not limited to signing relay events. They can function as generalized Schnorr signing authorities capable of attesting to external artifacts, authentication challenges, and far more.
Beyond Events: Using Nostr Keys as General Signing Identities

Andrew G. Stanton - Thursday, May 7, 2026


Today something happened in Continuum that I genuinely do not think most people in Nostr-land have fully realized yet.

And the strange thing is:

I probably would not have realized it either if I had not first implemented:

  • PGP identities
  • then Bitcoin signing identities
  • before finally arriving at Nostr artifact attestations.

The order mattered.

That is important.

If I had started directly with “Nostr artifact attestations,” I probably would have unconsciously kept trying to force the concept back into the shape of a Nostr event.

Because that is how almost everyone thinks about Nostr keys.

Nostr private key: → signs Nostr events → publishes to relays → social protocol identity

But once I had already implemented:

  • detached PGP signatures
  • detached Bitcoin artifact proofs

my brain was already operating in a different conceptual framework.

The key realization became:

A private key is fundamentally a signing authority.

Everything else is protocol semantics layered on top.

That sounds obvious in hindsight.

But I honestly do not think many people are thinking this way.

Most systems tightly couple:

  • signing
  • transport
  • publishing
  • protocol structure

into one conceptual object.

Continuum has been intentionally separating those concepts for a long time.

That separation is what made this realization possible.

Continuum’s architecture already assumes:

  • signing is local
  • publishing is separate
  • authorship exists before distribution
  • drafts can exist offline
  • signed artifacts can exist without publication

Once you accept that model, a Nostr private key suddenly stops looking like merely:

“the thing that signs kind events.”

Instead it becomes:

A generalized Schnorr signing authority.

And once that clicked, the implementation became straightforward.

I added support for:

artifact.pdf.nostr-proof.json

The proof contains:

  • artifact SHA256
  • npub
  • pubkey
  • canonical message
  • message hash
  • Schnorr signature
  • timestamp

Importantly:

This is NOT a Nostr event.

No kind. No relay. No publication. No event ID.

The Nostr private key is simply being used to sign a canonical message describing an external artifact.

That distinction is absolutely critical.

Because it expands the conceptual role of a Nostr identity dramatically.

A Nostr key can now:

  • sign relay events
  • authenticate challenge-response flows
  • attest to external artifacts
  • verify authorship
  • prove authority offline

without being restricted to relay publishing.

And I think this is precisely the kind of idea that becomes difficult to see if signing and publishing remain tightly coupled together.

Most Nostr clients are fundamentally publishing tools.

Continuum has increasingly become:

A local-first signing workspace.

That difference sounds subtle.

It is not.

It changes the entire architecture.

The artifact signing flow tonight made that very clear.

A PDF can now be accompanied by:

  • detached PGP signature
  • Bitcoin proof JSON
  • Nostr proof JSON

all generated locally.

The proofs themselves are public.

That is another fascinating aspect.

The JSON proof files can be shared publicly without exposing any private signing authority.

That means:

  • verification becomes portable
  • proof becomes distributable
  • authority remains local

That is a radically different trust model from most web infrastructure.

Most modern systems assume:

  • hosted identity
  • OAuth providers
  • platform mediation
  • centralized verification

But cryptographic signatures invert the trust relationship.

The verifier no longer needs to trust the platform.

They only need:

  • the proof
  • the public verification material
  • the artifact

That is all.

And once I realized the Nostr private key could participate in that same generalized signing model, another realization followed almost immediately:

The exact same abstraction applies to authentication.

A challenge-response flow becomes:

challenge → sign → verify

The signing backend becomes interchangeable:

  • PGP
  • Bitcoin
  • Nostr
  • SSH

The protocol changes. The cryptography changes. The UX changes.

But the underlying primitive remains the same.

That is where Continuum is becoming very interesting to me.

It is not merely adding “support for more identities.”

It is beginning to unify multiple cryptographic ecosystems under one coherent local-first signing model.

And the irony is:

The breakthrough with Nostr only became visible after implementing the other identity systems first.

Because the moment I stopped thinking:

“Nostr keys sign Nostr events”

and started thinking:

“Nostr keys are generalized Schnorr signing authorities”

an entirely new design space opened up.

I honestly do not think we have explored even 10% of the implications yet.


Write a comment
No comments yet.