Forum Fortress 🛡️ - a fresh take on forum spam prevention

:information_source: Summary Anti-spam checks for registrations, public posts, edits and supported profile changes
:hammer_and_wrench: Repository Link GitHub - Forum-Fortress/discourse-forum-fortress: Forum Fortress anti-spam protection for Discourse · GitHub
:open_book: Install Guide ForumFortress Discourse Installation Docs

Please note

The plugin for Discourse is currently alpha quality.
While it has been tested against stock Discourse on a real forum, more feedback is required before it can be moved to beta or stable quality.

Features

Forum Fortress is a hosted anti-spam service designed for forum and community software. This plugin integrates it with Discourse and is currently a public alpha.

It complements Discourse’s existing anti-spam tools by checking supported activity throughout an account’s lifecycle, including activity that appears well after registration.

The plugin currently checks:

  • new registrations

  • new public topics and replies

  • reply edits and first-post body/title edits

  • username and name changes

  • bio and website changes

Forum Fortress combines account, network, content, link, reputation and behavioural signals. Checks are made server-to-server before the supported action is accepted, with regional endpoints and retry/fallback handling built into the integration.

Private messages and content in access-restricted categories are not submitted. Staff, system, bot and staged-user activity is also skipped.

No CAPTCHA or browser-side challenge is added. The plugin is designed to give you the option to disable CAPTCHA altogether if you wish, improving accessibility and reducing user friction.

Website: https://forumfortress.com/
Portal demo: Forum Fortress Portal
Privacy: Privacy Policy | Forum Fortress
Licence: GPL-2.0-or-later

Configuration

For a standard self-hosted Docker installation, add the plugin in /var/discourse/containers/app.yml beneath the existing plugin clones in hooks.after_code:

- git clone https://github.com/Forum-Fortress/discourse-forum-fortress.git

Then rebuild:

cd /var/discourse
./launcher rebuild app

Afterwards:

  1. Open Admin → Plugins → Forum Fortress → Dashboard.

  2. Enable Forum Fortress.

  3. Leave the API key blank for automatic provisioning of a new site, or enter an existing key/bootstrap token.

  4. Choose Global, UK, EU or US routing if required.

  5. Run Test connection.

Full Forum Fortress-specific installation, update and removal instructions:

Staging note: localhost and private/non-public IP addresses may not have meaningful real-world reputation data, so staging is useful for validating the integration but may not produce representative allow/block decisions.

Settings

Name Description
forum_fortress_enabled Enables Forum Fortress protection.
forum_fortress_api_key Server-side Forum Fortress API key. May be left blank for automatic provisioning.
forum_fortress_bootstrap_token Optional short-lived token for reconnecting an existing site.
forum_fortress_api_region Selects Global, UK, EU or US routing.
forum_fortress_allow_global_fallback Allows regional checks to fall back to global endpoints.
forum_fortress_timeout Maximum total check time, from 1–30 seconds. Default: 5 seconds.
forum_fortress_fail_open Allows the Discourse action to continue if no Forum Fortress decision can be obtained. Enabled by default.

Additional site/endpoint state is managed automatically by the plugin.

Service plans

The Discourse plugin itself is free and open source.

Forum Fortress has a Free service plan, which is deliberately designed to provide ample protection for small and medium sites, with paid plans for higher allowances and additional features, suitable for commercial sites or busier forums.
All plans use the same protection engine.

Feedback

Bug reports are welcome in this topic or on GitHub:

Please keep API keys and member data out of public reports.

AI Disclosure: The conversion of our existing PHP based plugins to Ruby was assisted with AI tools.

2 likes