Ingo, the "Email Filter Rules Manager", started as a frontend for the Sieve filter language, and is now a generic and complete filter rule frontend that currently is able to create Sieve, procmail, maildrop, and IMAP filter rules.
The IMAP filter driver translates the filter rules on demand to IMAP commands, executed via PHP's IMAP extension and has replaced IMP's internal filtering code. It is now the default filtering agent in IMP H3 (4.x).
Ingo is able to create and eventually run server as well as client filter scripts. The filter script API is flexible enough that any number of filter drivers can be written and "plugged in". Each filter driver exposes it's capabilities to Ingo, that in return adapts its UI to display only those rules and features that the driver can actually handle.
It supports a set of "special" rules that are either translated to their native counterparts of the filter script backend or emulated through filter script commands. These rules are Blacklist, Whitelist, Forwards, and Vacation. Maybe they will replace the existing Horde modules Vacation and Forwards of the Sork suite in the future. These are much older than Ingo and currently support dot-forward, LDAP, SQL, qmail, Mdaemon, and SOAP backends.
Ingo abstracts storage, script, and transport backends. That means that the filter rules in Ingo's internal format can be stored in several places. Currently only Horde's preferences are supported, but SQL or LDAP storage drivers would be easy to write.
The transport backends are responsible for uploading the generated filter scripts to the filter backends, for example to Cyrus' timsieved daemon or through Horde's VFS (Virtual File Storage) API via FTP to the users' home directories or into a SQL database. System administrators are able to switch to a different filter system or script storage at any time and the users' filter rules will persist.