add a readme
This commit is contained in:
83
README.md
Normal file
83
README.md
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
# Baffle WAF
|
||||||
|
|
||||||
|
## Product Positioning
|
||||||
|
Tagline options:
|
||||||
|
|
||||||
|
"Baffle bots. Calm traffic." (playing on both meanings: confuse + quiet)
|
||||||
|
"Confuse bots. Calm infrastructure."
|
||||||
|
"Bewilder bots, silence the chaos"
|
||||||
|
|
||||||
|
## Target market:
|
||||||
|
|
||||||
|
Solo devs/bootstrapped startups (can't afford $249/mo Wafris/Cloudflare)
|
||||||
|
Privacy-conscious/regulated orgs (data sovereignty requirements)
|
||||||
|
Self-hosters (infrastructure control enthusiasts)
|
||||||
|
Cost-sensitive scale-ups (outgrowing free tiers)
|
||||||
|
|
||||||
|
## Business Model (Sidekiq-style)
|
||||||
|
Free (fully functional):
|
||||||
|
|
||||||
|
Ruby/Rack edge agent (2-5ms response time)
|
||||||
|
Local SQLite rules
|
||||||
|
IP blocking, rate limiting, geoblocking
|
||||||
|
Manual rule management
|
||||||
|
Community support
|
||||||
|
|
||||||
|
Pro ($99-149/mo):
|
||||||
|
|
||||||
|
Go edge agent (performance upgrade)
|
||||||
|
SSO / multi-team
|
||||||
|
Centralized hub with traffic analytics
|
||||||
|
Automated rule generation
|
||||||
|
Adaptive sampling (manual 0-100% toggle for hub load management)
|
||||||
|
IP reputation feeds
|
||||||
|
Priority support
|
||||||
|
|
||||||
|
## Key Technical Decisions
|
||||||
|
Traffic categories:
|
||||||
|
|
||||||
|
Blocked - Matched deny rule
|
||||||
|
Allowed - Matched allow rule (fast-path for whitelisted IPs/APIs)
|
||||||
|
Unmatched - No rules, passed through
|
||||||
|
|
||||||
|
## OWASP approach:
|
||||||
|
|
||||||
|
Don't try to compete with ModSecurity's full CRS
|
||||||
|
Focus on network-layer threats (bots, rate limiting, IP reputation)
|
||||||
|
Map to OWASP Top 10 where applicable (A05, A07, partial A01/A03)
|
||||||
|
Position as complementary to app-layer security
|
||||||
|
|
||||||
|
### Killer Feature: Performance Visibility
|
||||||
|
Always-on category timing:
|
||||||
|
|
||||||
|
Track latency by rule type (IP checks, rate limits, regex, etc.)
|
||||||
|
Show real-time impact in dashboard
|
||||||
|
Let users add rules and immediately see performance cost
|
||||||
|
"The only WAF that shows you exactly what your rules cost"
|
||||||
|
|
||||||
|
Why this matters:
|
||||||
|
|
||||||
|
No other WAF does this well
|
||||||
|
Solves "why is my site slow?" blame game
|
||||||
|
Empowers users to make informed tradeoffs
|
||||||
|
Natural deterrent against kitchen-sink rule sets
|
||||||
|
|
||||||
|
## Implementation:
|
||||||
|
|
||||||
|
Start with category-level timing (always on, minimal overhead)
|
||||||
|
Users can experiment: add rule → watch latency → remove if too expensive
|
||||||
|
Can add detailed per-rule profiling later if needed
|
||||||
|
|
||||||
|
## Terminology Settled
|
||||||
|
|
||||||
|
Rule pruning - removing inactive rules for performance
|
||||||
|
Violation/pattern match - when traffic triggers a rule
|
||||||
|
Adaptive sampling - hub telling edges to reduce telemetry load
|
||||||
|
|
||||||
|
## Architecture Clarity
|
||||||
|
Self-hosted only (no SaaS hosting from you):
|
||||||
|
|
||||||
|
Edge agents do forward auth with local SQLite
|
||||||
|
Push telemetry to hub every 10 seconds
|
||||||
|
Hub analyzes and pushes rules back
|
||||||
|
Max 20-second gap between violation and rule deployment
|
||||||
Reference in New Issue
Block a user