mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-08-27 20:50:46 -04:00
01.md
02.md
03.md
04.md
05.md
06.md
07.md
08.md
09.md
10.md
11.md
12.md
13.md
14.md
15.md
16.md
17.md
18.md
19.md
20.md
21.md
22.md
23.md
24.md
25.md
26.md
27.md
28.md
29.md
30.md
31.md
32.md
33.md
34.md
35.md
36.md
37.md
38.md
39.md
40.md
42.md
44.md
45.md
46.md
47.md
48.md
49.md
50.md
51.md
52.md
53.md
54.md
55.md
56.md
57.md
58.md
59.md
60.md
61.md
62.md
64.md
65.md
66.md
68.md
69.md
70.md
71.md
72.md
73.md
75.md
78.md
7D.md
84.md
86.md
88.md
89.md
90.md
92.md
94.md
96.md
98.md
99.md
BREAKING.md
C0.md
C7.md
README.md
109 lines
3.1 KiB
Markdown
109 lines
3.1 KiB
Markdown
NIP-56
|
|
======
|
|
|
|
Reporting
|
|
---------
|
|
|
|
`optional`
|
|
|
|
A report is a `kind 1984` event that signals to users and relays that
|
|
some referenced content is objectionable. The definition of objectionable is
|
|
obviously subjective and all agents on the network (users, apps, relays, etc.)
|
|
may consume and take action on them as they see fit.
|
|
|
|
The `content` MAY contain additional information submitted by the entity
|
|
reporting the content.
|
|
|
|
Tags
|
|
----
|
|
|
|
The report event MUST include a `p` tag referencing the pubkey of the user you
|
|
are reporting.
|
|
|
|
If reporting a note, an `e` tag MUST also be included referencing the note id.
|
|
|
|
A `report type` string MUST be included as the 3rd entry to the `e`, `p` or `x` tag
|
|
being reported, which consists of the following report types:
|
|
|
|
- `nudity` - depictions of nudity, porn, etc.
|
|
- `malware` - virus, trojan horse, worm, robot, spyware, adware, back door, ransomware, rootkit, kidnapper, etc.
|
|
- `profanity` - profanity, hateful speech, etc.
|
|
- `illegal` - something which may be illegal in some jurisdiction
|
|
- `spam` - spam
|
|
- `impersonation` - someone pretending to be someone else
|
|
- `other` - for reports that don't fit in the above categories
|
|
|
|
Some report tags only make sense for profile reports, such as `impersonation`.
|
|
|
|
- `x` tags SHOULD be info hash of a blob which is intended to be report. when the `x` tag is represented client MUST include an `e` tag which is the id of the event that contains the mentioned blob. also, additionally these events can contain a `server` tag to point to media servers which may contain the mentioned media.
|
|
|
|
`l` and `L` tags MAY be also be used as defined in [NIP-32](32.md) to support
|
|
further qualification and querying.
|
|
|
|
Example events
|
|
--------------
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 1984,
|
|
"tags": [
|
|
["p", "<pubkey>", "nudity"],
|
|
["L", "social.nos.ontology"],
|
|
["l", "NS-nud", "social.nos.ontology"]
|
|
],
|
|
"content": "",
|
|
// other fields...
|
|
}
|
|
```
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 1984,
|
|
"tags": [
|
|
["e", "<eventId>", "illegal"],
|
|
["p", "<pubkey>"]
|
|
],
|
|
"content": "He's insulting the king!",
|
|
// other fields...
|
|
}
|
|
```
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 1984,
|
|
"tags": [
|
|
["p", "<impersonator pubkey>", "impersonation"]
|
|
],
|
|
"content": "Profile is impersonating nostr:<victim bech32 pubkey>",
|
|
// other fields...
|
|
}
|
|
```
|
|
|
|
```jsonc
|
|
{
|
|
"kind": 1984,
|
|
"tags": [
|
|
["x", "<blob hash>", "malware"],
|
|
["e", "<event id which contains the blob on x tag>", "malware"],
|
|
["server", "https://you-may-find-the-blob-here.com/path-to-url.ext"]
|
|
],
|
|
"content": "This file contains malware software in it.",
|
|
// other fields...
|
|
}
|
|
```
|
|
|
|
Client behavior
|
|
---------------
|
|
|
|
Clients can use reports from friends to make moderation decisions if they
|
|
choose to. For instance, if 3+ of your friends report a profile for `nudity`,
|
|
clients can have an option to automatically blur photos from said account.
|
|
|
|
|
|
Relay behavior
|
|
--------------
|
|
|
|
It is not recommended that relays perform automatic moderation using reports,
|
|
as they can be easily gamed. Admins could use reports from trusted moderators to
|
|
takedown illegal or explicit content if the relay does not allow such things.
|