activitypub
activitypub copied to clipboard
Public Addressing vs spam
Section 5.6 reads, in part:
Activities addressed to this special URI shall be accessible to all users, without authentication. ...actors MAY have a sharedInbox endpoint which is available for efficient shared delivery of public posts...
I read this that anybody can send any message to the public address through the sharedInbox, and the server "shall" make it accessible to all users. It has no choice in the matter. How does one implement this in a conformant way without allowing spam through?
One important distinction is AP inbox delivery vs AS2 audience targeting. Audience targeting is complicated, and I won't claim to fully understand it, but it's the part that determines whether (and maybe where) an object or activity is actually surfaced to a given user. For example, if you follow someone, and they post, you see the post in your feed/timeline. If they mention you, you see it in your notifications.
If you deliver a post to a shared inbox, that server will then have it, and show it on its author's profile timeline, but to see it anywhere else, you'd need to follow them, or the post would need to mention you, etc.
(This doesn't mean audience targeting is a spam mitigation technique, of course. It just means that the shared inbox doesn't necessarily "enable" user-visible spam on its own.)
@jernst I don't think anyone expects servers to always deliver every incoming activity. Obviously, some filtering will occur due to blocks, spam filters, or other needs. Section B.6 says:
Spam is a problem in any network, perhaps especially so in federated networks. While no specific mechanism for combating spam is provided in ActivityPub, it is recommended that servers filter incoming content both by local untrusted users and any remote users through some sort of spam filter.
I don't think we need additional text; this seems very clear to me.
We may want to consider in future versions supporting ideas like: naive Bayesian filtering, verifiable credentials, or reputation systems. Lots of interesting experimentation to do on the Fediverse!
I think this is covered. @jernst please let us know if you think this is insufficient.