STORY
Exploring Anti-spam solutions for Bolt.Fun
AUTHOR
Joined 2022.06.04
DATE
VOTES
sats
COMMENTS

Exploring Anti-spam solutions for Bolt.Fun

The Problem

Currently, when a user posts a story, we automatically & immediately:

- Put this story on our main website feed

- Publish a Nostr post with a link to the story

- Publish a Discord notification with a link to the story

The problem is: when a spammer publishes a spam story, even if we delete it as soon as we see it, it'll already be published in many places (& you can't delete stuff on Nostr)

So we need a better way to handle this.

The solution

There are various approaches that we can take, however, not all of them are without some issues.

1- Only publish a story after an admin sees the story & approves it.

âś… Very secure, no spam will likely slip unnoticed.

âś… Free if the admin is one of us. (& If you don't consider time a currency)

❌ This admin needs to have a very high response rate & always available. If a user publishes his story, but he is not able to share it until the next day or something like that, he will not be very happy.

2- Delay publicly publishing a story for some time ONLY IF it's suspected to be a spam

This reduces the need for human factor to a minimum by introducing a spam-detection service.

After the user publishes a story, it get checked by a spam-detection API.

If it looks good, then it's automatically published on all the public channels.

If it's suspected to be a spam, a notification is sent to the admins on a private discord channel for example asking them to approve/reject this story.

So this way, the admin intervention is only required in the case of a story being suspected as a spam.

I found a few services that seems to be considered good & are not very expensive:

- CleanTalk https://cleantalk.org/universal-antispam

- APILayer SpamChecker https://apilayer.com/marketplace/spamchecker-api

âś… Much less human efforts needed, almost fully automatic.

❌ Not free.

Personally, I prefer the 2nd approach.
I consider time is more expensive than the amount we need to pay for a service (while it's still reasonable of course).

What do you think?