mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-02-24 06:09:01 +00:00
55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
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](98.md) AUTHed pubkeys presented in users' kind `10103` [NIP-51](51.md) list.
|
|
|
|
Example of private event:
|
|
|
|
```jsonc
|
|
{
|
|
"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 `5030` event containing the target pubkey in a `"p"` tag:
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 5030,
|
|
"tags": [
|
|
["relays", "wss://private-notes.example.com", "wss://secret-notes.example.com", /*...*/],
|
|
["p", "abc...def"]
|
|
],
|
|
"content": "Please let me in.",
|
|
// other fields...
|
|
}
|
|
```
|
|
|
|
Clients MAY show `.content` to user as a request message.
|
|
Its RECOMMENDED for clients to add a `"expiration"` tag to kind `5030` since they won't be useful after being accepted or rejected.
|
|
Its RECOMMENDED for relays to cleanup kind `5030` 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.
|