Skip to content
SafeLine

SafeLine

NEW
Category: RASP
License: GPL-3.0
Suphi Cankurt
Suphi Cankurt
+8 Years in AppSec
Updated July 16, 2026
5 min read
Key Takeaways
  • SafeLine detects attacks by parsing HTTP semantics rather than matching regex signatures. Its own published benchmark puts the false-positive rate at 0.07% in Balance mode, with no rule set to tune.
  • GPL-3.0 and self-hosted — the free Personal edition covers 10 applications with no time limit, and paid tiers start at $10/month with pricing published openly.
  • It is a reverse proxy, not an in-process agent. SafeLine sits in front of the app like a WAF; it does not see code execution the way RASP does.
  • The commercial operator changed: SafePoint is now run by CyberServal, while the code still lives at github.com/chaitin/SafeLine.

SafeLine is a self-hosted, open-source WAF that runs as a reverse proxy in front of your web applications. It carries roughly 21.8k GitHub stars under GPL-3.0.

The project comes from Chaitin, a Chinese security vendor, which describes it as the No.1 WAF project on GitHub.

Its distinguishing idea is the detection engine. Rather than matching regular expressions against requests, SafeLine parses the semantics of HTTP traffic to decide whether a request is an attack.

SafeLine WAF dashboard showing access and blocked request counts, a geographic traffic map, and access and block status charts
The dashboard counts access, blocked, and attack traffic, with a geographic map and access/block trend charts over 24 hours.

What is SafeLine?

A WAF sits between the internet and your application, filtering HTTP traffic before it reaches your server. SafeLine implements that as an Nginx-based reverse proxy you run yourself, on your own infrastructure.

The attack classes it covers are the familiar ones: SQL injection, XSS, code injection, OS command injection, CRLF injection, LDAP and XPath injection, RCE, XXE, SSRF, path traversal, backdoors, brute force, and HTTP flood.

FeatureDetails
ArchitectureNginx-based reverse proxy, self-hosted
Detection engineSemantic analysis of HTTP traffic — no regex rule tuning
LicenseGPL-3.0
GitHub stars~21.8k — Chaitin claims the No.1 WAF project on GitHub
Free tierPersonal — $0 forever, up to 10 applications
Paid tiersLite $10/mo ($100/yr), Pro $100/mo ($1,000/yr), Ultimate custom
Bot defenseCAPTCHA challenge, dynamic HTML/JS encryption, anti-replay
IdentityAuthentication challenge per site
Rate limitingIP-based throttling and HTTP flood defense
Current releasev9.3.10 (July 2026)

Three things set the shape of a SafeLine deployment. The detection engine parses what a request means rather than matching patterns against it. Nothing leaves your infrastructure, and there is no per-request billing.

And the pricing is published in full, which is rare enough in this market to be worth naming.

What are SafeLine’s key features?

Semantic detection

This is the whole argument for SafeLine over the incumbent open-source option. Regex-based WAFs need constant tuning because a pattern broad enough to catch attacks also catches legitimate traffic.

SafeLine’s published benchmark, run on 33,669 samples, is the clearest statement of what that buys:

MetricModSecurity, Level 1Cloudflare, FreeSafeLine, BalanceSafeLine, Strict
Detection69.74%10.70%71.65%76.17%
False positive17.58%0.07%0.07%0.22%
Accuracy82.20%98.40%99.45%99.38%

Detection rates are close. The false-positive column is where the engines separate.

False positives are what actually kill a WAF deployment: they train the team to loosen rules until the thing stops protecting anything.

Warning
Read the benchmark for what it is

SafeLine ran this test, chose the sample set, and picked the comparison settings.

That does not make the numbers wrong. But a vendor-run benchmark is evidence, not proof.

There is also an unresolved gap in SafeLine’s own published figures. This table reports 71.65% detection for Balance mode; the product landing page advertises a “99.995% detection rate”.

The two cannot describe the same measurement, and neither page explains the other’s methodology.

The install-base numbers diverge too. The README says 180,000+ installations; the website says 600k+ active users.

Reproduce anything that matters to you on your own traffic.

Site management and run modes

Each protected site gets a port, a run mode, and a set of optional challenges you toggle independently.

SafeLine WAF site management screen listing six protected websites with their ports, Defense or Offline run mode, and CAPTCHA, AUTH, and DYNAMIC toggles
Each protected site carries a run mode (Defense or Offline) and independent CAPTCHA, AUTH, and DYNAMIC toggles.

The three toggles are the interesting part. CAPTCHA challenges suspected bots, and AUTH puts a password gate in front of the site.

DYNAMIC turns on per-visit encryption of returned HTML and JavaScript, which breaks scrapers that rely on stable markup.

Attack event inspection

When SafeLine blocks something, the event view shows the payload, the module that caught it, the attacking IP, and the raw HTTP request.

