Alternatives

NinjaFirewall is two plugins, and neither one cleans an infected file

NinjaFirewall scores 98 out of 100 across 220 ratings, the highest in this comparison set, and its firewall is better positioned than ours. It also does not scan for malware. That job belongs to NinjaScanner, a second plugin, and NinjaScanner offers Restore, Quarantine or Ignore. Segurium removes the injected code and leaves the file working. Free covers 3 cleanups every 30 days.

Install the free plugin from WordPress.org

Runs alongside NinjaFirewall. Nothing here asks you to turn the firewall off.

What you get here that they do not ship at any price

Security headers are free in both products, and NinjaFirewall's free set covers Content-Security-Policy and Strict-Transport-Security. Both also ship brute-force protection and file integrity monitoring at no cost. Read from the vendor's shipped plugin code and pricing page on 19 August 2026.

What it costs over three years

Product Year one Three years
NinjaFirewall, WP+ Edition, one domain $89 $267
Segurium Pro, one site $79 $237
Segurium Free $0 $0

On one site, that is $30 back over three years if you take Pro, or $267 if the free plan covers you. WP+ buys country and IP access control, rate limiting and bot filtering, which is depth in the firewall rather than malware coverage. NinjaScanner Premium, which adds scheduled scans and WP-CLI, is a further $29 a year per domain.

Install the free plugin from WordPress.org

Why people go looking

NinjaFirewall stopped scanning on purpose. Open the Anti-Malware menu in version 4.9 and the whole page reads: "Oops...! We have removed the Anti-Malware from NinjaFirewall. Instead, we have now a brand new and much better antivirus plugin:" followed by a link to NinjaScanner. That is a defensible split. It also means the plugin you installed for security is not looking at your files.

NinjaScanner restores from upstream or quarantines. Their words on the integrity checker: "The File Integrity Checker will compare your WordPress core files as well as your plugin and theme files to their original package... Infected or corrupted files can be easily restored with one click." The sources are downloads.wordpress.org, the plugin SVN and the versioned core ZIP. When the infected file is a custom theme template, a paid plugin or anything hand-written, no package exists to restore from. What is left is Quarantine, and quarantining a template your pages call is a white screen.

The best firewall mode needs a server change. Full WAF mode writes auto_prepend_file into your php.ini or .user.ini, or a php_value auto_prepend_file line into .htaccess. It backs up the original first and needs no root, so it works on plenty of shared hosting. The vendor is straight about the rest: "It works on most websites right out of the box, or may require some very little tweaks. But in a few cases, mostly because of some shared hosting plans restrictions, it may simply not work at all." They warn Docker users the site may crash, and the plugin does not support Microsoft Windows. The fallback, WordPress WAF mode, loads as a must-use plugin and stays good; their own line is that it "offers a level of protection and performance much higher than other security plugins".

Quotations read from NinjaFirewall 4.9 and NinjaScanner 3.3.1 as shipped, on 19 August 2026.

How the cleanup actually works

Segurium hashes every file on your server and checks each hash against a cloud database of known-good and known-bad files. Around 94% of your files are settled by the hash alone and never leave the server. A lookup takes about 24 milliseconds, which is why a full scan does not sit on your CPU for an hour.

Detection is not a paid tier. Free and Pro read the same feed at the same moment. The only thing money changes is how many files you may clean.

When a file comes back infected, you click Fix. For an injection into an otherwise-working file, Segurium fetches a cleaned version of that exact file, so your theme keeps rendering and your plugin keeps loading. A file that is nothing but malware becomes zero bytes at the same path. When no clean version can be produced, the cleanup stops and leaves the file exactly as it found it.

This is the difference against NinjaScanner. Their flow ends at three buttons: Restore file, which needs an upstream package; Quarantine file, which moves the code out of the tree and leaves whatever depended on it broken; and Ignore file. Segurium's flow ends with the file still in place and still working, minus the injection.

The original goes into an encrypted backup on your own server before any of that happens, and one click puts it back. You can look at the malware it removed before you decide.

Separately, an integrity scan compares every core, plugin and theme file against the canonical upstream copy of the exact version you have installed, and restores anything that drifted. While the file is clean that is unlimited on the free plan and never touches your cleanup count. NinjaScanner's File Integrity Checker does this job free as well, so treat it as a draw.

Bulk Fix All ships on every install, free, with a preflight preview so you can see what it will touch before it touches anything. Pro at $79 a year lifts the cleanup limit and turns on unattended fixing, so a scheduled scan cleans without you opening the dashboard.

Side by side

FeatureNinjaFirewallSegurium
Entry price Free, or $89/yr per domain for WP+ Free, or $79/yr per site
Malware scanning Not in NinjaFirewall. NinjaScanner, a separate plugin Same plugin as the firewall, free
Cleaning an infected file No cleanup step. Restore, quarantine or ignore Injection removed, file keeps working. 3 per 30 days on Free
An injection in a file with no upstream package Quarantine it, or edit it by hand Cleaned version written back at the same path
Recovering the file you removed Quarantine folder on disk, restore by hand Encrypted backup on your own server, one-click restore
Fixing everything at once One file at a time Bulk Fix All, free, with a preflight preview
Restoring a modified core, plugin or theme file Free, one click from the WordPress.org package Restore to upstream content. Unlimited while the file is clean
Scheduled scans NinjaScanner Premium, $29/yr per domain Free
Unattended cleanup Not offered Pro, $79/yr
Two-factor authentication Not shipped in either edition Free: TOTP, email fallback, backup codes, trusted devices
Country blocking WP+, $89/yr Free
IP address rules WP+, $89/yr, with AS number rules too Free, IP and CIDR rules
Security headers Free, including CSP and HSTS Free, three presets plus custom
Firewall Runs before WordPress in Full WAF mode, free Runs inside WordPress, free: IP and CIDR rules, country filter
Rate limiting and bot filtering WP+, $89/yr Not shipped. Brute-force protection covers logins only
Track record On WordPress.org since 2013, 98/100 across 220 ratings Listed since July 2026

