=== Rythzen Security ===
Contributors: rythzen
Tags: security, login security, hardening, audit log, integrity
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight WordPress security hardening, login protection, audit logging and integrity scanning by Rythzen.

== Description ==
Rythzen Security provides practical security controls without a premium license, advertising, telemetry, or a proprietary cloud dependency.

Features include login throttling, generic login errors, XML-RPC/pingback controls, REST user privacy, file-editor protection, HTTP security headers, audit logging, scheduled scans, official WordPress core checksum verification, update checks, and suspicious executable-file checks in uploads/cache.

The scanner is a hardening/integrity tool. It is not a commercial malware-signature feed and does not claim to detect every possible compromise.

== Installation ==
1. Upload the plugin ZIP from Plugins > Add New > Upload Plugin.
2. Activate Rythzen Security.
3. Open Rythzen Security in wp-admin.
4. Review settings and run the first security scan.

== Changelog ==

= 1.1.0 =
Added: self-hosted automatic updates through the new Rythzen update service.
Added: an Updates screen showing the installed and latest version, release channel and last check.
Security: added a "Visitor IP source" setting for sites behind Cloudflare or another proxy.
Previously only the connection address was read, so behind a CDN every visitor shared one IP and
a single attacker's failed logins could lock out every legitimate visitor.
Fixed: the file scanner reported the harmless "Silence is golden" index.php stubs that WordPress
and caching plugins place in generated folders. Running Rythzen Cache alongside this plugin
produced a permanent false high-severity finding.
Fixed: audit events were still being written after audit logging had been switched off.
Fixed: the log cleanup task kept firing with no handler attached once audit logging was disabled.
Improved: the core checksum scan now says when it stopped early instead of presenting partial
counts as totals.

= 1.0.0 =
* Initial release.
