Supervision
App store rules
Google Play and other similar app stores have rules for apps that display users’
content:
- The app must publish rules for users’ content that comply with Google Play’s
own rules. This means that they must prohibit spam, violations of the law,
threats, etc. When registering, the user must agree to these rules.
- The user must be able to block content they do not want to see.
- The user must be able to report content that violates the rules, and the report
must be reviewed and, if the rules are indeed violated, the content must stop
being displayed.
In the case of Moera, point 3 had to be thought about for an obvious reason: the
network is decentralized, there is no supervisor over it, and there is not even
a physical possibility to delete content from it.
Therefore, the following solution was proposed, which seems quite reasonable,
preserves decentralization and freedom in the network, and is quite universal.
- For each app in the network, a special user will appear, called the “app
sheriff”. Such sheriffs can also be created for other purposes, but for now let’s
focus on Google Play. An app installed not through Google Play will be free of
restrictions.
- A user who wants their blog to be visible through the app must approve the
supervision of their blog by the sheriff. This means that the sheriff has extended
access to all content, except private (“Only me”) content, and the node must obey
the sheriff’s orders. Blogs that have not approved the supervision will not be
visible through the app.
- At the moment, there is only one type of order: to place a sheriff’s mark on
the specified post or comment. This mark is saved and returned to the client upon
request. The app, seeing this mark, hides the corresponding post or comment. At
the same time, in other apps, on other platforms, these posts and comments will
remain visible.
- In the menu of posts and comments, when viewed through the app, there is an
item “Report…”. With it, one can send a sheriff a report of a violation of the
rules, indicating the type of violation and an additional comment.
- All complaints are public by default. The user can ask that their
complaint not be shown to everyone; in that case, the complaint will be hidden until the
sheriff makes a decision. Further hiding of the complaint is at the discretion of
the sheriff, but, as a rule, the sheriff will hide the complaint only in
exceptional cases.
- Naturally, the review of the complaint and the sheriff’s order are accompanied
by sending notifications to everyone involved.
- The sheriff’s node also stores a list of users whose comments the sheriff has
banned from showing everywhere, without making a decision on each individual
comment. Nodes that have approved the supervision check this list and place a
sheriff’s mark on the comments of all users included in the list.
Thus, the requirements of Google Play will be met, but to the minimum necessary
extent and at the discretion of the network participants. And there will always
be alternatives: access through a browser, installation from an APK or from other
stores where these restrictions will not exist.
And, of course, if desired, any group of users can come together, elect a sheriff
and give him the right to supervise their content. Moera does not restrict users
in their right to self-moderation or the voluntary choice of an external moderator.
Malware detection
Now that posts and comments may have arbitrary files attached to them, not only
pictures, malicious files may be attached as well. This problem is real, and it
should be solved in a Moera way, without concentrating too much power in one
place.
It is impossible to detect every malicious file at the moment of upload. But it
is possible to maintain databases of known malware and block such files from
being downloaded. For this purpose, a special account called the “Security
Guard” may store such a database in the form of file hashes, and others may
check files against it. There may be many such databases, and every user may
decide which of them to trust, whether to connect to one of them, to several of
them, or to none at all.
Who should perform the check, and when? It is hard to organize this on the
client device. The node where the file is stored cannot be trusted either,
because it may distribute malicious files intentionally. So the most reasonable
place to perform the check is the home node.
Every attached file that you are going to download is first passed through your
home node. There it is checked against the databases you have chosen. If the
check is successful, the file becomes available for downloading. This may take
some time, but it is the price of safety.
In the future, more advanced protection systems may be installed on the home
node. The Security Guard may also proactively search the network for files and
check them. Many approaches are possible.
Spam
If you allow anybody to comment, some heuristics can help you to avoid
spam comments: for example, you may not allow users without registered
names or with names registered not so long ago to comment or to put
links in comments. Or you can use spam lists.
A spam list is a service located on a separate host. It works as
follows:
- You connect your home node to the service.
- When you see somebody posting spam, you press a “Spam” button.
- The name of the user and his signed comment are sent to the service.
- If several people complain about the same user, he is added to the
spam list. He is sent a notification about this.
- Your node subscribes to the spam list updates and blocks all users in
the list from posting anything on your node.
- The user may appeal to the service to be excluded from the list. The
signed copies of his comments are used as a proof.
- The nodes that sent false spam complaints too many times may be banned
from using the service.
There may be many different services that use various definitions of
“unwanted behavior.” You may choose which of them to trust.
* These pages describe the planned functionality. The current implementation may lack
a part of it.