How are relay operators handling content reports from users? There’s the nip-56 message of type 1984 which allows for reporting. But how are people handling those reports? Do any of the nostr apps provide tools for that?

I wonder if most relay operators are ignoring the messages and app developers are telling apple and google that their apps aren’t responsible because the reports are being sent to relays. This solution works until an App Store / Google Play reviewer tries to post content which violates the rules and checks to see if relays act upon it. But eventually, sooner or later, it’ll stop working.

Reply to this note

Please Login to reply.

Discussion

How do they even check tho? 🤔

Notes are not encrypted. Only direct messages are (kind4). So relay operators are aware of what they are distributing.

They post something and then report it and look at the response.

Client devs would likely move to only app stores such as F-droid and/or directly providing the Android APKs. As well as the iOS .IPAs for side-loading. If it came down to that.

IPA loading only works for jailbroken iOS devices. So effectively only apps that did enforce a policy would be allowed.

Nah, you can use AltStore to sideload them 😎

https://altstore.io/

I was wondering about content moderation too! Effectively clients will have to follow the content rules of the relays that they use. We should probably be thankful that CSAM isn’t being distributed here.

How did you propose to moderate in SSB in similar conditions?

With planetary.social we have the app allow for reporting of content to zendesk and then the posts can be evaluated for the TOS and if they violate the hashes of messages or identities can be added to a block list. The app phones home occasionally to check the block list and won’t download or display content on that list. You can take your keys to another app and see the content if you want.

Can you tell me how you implemented this ?

The block list is just a table in Postgres with hashes of banned user IDs or post IDs. There's a Google Cloud Function to query it with an API key. The Planetary iOS app then checks the hash of each message and author ID against the ban list before writing it to its own SQL database. Here's the iOS code: https://github.com/planetary-social/planetary-ios/blob/main/Source/GoBot/GoBot.swift#L1230

Clients are the ones with AppStore requirements, not relay operators. They’re the ones who have to work to the guidelines as best they can in an environment where they don’t control the underlying and yeah it probably won’t last forever tbh.

That sounds good in theory but that’s now how the AppStore rules work. As far as the AppStore / play store reviewers are concerned there is no such thing as decentralization. There is no exception in the rules for decentralized user generated content. They don’t care how the protocol works or that the client developers don’t control or specify the relays.

Either client devs comply with the rules or you can’t distribute to iOS at all or to the main google play appstore.

The shell game of sending reports to relay operators who never look at them or take action isn’t going to last. App Store rules are not based on a legal system, it’s an economic market place like a shopping mall, and we don’t even get to see the full rule list much less is there any right to due process or appeal.

So in the interest of client devs and the idea of having nostr clients in the AppStores. Can we come up with a way for relay operators to handle reports?

How is this policy any different from what has occurred on ActivityPub or similar services?