NIP-G6: OpenWyrd Capability-URL Inline Rendering#2329
Open
DeltaClimbs wants to merge 3 commits intonostr-protocol:masterfrom
Open
NIP-G6: OpenWyrd Capability-URL Inline Rendering#2329DeltaClimbs wants to merge 3 commits intonostr-protocol:masterfrom
DeltaClimbs wants to merge 3 commits intonostr-protocol:masterfrom
Conversation
Successor in spirit to the withdrawn NIP-C6 (nostr-protocol#2327). Defines a rendering contract for Nostr clients to recognize OpenWyrd MOP capability URLs in event content, fetch the envelope, decrypt client-side using the URL fragment, and render plaintext in feed previews in lieu of the standard OpenGraph card. Inherits both review objections from NIP-C6: zero sender burden (clients do all the work, senders paste URLs unchanged) and URL self-identification (no event tags; clients pattern-match on URL shape).
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.
TL;DR
Defines a rendering contract for Nostr clients to recognize OpenWyrd MOP capability URLs in
kind:1content (or NIP-17 inner sealed events), fetch the envelope, decrypt client-side using the URL fragment, and render plaintext inline in feed in lieu of the standard OpenGraph card.Zero sender burden — no tags, no signer changes, no wire-format additions. Senders paste URLs exactly as today; the entire delta is on the rendering client.
Successor to withdrawn NIP-C6
Both review objections from #2327 are baked in:
What the client does
Full constants, response shapes, tombstone handling, and BIP-340 attestation verification inlined in G6.md §3 — self-contained, no external links required to implement.
Threat model (no privacy delta)
The capability URL is a bearer secret — posting it publicly already grants read access to every reader. This NIP does not change who can decrypt, only whether the recipient sees plaintext in-feed or has to tap-and-leave. Host read-blindness (K_read never travels HTTP, RFC 3986 §3.5) is unchanged. Clients implementing this NIP MUST NOT transmit K_read to any third party.
Reference implementation
@openwyrd/mopon npm (Apache-2.0). Live test: anyhttps://sendwyrd.com/w/<handle>#<key>URL.Number
G6picked after scanning merged NIPs and ~200 open/closed PRs — no conflict.Gis outside the hex convention used by merged NIPs to date; happy to renumber per editor preference.