diff --git a/56.md b/56.md index 1486cdd0..dc6f0983 100644 --- a/56.md +++ b/56.md @@ -106,87 +106,3 @@ 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. - -Domain Protection and Link Safety -======================================= - -This extension to NIP-56 defines standards for domain protection and link safety in Nostr clients. It aims to help clients protect users from unknown, potentially malicious links while also enabling users to make informed decisions should they want to modify client defaults. -Specification - - -### Domain List Event - -A kind `10099` replaceable event for storing user domain preferences: - -```jsonc -{ - "kind": 10099, - "content": "", - "tags": [ - ["d", "domain_lists"], // identifier - ["white", "nostr.build"], - ["white", "void.cat"], - ["black", "malicious-site.net"], - ["black", "scam-domain.com"] - ["unknown", "ask"] // Options: "load" | "block" | "ask" - ] -} -``` - -### Report Event Extension - -Extend kind `1984` events to include domain reporting: - -```jsonc -{ - "kind": 1984, - "tags": [ - ["u", "https://malicious-site.net", "malware"], - ["L", "security.domain.safety"], - ["l", "NS-mal", "security.domain.safety"] - ], - "content": "Domain distributes malware", -} -``` - -Additional Report Types ----------------------- -Add the following report types for domains: -- `ip_grab` - Sites attempting to collect IP addresses -- `redirect` - Unexpected redirects to other domains -- `nsfw_content` - Adult or explicit content -- `phishing` - Fraudulent sites imitating legitimate services - -Client Implementation --------------------- - -### Domain List Management -1. Clients MUST store user domain preferences in kind `10099` events -2. Clients SHOULD NOT show posts containing links tagged as `black` in the user's feed -3. Clients SHOULD provide UI for managing white/blacklisted domains -4. Clients MAY implement an "ask" list for domains requiring user approval - -### Link Processing -1. Clients MUST check all links against user domain lists -2. For whitelisted domains: - - Load content automatically - - Display domain safety indicator -3. For blacklisted domains: - - Display link as plain text only - - Show warning about blocked status - - Provide override option with clear warning -4. For unknown domains: - - Display link with neutral indicator - - Optionally require user confirmation before loading - - Provide quick actions to add to white/blacklist - -### Report Aggregation -1. Clients SHOULD track domain report counts from followed users -2. Clients MAY use report thresholds to suggest domain blocking -3. Clients SHOULD cache domain reports for performance - -Relay Behavior -------------- -1. Relays SHOULD accept and store kind `10099` events -2. Relays MAY maintain aggregated domain report statistics -3. Relays MUST NOT automatically block notes with blacklisted domains based on reports