# Rspamd documentation project

## Introduction
Rspamd is a fast and advanced spam filtering system. It is based on event-driven processing model
allowing to work with multiple messages simultaneously without blocking anywhere during messages
processing. Rspamd contains various modules shipped in the default distribution and permits to be
extended with the own custom modules and rules written in [Lua](http://lua.org) programming language.
Rspamd uses complex estimation system based on a set of rules, each of those rules has its own score and
the final score of a message is defined by a sum of rules' scores that were true for that message. This approach
is similar to other complex spam filtering systems, such as [SpamAssassin](http://spamassassin.apache.org).
At the same time, rspamd uses fuzzy logic to process unknown messages. That includes fuzzy hashes and 
statistics module.

## Table of Contents
This document contains the basic documentation for rspamd spam filtering system. It is divided into the following
parts:

- [Tutorials](tutorials/) a collection of tutorial like documents for rspamd
- [Architecture](architecture/) presents the architecture of rspamd and how spam filtering is performed
- [Rspamd configuration](configuration/) describes principles of rspamd configuration
- [Modules](modules/) chapter lists rspamd modules and defines their configuration attributes
- [Workers](workers/) section describes workers that are implemented in the rspamd
- [Lua API](lua/) explains how to extend rspamd with own lua modules
- [Migration](migration.md) section contains the list of incompatible changes between rspamd versions and recommendations of how to update your rspamd system. 
