# -*- mode: org; coding: utf-8; -*-
#+TITLE: README for Spotter
* Introduction
Spotter[fn:1] is a moderation protocol for decentralized networks using [[https://github.com/ocapn/ocapn][OCapN]]. It
provides a generalized means of moderating all kinds of user-user interactions
within decentralized networks.
This repo will include the protocol spec (below) as well as a reference
implementation of the protocol using [[https://spritely.institute/goblins/][Goblins]].
* Overview
Spotter revolves around /vouch servers/, which act as the moderation nodes of
the network. A user registers any number of /personas/ with their chosen vouch
server. These personas act as the user's identities on the network. From then
on, in their interactions with other users, registered personas can present
themselves as /vouched for/ by the server. Other users can then use this
information to decide if they trust the user.
If a user does misbehave on the network, other users can report their behavior
to the bad actor's vouch server, which may then choose to /disavow/ their
personas. This prevents the bad actor from presenting their personas as vouched
for by the server, and also notifies their previous connections of the
disavowal.
* Footnotes
[fn:1] "Spotter" is in reference to the common workout practice of enlisting the
help of another gymgoer to oversee potentially hazardous exercises and step in
if something goes poorly. It was also the catchiest thing I (stellarskylark) and
my friends could come up with.