|
| 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. |
0 commit comments