feat(spam): ship spam detection enabled by default

Make FEATURE_SPAM_DETECTION on by default with opt-out, mirroring
FEATURE_PACKETS: flip the web feature flag's Python default to true and the
Compose substitutions (collector/api/web) to :-true, so the shipped stack
scores and hides likely-spam without configuration. Opt out with
FEATURE_SPAM_DETECTION=false.

Update .env.example, docs/configuration.md and the v0.15 upgrade notes to
describe the feature as enabled-by-default with opt-out.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Louis King
2026-06-23 09:00:16 +01:00
parent db952d632a
commit 461dbc5008
5 changed files with 30 additions and 26 deletions
+9 -8
View File
@@ -286,15 +286,16 @@ DATA_RETENTION_INTERVAL_HOURS=24
# (with a "show potential spam" toggle on the Messages page). Nothing is ever
# dropped; the score is stored and the display layer filters on it.
#
# Off by default. FEATURE_SPAM_DETECTION is the single switch operators set: in
# On by default. FEATURE_SPAM_DETECTION is the single switch operators set: in
# Docker Compose it drives the backend SPAM_DETECTION_ENABLED for the collector
# (scoring + sweep) and the api (hide-filter), and exposes the UI toggle.
# FEATURE_SPAM_DETECTION=false
# (scoring + sweep) and the api (hide-filter), and exposes the UI toggle. Opt out
# by setting it to false.
# FEATURE_SPAM_DETECTION=true
# Backend operational switch, read by the collector + api. Compose derives it from
# FEATURE_SPAM_DETECTION (SPAM_DETECTION_ENABLED=${FEATURE_SPAM_DETECTION}); set it
# directly only when running the services without Compose.
# SPAM_DETECTION_ENABLED=false
# SPAM_DETECTION_ENABLED=true
# Score at/above which a message is treated as likely spam (hidden by default in
# the API, logged at WARNING by the collector). Read by the collector + api.
@@ -585,11 +586,11 @@ SYSTEM_MAINTENANCE=false
# Packets page is ON by default. This var also drives raw-packet capture
# on the collector via Compose (RAW_PACKET_CAPTURE_ENABLED=${FEATURE_PACKETS}).
# FEATURE_PACKETS=true
# Spam detection is OFF by default. This var also drives the backend scoring +
# Spam detection is ON by default. This var also drives the backend scoring +
# hide switch on the collector/api via Compose
# (SPAM_DETECTION_ENABLED=${FEATURE_SPAM_DETECTION}). See the Spam Detection
# section above for the scoring tuning vars.
# FEATURE_SPAM_DETECTION=false
# (SPAM_DETECTION_ENABLED=${FEATURE_SPAM_DETECTION}). Set to false to opt out.
# See the Spam Detection section above for the scoring tuning vars.
# FEATURE_SPAM_DETECTION=true
# -------------------
# Contact Information