JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 125
  • Score
    100M100P100Q63645F
  • License MIT

All-in-one authentication and session security plugin for Strapi v5

Package Exports

  • strapi-security-suite/package.json
  • strapi-security-suite/strapi-admin
  • strapi-security-suite/strapi-server

Readme

๐Ÿ›ก๏ธ Strapi Security Suite (Beta)

The Last Plugin Youโ€™ll Ever Need to Sleep at Night

A high-performance, in-memory security enhancement plugin for Strapi v5, Session-obsessed. Built for the chaotic genius admin who refuses to get breached by a stale token.
Powered by rage, memory maps, and accountability.


โœจ Why This Exists

Because โ€œjust trusting sessionsโ€ is how breaches happen.
Because the admin panel deserves better.
Because your team deserves a real security layer, not a checkbox.


โš”๏ธ Features That Slap

๐Ÿ”’ Auto Logout (with taste)

Kick idle admins like itโ€™s office closing time.

  • ๐Ÿ” Tracks every request
  • โฒ๏ธ Custom inactivity timeout from DB
  • ๐Ÿง  Memory-first with sessionActivityMap
  • ๐Ÿ’จ Triggers soft or nuclear logout depending on your vibe
  • ๐Ÿ’พ Graceful 440s, JS responses, and gentle redirects

๐Ÿšท Multi-Session Lock

One admin = one session. No shadow clones allowed.

  • ๐Ÿ’ฅ First login wins, others are denied
  • ๐Ÿงน Cleans old sessions like a digital janitor

๐Ÿง„ Session Exorcism Layerโ„ข

Revoked tokens get ghosted instantly.
Even if Strapi tries to pretend theyโ€™re still cute.

  • ๐Ÿ”ช Middleware blocks
  • ๐Ÿชฆ Session cookie wipeout
  • ๐Ÿ“ฉ Headers set for frontend rejections
  • ๐Ÿ—‘๏ธ isLoggedIn purged with prejudice

๐Ÿง  Smart Middleware Stack

  • trackActivity: Updates timestamps on every move
  • rejectRevokedTokens: Blocks dead sessions like a haunted firewall
  • interceptRenewToken: Stops Strapiโ€™s clingy /renew-token requests from reviving zombies

๐Ÿงช Configuration Schema

{
  "autoLogoutTime": 30,
  "multipleSessionsControl": true,
  "passwordExpiryDays": 30,
  "nonReusablePassword": true,
  "enablePasswordManagement": true
}

Defined in the content-type:
plugin::strapi-security-suite.security_settings


๐Ÿง  Architecture Youโ€™ll Brag About

  • ๐Ÿงฌ In-memory tracking via Map()
  • โฑ๏ธ startAutoLogoutWatcher() with 5s intervals
  • ๐Ÿ”„ Frontend fetch interceptor for 440s
  • ๐Ÿงน JS logout payload injected server-side to destroy sessions, cookies, and self-respect

โš™๏ธ Admin Panel UI

  • ๐ŸŽ›๏ธ Control timeouts, session logic, and password rules
  • ๐Ÿ“œ Planned audit logs, charts, and drama
  • ๐ŸŒŒ Future dashboard: all your infra sins visualized

๐Ÿ” Frontend Catch Logic

  • Fetch wrapper intercepts 440
  • Purges local/session storage
  • Sends you crying to /session-expired
  • Optionally calls /admin/logout for drama

๐Ÿ“ฆ Installation

yarn add strapi-security-suite

or

npm install strapi-security-suite

๐Ÿ”น config/plugins.js

Add the following entry inside your config/plugins.js file:

module.exports = ({ env }) => ({
  'strapi-security-suite': {
    enabled: true,
  },
});

๐Ÿ”ฎ Upcoming

Feature Status
Password Expiry ๐Ÿ› ๏ธ In Dev
Non-Reusable Passwords ๐Ÿ› ๏ธ In Dev
Admin Activity Logs ๐Ÿ”œ
Security Dashboard ๐Ÿ”œ
Brute Force Detection ๐Ÿ”œ
Real-time Session Visualization ๐Ÿ”œ (and spicy)

๐Ÿ’ฅ Real-World Impact

โ€œWe installed this and now our interns canโ€™t share logins anymore.โ€
โ€” CTO, probably

โ€œOur admin panel feels like it judges us now. I love it.โ€
โ€” That one developer who cares


๐Ÿง‘โ€๐Ÿ’ป Author

LPIX-11


๐Ÿ’ก Philosophy

Security should be:

  • Fast
  • Unforgiving
  • Elegant
  • Mildly judgmental

This plugin is in Beta.
You break it, it breaks you back, but weโ€™ll still love you.
Not liable for insecure vibes.