mosparo - the modern spam protection
Tags: webforms, webdev, opensource, spamprotection
Published: 2023-08-30 13:44:31

_mosparo was founded in May 2021. We needed spam protection for a form on the homepage of a website. Because of data privacy, we wanted a self-hosted solution. So we started to search for spam protection solutions. While there are some solutions, a lot of these solutions use either a puzzle to recognize humans or are built into a system and are not available everywhere.

After some more research, we found that these puzzle solutions do not work for people with disabilities and are, therefore, not accessible. Today, every website should be accessible – but when you have a form, you must decide between accessibility, data privacy, and spam.

Because of this experience, we started to think about a new spam protection system that solves the problems with accessibility and data privacy and is free to use and installable on every regular web hosting.

mosparo – the modern spam protection – was born._

[Intro Video](https://www.youtube.com/watch?v=c8fmUkjKb7g&t=8s)

**How does mosparo work?**
The most important question of this project is: how does mosparo detect spam? Well, it’s pretty simple: mosparo works with rules. These rules can, for example, be words not used in regular form submissions. If someone tries to submit spam to you, this robot (it could also be a person, but it’s most likely a robot) has to enter the spam content. mosparo checks the content based on the rules. If enough rules match the submission, mosparo will block the submission.

A simple example
We have a website for our restaurant with a contact form. The contact form uses mosparo. We’ve added the words “luxury” and “watches” as rules in mosparo since these two words usually are not used in our restaurant.

At some point, a robot visits our website and wants to submit a spam message. The robot uses a text in which he intends to sell luxury watches. When the robot tries to submit the form, mosparo detects “luxury” and “watches” since we added these two words as rules in mosparo, the robot will not be able to submit the submission.

**How is mosparo accessible?**
mosparo does not use any form of a puzzle. Additionally, mosparo uses only standard HTML elements, which are fully detectable and understandable by Screen Readers.

For humans, mosparo is only one click, touch, or press to complete the spam protection and another click, touch, or press to submit the form.

**What about data privacy?**
In general, mosparo uses only the data the user entered in the form fields. With that, we only process data which the user gave you anyways. Additionally, mosparo stores the IP address and browser user agent. mosparo does not process any hidden data and does not use any cookies.

**What else can mosparo?**
In mosparo, you can enable a honey pot field, which can additionally help to protect your form from spam.
You can also enable a minimum time for the user or robot to fill out the form. Robots usually fill out your form within seconds – humans usually need longer to type all the data in your form.
mosparo also has an automatic delay and blocking feature. With these features, you can delay or stop the user for a specific time if the user fills out the form multiple times. Multiple spam submissions from the same user within a short time can be stopped or at least limited with these features.
You can customize the mosparo box in your form. You can choose all the colors, the general size, and other details about the box, which will be displayed in your form. Since it’s a standard HTML element in your website, you could also use CSS rules to adjust it even more.
mosparo is based on projects. This means that you can use one mosparo installation for multiple websites. You create a new project for a new website and connect the website with your mosparo installation.
It is possible to import rules from a remote source. mosparo will automatically refresh these remote sources to get the latest changes.
With the use of GeoIP2, mosparo can resolve an IP address and display its provider and country.

**Which types of rules can I create?**
The following rule types are available in mosparo to create rules:

Domain (which will be searched for in URL or Email fields)
Email address
IP address (IPv4 and IPv6): IP or subnet
Provider: AS number or country (GeoIP2 required)
Unicode block (Rate the usage of a Unicode block, for example, currency symbols)
User-agent: text or Regular Expression
Website (Complete URL in URL field or textarea)
Word: text or Regular Expression

**What about languages?**
The frontend box, which will be visible in your form, is available in 26 languages (full list).

The backend interface to manage the settings and the rules is fully available in

English
Czech
German
Indonesian
You can find all the information if you want to help translate mosparo into more languages here.

**Where can I use mosparo?**
Hosting

To install mosparo on your web hosting, you need a subdomain (or domain), PHP 8.1.10 or newer, a MySQL database (MySQL or MariaDB), and some disk space (less than 100 MB) (see the information below).

API clients

We have API clients available for the following languages:

JavaScript
PHP
Python
Plugins

We have integrations available for the following systems:

Django (Beta)
Drupal (Beta)
Mautic (Beta)
osTicket
Symfony Bundle (maintained by Arnaud Ritti)
WordPress

Additional information regarding the hosting requirements: mosparo is a standalone software. You install it on your web hosting, and it is not directly integrated or connected with your website where you want to use mosparo. The requirements listed above are only required for the mosparo standalone installation. Your website can use a completely different environment, a different web hosting, on the other side of the earth, also without a database, and connect to mosparo via the mosparo API.

**What is the price to use mosparo?**
mosparo, in general, is free to use for everybody and everything. It doesn’t matter if you’re using mosparo for your private blog or the online shop of a commercial company. Our main priority is to stop spam and make the web more secure and accessible.

You can help us extend mosparo, fix bugs, or optimize the documentation. You’ll find more information on how to help on our contribution page.

**Check out mosparo on [mosparo.io](mosparo.io)**