{"id":"1968fba59d648647c6a462ecfc9de1549ec862801797698093076fb921e99a52","pubkey":"2b39b4ffe62933df970e19366c22c1e092f953f83fcfed754e0f04d5a3b459f9","created_at":1781353189,"kind":30817,"tags":[["d","nip-56"],["title","NIP-56: Reporting"],["summary","Kind 1984, a report naming content or a key as objectionable, with a type such as nudity, malware or impersonation."],["t","nostr"],["t","nip"],["k","1984","Reporting"],["alt","A specification: NIP-56: Reporting"],["client","openspecs-import"],["published_at","1675804538"],["proxy","https://github.com/nostr-protocol/nips/blob/656cecc7c0a815b6a2b218d3b5d6f078b3f4dbab/56.md","web"],["x","b4425b9e94888eefc06e059460044f652127ff5715c52a14f45aee1e754a5d39"]],"content":"NIP-56\n======\n\nReporting\n---------\n\n`optional`\n\nA report is a `kind 1984` event that signals to users and relays that \nsome referenced content is objectionable. The definition of objectionable is\nobviously subjective and all agents on the network (users, apps, relays, etc.) \nmay consume and take action on them as they see fit.\n\nThe `content` MAY contain additional information submitted by the entity\nreporting the content.\n\nTags\n----\n\nThe report event MUST include a `p` tag referencing the pubkey of the user you\nare reporting.\n\nIf reporting a note, an `e` tag MUST also be included referencing the note id.\n\nA `report type` string MUST be included as the 3rd entry to the `e`, `p` or `x` tag\nbeing reported, which consists of the following report types:\n\n- `nudity` - depictions of nudity, porn, etc.\n- `malware` - virus, trojan horse, worm, robot, spyware, adware, back door, ransomware, rootkit, kidnapper, etc.\n- `profanity` - profanity, hateful speech, etc.\n- `illegal` - something which may be illegal in some jurisdiction\n- `spam` - spam\n- `impersonation` - someone pretending to be someone else\n- `other` - for reports that don't fit in the above categories\n\nSome report tags only make sense for profile reports, such as `impersonation`.\n\n- `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.\n\n`l` and `L` tags MAY be also be used as defined in [NIP-32](nostr:naddr1qvzqqqrcvypzq2eeknl7v2fnm7tsuxfkds3vrcyjl9fls070a465urcy6k3mgk0eqqrxu6ts95enyvx7lal) to support\nfurther qualification and querying.\n\nExample events\n--------------\n\n```yaml\n{\n  \"kind\": 1984,\n  \"tags\": [\n    [\"p\", \"<pubkey>\", \"nudity\"],\n    [\"L\", \"social.nos.ontology\"],\n    [\"l\", \"NS-nud\", \"social.nos.ontology\"]\n  ],\n  \"content\": \"\",\n  // other fields...\n}\n```\n\n```yaml\n{\n  \"kind\": 1984,\n  \"tags\": [\n    [\"e\", \"<eventId>\", \"illegal\"],\n    [\"p\", \"<pubkey>\"]\n  ],\n  \"content\": \"He's insulting the king!\",\n  // other fields...\n}\n```\n\n```yaml\n{\n  \"kind\": 1984,\n  \"tags\": [\n    [\"p\", \"<impersonator pubkey>\", \"impersonation\"]\n  ],\n  \"content\": \"Profile is impersonating nostr:<victim bech32 pubkey>\",\n  // other fields...\n}\n```\n\n```yaml\n{\n  \"kind\": 1984,\n  \"tags\": [\n    [\"x\", \"<blob hash>\", \"malware\"],\n    [\"e\", \"<event id which contains the blob on x tag>\", \"malware\"],\n    [\"server\", \"https://you-may-find-the-blob-here.com/path-to-url.ext\"]\n  ],\n  \"content\": \"This file contains malware software in it.\",\n  // other fields...\n}\n```\n\nClient behavior\n---------------\n\nClients can use reports from friends to make moderation decisions if they\nchoose to. For instance, if 3+ of your friends report a profile for `nudity`,\nclients can have an option to automatically blur photos from said account.\n\n\nRelay behavior\n--------------\n\nIt is not recommended that relays perform automatic moderation using reports,\nas they can be easily gamed. Admins could use reports from trusted moderators to\ntakedown illegal or explicit content if the relay does not allow such things.\n","sig":"91d86d9dcad42b0c30453c90a85a9a85c523c8f994a42995331f10e02c63e43c7ca4ae1e4abf9116f7e5b35172b384e33aea0e7fe994a4e5a62738d3c451fc7e"}