upleb.uk

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

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Casarin <jb55@jb55.com>2023-02-07 13:15:38 -0800
committerGitHub <noreply@github.com>2023-02-07 18:15:38 -0300
commitf9e38ed00f5b11694ff93c368aacbf47ec21437a (patch)
treebc68c9caafa0902d69cfdf366616c6d089172644
parentb99ca748c8227d2723b5f856b004267b3c122c06 (diff)
NIP-56: Reporting (#205)
Co-authored-by: Semisol <45574030+Semisol@users.noreply.github.com> Co-authored-by: Leo Wandersleb <leo@leowandersleb.de>
-rw-r--r--56.md82
-rw-r--r--README.md2
2 files changed, 84 insertions, 0 deletions
diff --git a/56.md b/56.md
new file mode 100644
index 0000000..55ee1a2
--- /dev/null
+++ b/56.md
@@ -0,0 +1,82 @@
1
2NIP-56
3======
4
5Reporting
6---------
7
8`draft` `optional` `author:jb55`
9
10A report is a `kind 1984` note that is used to report other notes for spam,
11illegal and explicit content.
12
13The content MAY contain additional information submitted by the entity
14reporting the content.
15
16Tags
17----
18
19The report event MUST include a `p` tag referencing the pubkey of the user you
20are reporting.
21
22If reporting a note, an `e` tag MUST also be included referencing the note id.
23
24A `report type` string MUST be included as the 3rd entry to the `e` or `p` tag
25being reported, which consists of the following report types:
26
27- `nudity` - depictions of nudity, porn, etc.
28- `profanity` - profanity, hateful speech, etc.
29- `illegal` - something which may be illegal in some jurisdiction
30- `spam` - spam
31- `impersonation` - someone pretending to be someone else
32
33Some report tags only make sense for profile reports, such as `impersonation`
34
35Example events
36--------------
37
38```json
39{
40 "kind": 1984,
41 "tags": [
42 [ "p", <pubkey>, "nudity"]
43 ],
44 "content": "",
45 ...
46}
47
48{
49 "kind": 1984,
50 "tags": [
51 [ "e", <eventId>, "illegal"],
52 [ "p", <pubkey>]
53 ],
54 "content": "He's insulting the king!",
55 ...
56}
57
58{
59 "kind": 1984,
60 "tags": [
61 [ "p", <impersonator pubkey>, "impersonation"],
62 [ "p", <victim pubkey>]
63 ],
64 "content": "Profile is imitating #[1]",
65 ...
66}
67```
68
69Client behavior
70---------------
71
72Clients can use reports from friends to make moderation decisions if they
73choose to. For instance, if 3+ of your friends report a profile as explicit,
74clients can have an option to automatically blur photos from said account.
75
76
77Relay behavior
78--------------
79
80It is not recommended that relays perform automatic moderation using reports,
81as they can be easily gamed. Admins could use reports from trusted moderators to
82takedown illegal or explicit content if the relay does not allow such things.
diff --git a/README.md b/README.md
index f4ed3d2..225379b 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
30- [NIP-40: Expiration Timestamp](40.md) 30- [NIP-40: Expiration Timestamp](40.md)
31- [NIP-42: Authentication of clients to relays](42.md) 31- [NIP-42: Authentication of clients to relays](42.md)
32- [NIP-50: Keywords filter](50.md) 32- [NIP-50: Keywords filter](50.md)
33- [NIP-56: Reporting](56.md)
33- [NIP-65: Relay List Metadata](65.md) 34- [NIP-65: Relay List Metadata](65.md)
34 35
35## Event Kinds 36## Event Kinds
@@ -49,6 +50,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
49| 43 | Channel Hide Message | [28](28.md) | 50| 43 | Channel Hide Message | [28](28.md) |
50| 44 | Channel Mute User | [28](28.md) | 51| 44 | Channel Mute User | [28](28.md) |
51| 45-49 | Public Chat Reserved | [28](28.md) | 52| 45-49 | Public Chat Reserved | [28](28.md) |
53| 1984 | Reporting | [56](56.md) |
52| 10002 | Relay List Metadata | [65](65.md) | 54| 10002 | Relay List Metadata | [65](65.md) |
53| 22242 | Client Authentication | [42](42.md) | 55| 22242 | Client Authentication | [42](42.md) |
54| 1000-9999 | Regular Events Reserved | [16](16.md) | 56| 1000-9999 | Regular Events Reserved | [16](16.md) |