NIP-56: Reporting (#205)

Co-authored-by: Semisol <45574030+Semisol@users.noreply.github.com>
Co-authored-by: Leo Wandersleb <leo@leowandersleb.de>
This commit is contained in:
William Casarin 2023-02-07 13:15:38 -08:00 committed by GitHub
parent b99ca748c8
commit f9e38ed00f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 84 additions and 0 deletions

82
56.md Normal file
View File

@ -0,0 +1,82 @@
NIP-56
======
Reporting
---------
`draft` `optional` `author:jb55`
A report is a `kind 1984` note that is used to report other notes for spam,
illegal and explicit content.
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` or `p` tag
being reported, which consists of the following report types:
- `nudity` - depictions of nudity, porn, etc.
- `profanity` - profanity, hateful speech, etc.
- `illegal` - something which may be illegal in some jurisdiction
- `spam` - spam
- `impersonation` - someone pretending to be someone else
Some report tags only make sense for profile reports, such as `impersonation`
Example events
--------------
```json
{
"kind": 1984,
"tags": [
[ "p", <pubkey>, "nudity"]
],
"content": "",
...
}
{
"kind": 1984,
"tags": [
[ "e", <eventId>, "illegal"],
[ "p", <pubkey>]
],
"content": "He's insulting the king!",
...
}
{
"kind": 1984,
"tags": [
[ "p", <impersonator pubkey>, "impersonation"],
[ "p", <victim pubkey>]
],
"content": "Profile is imitating #[1]",
...
}
```
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 as explicit,
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.

View File

@ -30,6 +30,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
- [NIP-40: Expiration Timestamp](40.md) - [NIP-40: Expiration Timestamp](40.md)
- [NIP-42: Authentication of clients to relays](42.md) - [NIP-42: Authentication of clients to relays](42.md)
- [NIP-50: Keywords filter](50.md) - [NIP-50: Keywords filter](50.md)
- [NIP-56: Reporting](56.md)
- [NIP-65: Relay List Metadata](65.md) - [NIP-65: Relay List Metadata](65.md)
## Event Kinds ## Event Kinds
@ -49,6 +50,7 @@ NIPs stand for **Nostr Implementation Possibilities**. They exist to document wh
| 43 | Channel Hide Message | [28](28.md) | | 43 | Channel Hide Message | [28](28.md) |
| 44 | Channel Mute User | [28](28.md) | | 44 | Channel Mute User | [28](28.md) |
| 45-49 | Public Chat Reserved | [28](28.md) | | 45-49 | Public Chat Reserved | [28](28.md) |
| 1984 | Reporting | [56](56.md) |
| 10002 | Relay List Metadata | [65](65.md) | | 10002 | Relay List Metadata | [65](65.md) |
| 22242 | Client Authentication | [42](42.md) | | 22242 | Client Authentication | [42](42.md) |
| 1000-9999 | Regular Events Reserved | [16](16.md) | | 1000-9999 | Regular Events Reserved | [16](16.md) |