Netdesign Session Guard
Netdesign Session Guard: see who is signed in, detect shared accounts, limit devices (WordPress plugin, free on wordpress.org)
by Netdesign · github.com/tomerof/netdesign-session-guard · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/tomerof/netdesign-session-guard/archive/refs/heads/main.zipA free WordPress plugin that shows who is signed in right now, detects accounts that are shared between several people, and can limit each account to a set number of devices at once. When the limit is reached, the oldest device is signed out immediately.
It is published on wordpress.org as netdesign-session-guard. Session Guard Pro is a separate, paid add-on (private repo tomerof/netdesign-session-guard-pro) that plugs into this plugin's hooks.
Features
- Live view. Everyone online now: device, browser, IP, country and current page. Sign out any device with one click.
- Sharing detection. Scores each account on devices, networks, countries and how often it switches devices. Suspicious accounts go to a Flagged accounts list.
- Device limit. Optional. Allow N devices per account. A new sign-in beyond the limit signs out the oldest device within seconds and shows it a message.
- Whitelist and exempt roles. Some users or roles are never limited or flagged.
- Light on the server. Normal page views add no database queries. Activity comes from a small heartbeat, and detection runs in cron.
- Hebrew and English. The admin screens follow each admin's own language setting, with full right-to-left support.
What Session Guard Pro adds
Email alerts (instant or daily) and user warning emails, per-user and per-LearnDash-group device limits, LearnDash course tracking, and a faster heartbeat endpoint. Pro needs this plugin to be active. See the Pro repo's README.
Documentation
| Topic | |
|---|---|
| Installation | Requirements, install, first-time setup |
| Configuration | Every setting, explained |
| How it works | Architecture, request flow, performance |
| Device limit (enforcement) | What happens when a device is signed out |
| Sharing detection | Rules, scoring, flags |
| Admin screens | Live, flagged accounts, user page, settings |
| Translations | Hebrew / English, updating and adding languages |
| Privacy | What is stored, retention, anonymization, external requests |
| Developer reference | Code structure, database, hooks (including the ones Pro uses) |
| Local development and testing | Docker setup, simulating devices, Plugin Check |
| Releasing to wordpress.org | Versioning, building, SVN |
| Troubleshooting | Common problems |
The wordpress.org listing text lives in readme.txt.
Quick start
- Install from Plugins → Add New (search "Netdesign Session Guard"), or upload the zip, and activate it.
- Open Session Guard → Live to see who is online.
- Leave it in Monitor only for a week, then check Flagged accounts to tune the thresholds.
- When ready, open Settings → Device limit and switch to Enforce.
Requirements
WordPress 6.0+, PHP 7.4+.
© Netdesign · netdesign.media · GPL-2.0-or-later