upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/09.md
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2024-08-15 16:34:52 -0500
committerGitHub <noreply@github.com>2024-08-15 16:34:52 -0500
commit2c7e2af15fbdf09bec5c673a56010797f02f206f (patch)
treebc8b1b5ae667d3d38f3c042b1979a4f0a432c434 /09.md
parent645a562a8b870a41fd953a422e171b33f74aef07 (diff)
parent0ee877275a339d7a29915ddb6a4b37feb714c61d (diff)
Merge pull request #1425 from tyiu/rename-delete-to-retract
Update NIP-09 to rename to deletion request
Diffstat (limited to '09.md')
-rw-r--r--09.md24
1 files changed, 13 insertions, 11 deletions
diff --git a/09.md b/09.md
index b6aa72c..e1be542 100644
--- a/09.md
+++ b/09.md
@@ -1,14 +1,14 @@
1NIP-09 1NIP-09
2====== 2======
3 3
4Event Deletion 4Event Deletion Request
5-------------- 5--------------
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9A special event with kind `5`, meaning "deletion" is defined as having a list of one or more `e` or `a` tags, each referencing an event the author is requesting to be deleted. Deletion requests SHOULD include a `k` tag for the kind of each event being deleted. 9A special event with kind `5`, meaning "deletion request" is defined as having a list of one or more `e` or `a` tags, each referencing an event the author is requesting to be deleted. Deletion requests SHOULD include a `k` tag for the kind of each event being requested for deletion.
10 10
11The event's `content` field MAY contain a text note describing the reason for the deletion. 11The event's `content` field MAY contain a text note describing the reason for the deletion request.
12 12
13For example: 13For example:
14 14
@@ -28,24 +28,26 @@ For example:
28} 28}
29``` 29```
30 30
31Relays SHOULD delete or stop publishing any referenced events that have an identical `pubkey` as the deletion request. Clients SHOULD hide or otherwise indicate a deletion status for referenced events. 31Relays SHOULD delete or stop publishing any referenced events that have an identical `pubkey` as the deletion request. Clients SHOULD hide or otherwise indicate a deletion request status for referenced events.
32 32
33Relays SHOULD continue to publish/share the deletion events indefinitely, as clients may already have the event that's intended to be deleted. Additionally, clients SHOULD broadcast deletion events to other relays which don't have it. 33Relays SHOULD continue to publish/share the deletion request events indefinitely, as clients may already have the event that's intended to be deleted. Additionally, clients SHOULD broadcast deletion request events to other relays which don't have it.
34 34
35When an `a` tag is used, relays SHOULD delete all versions of the replaceable event up to the `created_at` timestamp of the deletion event. 35When 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.
36 36
37## Client Usage 37## Client Usage
38 38
39Clients MAY choose to fully hide any events that are referenced by valid deletion 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 reason, not the original content. 39Clients 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.
40 40
41A client MUST validate that each event `pubkey` referenced in the `e` tag of the deletion request is identical to the deletion request `pubkey`, before hiding or deleting any event. Relays can not, in general, perform this validation and should not be treated as authoritative. 41A client MUST validate that each event `pubkey` referenced in the `e` tag of the deletion request is identical to the deletion request `pubkey`, before hiding or deleting any event. Relays can not, in general, perform this validation and should not be treated as authoritative.
42 42
43Clients display the deletion event itself in any way they choose, e.g., not at all, or with a prominent notice. 43Clients display the deletion request event itself in any way they choose, e.g., not at all, or with a prominent notice.
44
45Clients MAY choose to inform the user that their request for deletion does not guarantee deletion because it is impossible to delete events from all relays and clients.
44 46
45## Relay Usage 47## Relay Usage
46 48
47Relays MAY validate that a deletion event only references events that have the same `pubkey` as the deletion itself, however this is not required since relays may not have knowledge of all referenced events. 49Relays MAY validate that a deletion request event only references events that have the same `pubkey` as the deletion request itself, however this is not required since relays may not have knowledge of all referenced events.
48 50
49## Deleting a Deletion 51## Deletion Request of a Deletion Request
50 52
51Publishing a deletion event against a deletion has no effect. Clients and relays are not obliged to support "undelete" functionality. 53Publishing a deletion request event against a deletion request has no effect. Clients and relays are not obliged to support "unrequest deletion" functionality.