nips/97.md
2025-02-07 19:58:55 +00:00

1.6 KiB

NIP-97

White-listed Events

draft optional

An event containing an "!" tag means a private event. Relays supporting private events MUST serve private notes only to NIP-98 AUTHed pubkeys presented in users' kind 10103 NIP-51 list.

Example of private event:

{
  "kind": 1,
  "tags": [
    ["!"],
    ["relays", "wss://private-notes.example.com", "wss://secret-notes.example.com", /*...*/],
  ],
  "content": "You can't see it before i grant you this permission!",
  // other fields...
}

Clients SHOULD publish private events with a protected tag ("-") to relays who implement and respect this spec.

Private Follow Request

A user can request to be added to a pubkey kind 10103 list using a kind 819 event containing the target pubkey in a "p" tag:

{
  "kind": 819,
  "tags": [
    ["relay", "wss://private-notes.example.com"],
    ["relay", "wss://bob-friends.example.com"],
    ["expiration", "1738988143"],
    ["p", "abc...def"]
  ],
  "content": "Please let me in.",
  // other fields...
}

Clients MAY show .content to user as a request message. Clients MUST add a "expiration" tag to kind 819 since they won't be useful after being accepted or rejected. Its RECOMMENDED for relays to cleanup kind 819 after a reasonable amount of time since they won't be useful after being accepted or rejected.

Clients

Clients SHOULD keep sending reactions, comments and replies to this events to same relays with protected and private tags, keeping the rest of information private.

Warning

The events could be downloaded by private followers and saved locally.