From 83e6e0b4e533e3251945a47adb3aa78b368435a4 Mon Sep 17 00:00:00 2001 From: kehiy Date: Sat, 21 Sep 2024 12:25:34 +0330 Subject: [PATCH] nip09: filter deletation. --- 09.md | 23 +++++++++++++++++++++++ README.md | 1 + 2 files changed, 24 insertions(+) diff --git a/09.md b/09.md index 23ffeab..25b4eb8 100644 --- a/09.md +++ b/09.md @@ -34,6 +34,29 @@ Relays SHOULD continue to publish/share the deletion request events indefinitely When an `a` tag is used, relays SHOULD delete all versions of the replaceable event up to the `created_at` timestamp of the deletion request event. +## Filter Deletation + +A client MAY use `f` tag to provide a filter, relays and clients SHOULD consider deletation of all events matching to this specific filter from this client up to `kind 5` created at. + +For example: +```jsonc +{ + "kind": 5, + "pubkey": <32-bytes hex-encoded public key of the event creator>, + "tags": [ + ["f", "{\"kinds\":[1,7]}"] + ], + "content": "no more text note and reactions.", + // other fields... +} +``` + +The above event requests the deletation of all text notes and reactions from a user. + +### Usages + +User can make complex bulk deletation requests with consuming small space and this bring possiblited to remove ***all posts***, ***direct messages*** or ***delete account***. + ## Client Usage Clients MAY choose to fully hide any events that are referenced by valid deletion request events. This includes text notes, direct messages, or other yet-to-be defined event kinds. Alternatively, they MAY show the event along with an icon or other indication that the author has "disowned" the event. The `content` field MAY also be used to replace the deleted events' own content, although a user interface should clearly indicate that this is a deletion request reason, not the original content. diff --git a/README.md b/README.md index b22f1a3..9deaf34 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | name | value | other parameters | NIP | | ----------------- | ------------------------------------ | ------------------------------- | ------------------------------------- | | `e` | event id (hex) | relay URL, marker, pubkey (hex) | [01](01.md), [10](10.md) | +| `f` | stringified filter object | | [09](09.md) | | `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) | | `a` | coordinates to an event | relay URL | [01](01.md) | | `d` | identifier | -- | [01](01.md) |