Spam & Filtering¶
Spam resistance is a core design goal of Azzamo relays.
The goal is not to censor opinions, but to reduce automated noise, abuse, and low-effort flooding that makes Nostr unusable at scale.
Why spam filtering exists¶
Open write access on Nostr relays leads to predictable problems:
- Automated spam and scams
- Mass reposting and reply flooding
- Low-effort advertising
- Resource exhaustion
Without filtering, relay performance and user experience degrade quickly.
Azzamo treats spam resistance as infrastructure, not moderation theater.
Layered approach¶
Azzamo uses multiple layers of filtering rather than a single rule.
Each layer removes a class of abuse while minimizing false positives.
Payment-based write access¶
The first and most important filter is economic.
- Writing to the premium relay requires active premium time
- Premium time is paid using Bitcoin Lightning
- Automated abuse becomes expensive
This does not block anyone from reading or following users elsewhere on Nostr.
Rate limiting¶
Free relay endpoints apply rate limits.
- Limits are per public key
- Burst limits protect against floods
- Sustained abuse is automatically throttled
Rate limits are tuned to allow normal usage while blocking automation.
Web of Trust filtering¶
Azzamo uses Web of Trust–based rules for importing and prioritizing events.
- Events from trusted public keys are prioritized
- Unknown or low-trust sources may be delayed or filtered
- Trust is based on observed network relationships, not manual lists
This improves signal quality without requiring global blocklists.
Client-side compatibility¶
Filtering on Azzamo relays does not replace client-side controls.
- Clients remain free to apply their own filters
- Muting, blocking, and content warnings still work
- Users can connect to additional relays freely
Azzamo filtering complements client behavior rather than overriding it.
What is considered spam¶
Examples of behavior that may be filtered or limited:
- Automated posting at high frequency
- Repeated identical or near-identical content
- Large-scale unsolicited advertising
- Scam or phishing campaigns
- Resource abuse intended to degrade service
Normal conversation, criticism, and controversial opinions are not considered spam by default.
What is not filtered¶
Azzamo does not filter based on:
- Political views
- Personal opinions
- Client choice
- Network affiliation
Filtering is based on behavior and impact, not ideology.
Enforcement behavior¶
Most enforcement is automatic.
- Rate limits and filters apply silently
- No manual review is required for normal cases
- Severe or repeated abuse may trigger stronger limits
In cases involving coordinated abuse or harm, additional tooling such as the Ban API may be used.
Trade-offs¶
Spam resistance always involves trade-offs.
Azzamo intentionally prioritizes:
- Network health over unlimited free writes
- Predictable behavior over maximal permissiveness
- Economic friction over manual moderation
Users who want fully unfiltered environments can and should use other relays alongside Azzamo.
Related sections¶
- Free vs Premium access
- Azzamo Premium overview
- Moderation and Trust
- Ban API overview