WordPress plugin intelligence profile

Janric Shield

Learns how your admins actually log in, then flags anything that doesn't match — protecting your site without relying on blocklists.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 6.7
Current version1.0.0
WordPress coverageTested up to WordPress 6.7
Minimum stackWP 5.0 · PHP 7.4
Directory statusactive
Last directory update22 Jul 20263mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Janric Shield version 1.0.0 as active, updated 3mo ago and tested up to WordPress 6.7.

Overview

About this plugin

Most WordPress security plugins protect sites by modelling attackers — maintaining lists of known bad IPs, known attack signatures, and known malicious patterns. Janric Shield takes the opposite approach.

Janric Shield models your legitimate users, not the attackers.

During a short learning phase it builds a behavioural profile of how your admins actually log in — when, where, from which networks, and how they interact with the login form. Once that profile is established, anything that deviates significantly from it is flagged as suspicious. A brand new attack tool, a previously unseen technique, a credential stuffing campaign — it doesn’t matter whether it appears on any blocklist.

If it doesn’t look like you, it scores high.

How It Works

Learning Phase (Days 1–14)

The plugin silently observes every login attempt and builds a per-site, per-user baseline covering:

  • Login hour and day-of-week distribution
  • Countries and ISPs (ASNs) that have successfully authenticated
  • Form fill duration — your personal mean and variance
  • Keystroke timing rhythm — your natural typing coefficient of variation
  • Browser and device patterns
  • Which usernames actually exist on this site

No data leaves your server. Everything is stored locally in your WordPress database using Welford’s online algorithm — a compact statistical method that maintains running mean and variance without storing individual data points.

Advisory Phase (Days 7–14)

Once enough legitimate logins have been recorded, the plugin begins scoring attempts and showing you what would have been blocked — without actually blocking anything yet. This lets you verify the model is accurate before enabling enforcement.

Active Phase (Day 14+)

With blocking enabled, attempts are scored in real time against your learned baseline. Suspicious attempts are challenged with a math-based security question and a tarpitting delay. High-confidence attacks are blocked outright.

Scoring System

Every login attempt receives a suspicion score from 0 to 100:

  • 0 — Clean, matches your normal profile
  • 20–39 — Low anomaly, monitored
  • 40–59 — Medium anomaly, monitored
  • 50–79 — Suspicious, challenged (math question + delay)
  • 80–100 — High confidence attack, blocked

What It Detects

Immediate (from day one, no learning required)

  • Honeypot field filled — hidden field invisible to real browsers
  • Canary username targeted — attempts on usernames like admin or root that don’t exist on your site
  • Known scripting tool user-agents — python-requests, curl, wget, sqlmap, nikto and others
  • Direct POST attacks — bots that bypass the login form entirely and POST credentials directly
  • XML-RPC brute force — including system.multicall batch attacks
  • Impossibly fast form submission — sub-500ms fills

After baseline established (7–14 days)

  • Login from a country never seen on this site
  • Login from a new ISP or network
  • Login attempt on a username that has never successfully authenticated here
  • Login at an unusual hour for this site
  • High velocity attempts from a single IP

After per-user profile established (20+ logins per user)

  • Form fill time significantly outside your personal normal
  • Keystroke rhythm significantly different from your established typing pattern

Site Hardening

Beyond login protection, Janric Shield also includes:

  • REST API username decoy — unauthenticated requests to /wp-json/wp/v2/users receive convincing fake usernames instead of your real ones. The probe is logged and scored.
  • XML-RPC control — monitor all XML-RPC calls (default) or disable the endpoint entirely
  • WordPress version hiding — removes the version number from page source, RSS feeds, asset URLs, HTTP headers, and the REST API index

Privacy

Janric Shield operates entirely on your own server. com service. IP addresses are stored as SHA-256 hashes in the attempt log.

No personally identifiable information is shared with Janric or any third party.

For Developers

The plugin is structured around five core classes:

  • JanricShield_Baseline — Welford online statistics engine, per-site and per-user profiles
  • JanricShield_Scorer — Scores attempts against the learned baseline
  • JanricShield_Capture — Hooks into WordPress authentication pipeline, captures behavioural signals
  • JanricShield_Enforcer — Acts on scores based on current mode and thresholds
  • JanricShield_DB — Database schema, migrations, and settings
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • brute force
  • machine learning
  • login
  • protection
  • security
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 6.7

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 6.7.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to6.7
Minimum requirementsWordPress 5.0 · PHP 7.4
Update activity22 Jul 20263mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.