The NinjaFirewall column mixes two products: rows about scanning, restoring and scheduled scans describe NinjaScanner, which you install separately. Prices and ratings read from the vendor's pricing page and api.wordpress.org on 19 August 2026. Check them again before you decide, because they are theirs to change.

What Segurium does not do

Read this before you change anything, rather than after.

Who should switch, and who should not

Keep NinjaFirewall. Replace NinjaScanner. That is the honest recommendation and it costs nothing to test: the firewall you already trust stays where it is, and Segurium takes over detection and cleanup. Turn NinjaScanner's scans off once you are happy, so you are not scanning the same files twice.

Do the swap if an injection has ever landed in a custom theme file and Quarantine was the only button that applied. Do it if you want two-factor authentication without a third plugin, or if country blocking and IP rules are the reason you were looking at the $89 WP+ licence.

Do not do it if you need rate limiting, bot filtering or response body filtering, because those are WP+ features with no equivalent here. Do not do it if your rule is that nothing about your site may reach a third-party service, because NinTechNet meets that rule and we do not.

Install the free plugin from WordPress.org

Scanning and integrity restore are unlimited on Free, and the first cleanups are included.

What moving across involves

Nothing imports. No migration adapter exists for NinjaFirewall or NinjaScanner, so anything you want on this side you set by hand. Keep the firewall running, which is what we suggest, and the list is short.

What you re-enter yourself:

  1. Install Segurium from WordPress.org. Leave NinjaFirewall alone.
  2. Accept the service disclosure. Nothing contacts our service before you do.
  3. Run a full scan and an integrity scan.
  4. Compare the result against your last NinjaScanner report.
  5. Set your firewall rules, headers and two-factor.
  6. Turn off NinjaScanner's scans, or deactivate that plugin.

What leaves your server, in plain terms

Scanning is opt-in. Until you accept the disclosure on the plugin page, Segurium does not contact our service and does not scan.

Files are checked by SHA-256 first. A file has its bytes sent in two cases: when its hash is one we have never seen, which in practice is about 6% of them, and when you clean it and we build the replacement. Everything else is settled by hash.

NinjaScanner answers the same question differently: its LMD and ClamAV signature sets ship inside the plugin, so matching happens on your disk, and its outbound URL check goes to the Google Safe Browsing API. That design sends less. It also knows only what the last plugin update taught it, while a hash lookup asks at scan time.

Samples we do receive are kept for up to 365 days and then deleted by an automated purge, and an analyst can delete one sooner once it has been triaged. Our privacy policy lists every retention period we hold to.

Our servers are in the European Economic Area and Segurium is run from Spain, so GDPR applies to us directly rather than reaching us through an adequacy decision. Two subprocessors sit outside the EEA, for payments and for support email. Both are covered by Standard Contractual Clauses and both are named in the privacy policy.

We do not track your visitors. Segurium looks at files and login attempts.

Questions

Should I uninstall NinjaFirewall?
No. Keep it, in Full WAF mode if your host allows that mode. It filters requests before WordPress loads, which Segurium cannot do. The half worth replacing is NinjaScanner, because that is the half with no cleanup step.
NinjaScanner already finds malware. What does Segurium add?
The step after detection. NinjaScanner offers Restore file, Quarantine file or Ignore file. Restore rebuilds the file from its WordPress.org package, so it works whenever the file came from there. Segurium removes the injected code from the file you have and writes the cleaned version back, which is the answer that still applies when the file never had an upstream package.
What does quarantine actually leave me with?
The file moves to wp-content/ninjascanner/<random>/quarantine/ and stays there until you restore or delete it, because their garbage collector does not flush that folder. NinjaScanner sandboxes the move first and warns you if removing the file would fatal your site, which is careful design. It still means the code is gone rather than fixed, so whatever needed that file stops working.
Is Segurium's firewall as good as NinjaFirewall's?
No. In Full WAF mode NinjaFirewall loads through auto_prepend_file, before WordPress and before your plugins, and it covers non-WordPress PHP scripts in the same directory tree. Ours runs inside WordPress and filters requests PHP has already accepted. Theirs is better positioned and you should keep it.
NinTechNet says nothing reaches their servers. Segurium sends hashes. Why accept that?
Because it buys a verdict you never had to download. NinjaScanner matches signature sets that ship inside the plugin and queries the Google Safe Browsing API for URLs. Segurium sends a SHA-256 per file, and about 94% of your files are settled by that hash and never leave the server. Bytes go up in two cases: a hash nobody has seen before, and a cleanup, where the file body is what the replacement is built from. If sending nothing at all is your rule, NinTechNet meets it and you should stay.
Will my NinjaFirewall settings come across?
None of them. There is no importer for either plugin. You re-enter what you want by hand, and there is little of it if you keep NinjaFirewall running.
What if I install it and it finds nothing?
Then you have a second opinion from a different engine for free. There is no card to enter and no trial to cancel.

Comparing something else?

Scan once, behind the firewall you already have

Install the free plugin and let it look at the same files NinjaScanner looks at. If both agree, you have a second opinion for nothing. If they do not, you found out today rather than after the next report.