Chapter 62 - Privacy
62
Nostr Implementation Possibility - Hex № 62

Request to Vanish

One signed event that asks a relay — or every relay — to erase a key's entire history from its database, for good.

1 Overview

Sometimes a user wants to leave the network completely. A NIP-09 deletion request removes single events. This NIP defines a bigger tool: a request to vanish. It asks a relay to reset a key's whole fingerprint on the web.

The request is one event of kind 62. It names the relays that must act. A named relay deletes every event signed by the requesting pubkey, up to the request's created_at. This includes past NIP-09 deletion events.

The request can be legally binding in some jurisdictions. A relay that supports this NIP must therefore truly delete the events from its database. Hiding them is not enough.

Warning!

A request to vanish is a one-way door. Publishing a kind 5 deletion request against a request to vanish has no effect. Clients and relays are not obliged to support any "unrequest vanish" feature.

Client kind 62 Tagged relay Other relay Database purged EVENT DELETE Not tagged: no action, event not sent here.
Fig. 62-1 — Targeted vanish. The client sends the request to the tagged relay only. That relay purges the pubkey's history.

2 The Vanish Request Event

Kind 62 requests a specific relay to delete everything from the event's pubkey until the event's created_at. The event has the normal NIP-01 shape:

Wire format - kind 62 request to vanish
{
  "kind": 62,
  "pubkey": <32-byte hex-encoded public key of the event creator>,
  "tags": [
    ["relay", "<relay url>"]
  ],
  "content": "<reason or note>",
  // ...other fields
}
Field and tag reference
ItemRule
kind62. Identifies the event as a request to vanish.
pubkeyThe key that vanishes. Only this key's own signature can request its erasure.
created_atUpper bound of the purge. The relay deletes the pubkey's events up to this timestamp.
relayTag. The tag list MUST include at least one relay value. The value is a relay URL, or ALL_RELAYS (see §4).
contentMAY include a reason or a legal notice to the relay operator.

Clients SHOULD send this event to the target relays only. Do not broadcast a targeted request to relays that it does not name.

3 Relay Obligations

A relay acts only when its own service URL is tagged in the event. When it is tagged, these rules apply:

  • The relay MUST fully delete any events from the pubkey. This includes the pubkey's NIP-09 deletion events.
  • The relay SHOULD delete all NIP-59 gift wraps that p-tagged the pubkey. This deletes all DMs sent to the pubkey.
  • The relay MUST ensure the deleted events cannot be re-broadcasted into the relay.
  • The relay MAY store the signed request to vanish for bookkeeping.
  • Paid relays, and relays that restrict who can post, MUST also follow the request. The user's status does not matter.
Hint!

Why delete old kind 5 deletion events too? A deletion event names the event IDs it deleted. Those IDs are part of the key's fingerprint. A full reset must remove them as well.

Tech Note

The purge is bounded by the request's created_at, but the re-broadcast ban has no stated time bound or expiry. The spec also gives no rule for matching the tagged relay URL against the relay's own URL (trailing slash, scheme, case). Implementations must decide both points themselves.

Client Relay ["EVENT", {kind:62, tags:[["relay","wss://…"]]}] ["OK", <id>, true, ""] Relay deletes the pubkey's events and its kind-5 history. It should also drop gift wraps p-tagging the pubkey. ["EVENT", <old deleted event>] (re-broadcast attempt) ["OK", <id>, false, "blocked: pubkey vanished"] Deleted events must never re-enter the relay.
Fig. 62-2 — Purge and re-broadcast ban. The relay erases the history, then keeps the door shut.

4 Global Request to Vanish

A user can ask ALL relays to delete everything. The event MUST then include a relay tag with the value ALL_RELAYS, in uppercase:

Wire format - global request to vanish
{
  "kind": 62,
  "pubkey": <32-byte hex-encoded public key of the event creator>,
  "tags": [
    ["relay", "ALL_RELAYS"]
  ],
  "content": "<reason>",
  // ...other fields
}

Delivery flips for the global form. Clients SHOULD broadcast this event to as many relays as possible. Every supporting relay that receives it applies the rules of §3 to itself.

5 Worked Example

Alice retires her key. She sends a targeted request to her main relay, then a global request everywhere. Orange lines go to the relay. Blue lines come from the relay.

Session transcript - wss://relay.example.com
-- targeted vanish, sent to the tagged relay only --
→ ["EVENT", {"id":"7fe2ab91cd…","pubkey":"a1ce55aa…","created_at":1750000000,
     "kind":62,"tags":[["relay","wss://relay.example.com"]],
     "content":"Please erase my history. Formal notice under local privacy law.",
     "sig":"c04d1189…"}]
← ["OK", "7fe2ab91cd…", true, ""]
-- relay purges every event by a1ce55aa…, plus gift wraps p-tagging her --

-- Bob tries to re-broadcast one of Alice's old notes --
→ ["EVENT", {"id":"3b9dd410ef…","pubkey":"a1ce55aa…","kind":1, …}]
← ["OK", "3b9dd410ef…", false, "blocked: this pubkey has vanished"]

-- global vanish, broadcast to as many relays as possible --
→ ["EVENT", {"id":"911c07be22…","pubkey":"a1ce55aa…","created_at":1750000060,
     "kind":62,"tags":[["relay","ALL_RELAYS"]],
     "content":"Goodbye, nostr.","sig":"88af02c1…"}]
← ["OK", "911c07be22…", true, ""]

6 Version History

NIP-62 is a young and stable spec. It arrived in 2025 and has changed little since. Notable changes, newest first:

  • 20262026-06Formatting pass by fiatjaf: code fences relabeled from jsonc to yaml.
  • 20252025-12The relay tag became the explicit target selector, with ALL_RELAYS for the global form.
  • Origin2025-02Vitor Pamplona proposed the spec as "Right to Vanish" and it merged as NIP-62.

Original Proposal - Credits

AuthorVitor Pamplona
First commit2025-02-18 — “Right to Vanish” (PR #1256)
Statusdraft - optional — a relay feature; supporters must truly delete
Source62.md on GitHub - full change history

7 See Also

  • NIP-01 — the base event format and the EVENT/OK flow used here.
  • NIP-09 — kind 5 deletion requests for single events; vanish erases these too.
  • NIP-59 — gift wraps; relays should drop wraps p-tagging a vanished pubkey.
  • NIP-11 — the relay information document, where a relay can advertise supported NIPs.