Skip to content

Commit 619e3be

Browse files
vitorpamplonafiatjafkehiy
authored
Right to Vanish (nostr-protocol#1256)
Co-authored-by: fiatjaf_ <[email protected]> Co-authored-by: K <[email protected]>
1 parent 330de34 commit 619e3be

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

62.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
NIP-62
2+
======
3+
4+
Request to Vanish
5+
-----------------
6+
7+
`draft` `optional`
8+
9+
This NIP offers a Nostr-native way to request a complete reset of a key's fingerprint on the web. This procedure is legally binding in some jurisdictions, and thus, supporters of this NIP should truly delete events from their database.
10+
11+
## Request to Vanish from Relay
12+
13+
Kind `62` requests a specific relay to delete everything, including [NIP-09](09.md) Deletion Events, from the `.pubkey` until its `.created_at`.
14+
15+
```jsonc
16+
{
17+
"kind": 62,
18+
"pubkey": <32-byte hex-encoded public key of the event creator>,
19+
"tags": [
20+
["relay", "<relay url>"]
21+
],
22+
"content": "<reason or note>",
23+
//...other fields
24+
}
25+
```
26+
27+
The tag list MUST include at least one `relay` value.
28+
29+
Content MAY include a reason or a legal notice to the relay operator.
30+
31+
Relays MUST fully delete any events from the `.pubkey` if their service URL is tagged in the event.
32+
33+
Relays SHOULD delete all [NIP-59](59.md) Gift Wraps that p-tagged the `.pubkey` if their service URL is tagged in the event, deleting all DMs to the pubkey.
34+
35+
Relays MUST ensure the deleted events cannot be re-broadcasted into the relay.
36+
37+
Relays MAY store the signed request to vanish for bookkeeping.
38+
39+
Paid relays or relays that restrict who can post MUST also follow the request to vanish regardless of the user's status.
40+
41+
Publishing a deletion request event (Kind `5`) against a request to vanish has no effect. Clients and relays are not obliged to support "unrequest vanish" functionality.
42+
43+
Clients SHOULD send this event to the target relays only.
44+
45+
## Global Request to Vanish
46+
47+
To request ALL relays to delete everything, the event MUST include a `relay` tag with the value `ALL_RELAYS` in uppercase.
48+
49+
```jsonc
50+
{
51+
"kind": 62,
52+
"pubkey": <32-byte hex-encoded public key of the event creator>,
53+
"tags": [
54+
["relay", "ALL_RELAYS"]
55+
],
56+
"content": "<reason>",
57+
//...other fields
58+
}
59+
```
60+
61+
Clients SHOULD broadcast this event to as many relays as possible.

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
7777
- [NIP-59: Gift Wrap](59.md)
7878
- [NIP-60: Cashu Wallet](60.md)
7979
- [NIP-61: Nutzaps](61.md)
80+
- [NIP-62: Request to Vanish](62.md)
8081
- [NIP-64: Chess (PGN)](64.md)
8182
- [NIP-65: Relay List Metadata](65.md)
8283
- [NIP-68: Picture-first feeds](68.md)
@@ -130,6 +131,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
130131
| `42` | Channel Message | [28](28.md) |
131132
| `43` | Channel Hide Message | [28](28.md) |
132133
| `44` | Channel Mute User | [28](28.md) |
134+
| `62` | Request to Vanish | [62](62.md) |
133135
| `64` | Chess (PGN) | [64](64.md) |
134136
| `818` | Merge Requests | [54](54.md) |
135137
| `1018` | Poll Response | [88](88.md) |

0 commit comments

Comments
 (0)