SafeLine WAF attack event detail showing a blocked XSS payload, attacker IP, matched module, and the full raw HTTP request with a Deny stamp
A blocked XSS event shows the payload, attacker IP, matched module, and the full raw request, with Copy-as-cURL and false-alarm feedback.

Two details here matter more than they look. “Copy as cURL” turns a blocked request into something you can replay against staging.

“Feedback false alarm” is a one-click path to report a false positive, rather than editing rules yourself.

Traffic analytics

The dashboard breaks traffic down by client OS and browser, response status, queries per second, and referring and popular pages.

SafeLine WAF analytics view with client OS and browser breakdown, response status distribution, queries per second, and referring site tables
Traffic analytics break requests down by client OS and browser, response status, queries per second, and referring pages.

This is operational visibility rather than security analytics, closer to what you’d get from an Nginx log dashboard than from a SIEM. SafeLine publishes no SIEM connector; log export arrives at the Lite tier.

How SafeLine works

SafeLine WAF architecture diagram showing client traffic passing through the SafeLine reverse proxy before reaching the protected web server
SafeLine sits as a reverse proxy between clients and the web server, filtering malicious HTTP traffic before it reaches the app.

Clients reach SafeLine, not your server. SafeLine inspects the request, drops what it judges malicious, and forwards the rest upstream. That is the standard reverse-proxy WAF shape.

This is also its boundary. SafeLine sees HTTP traffic; it does not see what your code does with that traffic.

A tool like Oligo Security watches function execution inside the workload, catching exploitation that never looks unusual at the HTTP layer. They address different halves of the same problem.

Getting started

Installation is a single command (install guide , configuration docs ), and a public demo instance lets you try the console first. Two settings are worth deciding deliberately.

Start in Balance mode: Strict buys roughly 4.5 points of detection for triple the false positives, by SafeLine’s own numbers.

Then add the CAPTCHA, AUTH, and DYNAMIC challenges per site rather than globally. Dynamic encryption in particular can break legitimate clients that parse your markup.

When to use SafeLine

SafeLine fits teams that want a self-hosted WAF they can run without maintaining a rule set, and who can put a reverse proxy in front of their traffic.

The free tier makes it a low-risk evaluation: no expiry, no sales conversation. If it works, $100/year covers most small deployments.

Tip
Best for
Small to mid-size teams self-hosting web apps who want WAF protection they can run and afford themselves, and who would rather not maintain a Core Rule Set.

It is a weaker fit in a few situations. If you need a WAF at the edge across many points of presence, a CDN-integrated service solves a different problem.

If your organization needs deep SIEM integration and formal compliance mappings, SafeLine publishes neither.

And if you are specifically after RASP, meaning protection that sees inside the running application, SafeLine is not it. The other RASP and runtime tools cover that need.

One licensing note before you commit: SafeLine is GPL-3.0, a stricter obligation than the permissive licenses common elsewhere in this category.

Note: Developed by Chaitin; commercial operation transferred to CyberServal. Pricing published publicly: Personal $0, Lite $10/mo, Pro $100/mo, Ultimate custom.

Frequently Asked Questions

Is SafeLine really free?
The Personal edition is $0 with no time limit and covers up to 10 applications, including the semantic detection engine, rate limiting, HTTP flood protection, malicious IP detection, and web ACLs. Paid tiers add scale and convenience rather than core protection: Lite at $10/month raises the limit to 20 apps and adds geo-blocking, Pro at $100/month removes the app limit, and Ultimate is quote-based.
Why does SafeLine report such a low false-positive rate?
Its semantic engine parses what a request means rather than matching regex signatures, which avoids the broad-pattern misfires that force rule tuning. SafeLine’s own published test of 33,669 samples puts its Balance mode at 71.65% detection with a 0.07% false-positive rate. Note this is a vendor-run benchmark — SafeLine chose the samples and the comparison baselines.
Is SafeLine a WAF or a RASP tool?
SafeLine is a WAF. It runs as an Nginx-based reverse proxy in front of your application and inspects HTTP traffic from the outside. RASP runs inside the application process and sees actual code execution. This site lists SafeLine alongside RASP tools because it defends the same runtime attacks, not because it uses RASP’s mechanism.
Who maintains SafeLine now?
The code is developed by Chaitin and lives at github.com/chaitin/SafeLine under GPL-3.0. The commercial service formerly branded SafePoint is now operated by CyberServal, which handles paid tiers and support. Documentation still sits on docs.waf.chaitin.com.
What is SafeLine's dynamic protection feature?
It encrypts the HTML and JavaScript your server returns, freshly on each visit. The intent is to break scrapers and bots that depend on stable page structure. It is off by default and toggled per site, alongside the CAPTCHA and authentication challenges.