Changelog
Perfex Sentinel release notes
Every version of Perfex Sentinel, newest first: what is new, improved and fixed, and what to check before you upgrade.
- Current version
- v1.2.0
- Released
- Releases
- 6
Social sign-in and a team password vault
10 improved3 securitySocial Sign-In
- SecurityStaff and portal contacts can sign in with Google, Microsoft (Entra ID: common, organizations, consumers or your own directory) or Facebook. One card per provider under Sentinel › Social Sign-In: client id, client secret (encrypted with Perfex's key, never shown again), allowed email domains, separate switches for the staff sign-in and the portal
- SecurityAuthorization code flow with state, nonce and PKCE; ID tokens are checked for signature (RS256 with the provider's keys), issuer, audience, expiry and nonce. A sign-in request works once and only in the browser that started it
- ImprovedAccounts are matched by a verified email only (Google
email_verified, Microsoftxms_edovor a personal account or a directory you trust, Facebook's confirmed address). Staff are never created; portal contacts only when you switch it on for an allowed domain mapped to an existing customer (off by default). "Linked accounts only" is an option - ImprovedA social sign-in goes through the same checks as a password: lockouts, Sentinel's two-step sign-in and required set-up, Perfex's own 2FA, new-device alerts and session rules
- ImprovedLink and remove sign-in accounts on My Security (staff) and the portal security page (contacts); administrators see and remove every link on the Social Sign-In page. Sign-ins, refusals with their reason, links and setting changes are in the audit log
Password Vault
- SecurityShared credentials for the team under Sentinel › Password Vault: name, address, username, password, one-time code secret, notes, extra fields (PINs, keys), tags and folders. Values are encrypted with AES-256-GCM, a key derived from Perfex's encryption key and a fresh random IV per value
- ImprovedPasswords never appear in lists, pages, exports or the API: reveal and copy fetch one value over POST, need the new Reveal capability and are logged with who, when, which item and the address (also in the audit log). A per-person limit on reveals in 10 minutes raises a high-severity event
- ImprovedAccess per staff member, role or department, on an item or a whole folder (sub-folders included), with "can use" or "can edit". New capabilities: View, Reveal, Manage, Share
- ImprovedRotation reminders: change every N days, a Needs Rotation pill and filter, a Perfex notification for the editors
- ImprovedPassword generator and a strength meter; weak passwords are counted on the vault overview
- ImprovedOptional (off by default): share single items read-only with a portal contact, with an end date
- ImprovedSwitching from the Team Password module: a read-only importer with a dry run, import in one batch, a second run only brings new rows, undo per batch. Two-step sign-in secrets of other modules are never copied: people set up two-step sign-in again on My Security
- ImprovedNew texts in all 9 languages
License checks name the product
3 improvedLicense
- ImprovedEvery license call (activate, check, pause) now sends Sentinel's sellmycode.net item id, as sellmycode.net requires
- ImprovedA purchase code bought for another product, or an unknown one, only shows "This purchase code is not valid for Perfex Sentinel." The detailed reason is kept in Sentinel's audit log for administrators
- ImprovedAn activation made by an older version with another product's purchase code is paused once and removed from this install; enter your Sentinel purchase code to switch Sentinel back on
Domain changes need your confirmation
7 improved1 fixed- FixedFixed: upgrading over 1.1.0 stopped with "Cannot redeclare function
psn_license()" because the old helpers/psn_license_hooks.php stayed on disk; it is now replaced by an empty file
License
- ImprovedWhen the site moves to another domain (a new address, a staging or test copy), the license is never activated for the new domain on its own: not when the module is switched on again, not by the scheduled check, not when a page opens. Sentinel stays switched off until an administrator confirms: the License page and the admin banner say "This site now runs on <new domain>. Activate your license for this domain?" with an "Activate on <new domain>" button. When all activation slots are in use, the page shows sellmycode.net's hint and the Request a Transfer button
- ImprovedThe old domain is never paused from the new one (module deactivation and the Pause button only use a token of this domain); it keeps its slot until the author releases it
- ImprovedPaused, revoked or otherwise invalid licenses: besides Reactivate, "Use a different purchase code" opens a code field on the page. The stored code is replaced only when sellmycode.net confirms the new one; if it fails, the current code stays and the error is shown
- ImprovedSwitching the module on again on the same domain still reactivates the kept purchase code automatically
- ImprovedBlocked licenses: when the author blocks the purchase code (License Blocked) or this domain for it (This Site Is Blocked for This License), Sentinel switches off on the next check and the License page and admin banner show sellmycode.net's hint with an Appeal / Contact the Author button; Reactivate is hidden, a different purchase code can still be used. Both are recorded in the audit log
- ImprovedThe license is checked every 6 hours instead of once a day, and also when someone opens a Sentinel page and the last check is more than 6 hours old. That check runs after the page is sent (or in the background), so pages never wait for it, and several pages opened at once make one check at most
- ImprovedNew texts in all 9 languages
- FixedFixed: upgrading over 1.1.0 stopped with "Cannot redeclare function
The license switches Sentinel on and off
1 new4 improved2 fixedLicense
- FixedOpening the License page address of a deactivated module answers "page not found" instead of a server error
- ImprovedWithout a valid license (not activated, paused, revoked by the author, a code for another product, or no confirmed answer within the 7-day grace) Perfex Sentinel switches off and Perfex works as without the module: the firewall stops (its rules file is removed; a rules file past the license's grace deadline also stops by itself), and lockouts, delays, the password policy, new-device mails, session limits, alerts, the AI analyst, hardening, the audit and security pages, cron jobs and integrations pause. Nothing is deleted; activating the license brings everything back
- ImprovedSign-in keeps working while switched off: two-step sign-in for everyone who set it up (staff and portal contacts, authenticator, email codes, recovery codes, remembered devices), each person's own security page, unlock links from lockout emails and resetting a lost second factor. The kill switch still suspends the second step
- NewNew License page and locked screen, shared by all SellMyCode modules: the same status, details and actions, an in-page Pause dialog, light and dark, in all 9 languages; a Sign-in Help panel on Sentinel's License page lists who uses two-step sign-in, with a reset for a lost second factor
- ImprovedEvery Sentinel page answers "License Not Valid" while switched off (other requests get a JSON
license_inactiveanswer with HTTP 403); the License page stays under Sentinel › License and Setup › Module Licenses, and administrators see a banner on every page - FixedLicense calls wait up to 25 seconds, so a slow answer no longer loses the activation token
- ImprovedUninstalling pauses this site and removes the stored purchase code, token and cache
License activation
1 new7 improved1 securityLicense
- NewNew License page (Sentinel › License): activate with your sellmycode.net purchase code, see the license type, domain, activations used and limit, update period (with a renew link once updates end), last check and how long the install works without a check; Verify Now, Pause License on This Site and Reactivate
- ImprovedPausing keeps the activation slot reserved for this domain (reactivate any time, no extra slot); moving to another domain needs the author to release the old one. When all slots are in use the page shows sellmycode.net's hint and a Request a Transfer button
- SecurityAnswers from the license server are signed (Ed25519) and checked against keys built into the module; unsigned, forged or replayed answers are ignored. The purchase code and activation token are stored encrypted and the code is only ever shown by its last 4 characters
- ImprovedDaily check on cron (spread over the day, within the server's rate limits); outages are covered by the last confirmed answer for up to 7 days
- ImprovedInstalls that cannot be public sites need no license and use no activation: localhost, *.localhost, *.test, *.local and IP addresses in loopback, private or link-local ranges (127.0.0.0/8, ::1, 10/8, 172.16/12, 192.168/16, 169.254/16, fc00::/7, fe80::/10). Every other install, also on dev. or staging. subdomains, needs an activation (there is no trial period, also not after an upgrade from 1.0.0)
- ImprovedActivation limits are the ones of your license on sellmycode.net (shown as used / limit, or Unlimited)
- ImprovedWithout a valid license only changing Sentinel's settings is locked. Protection is never weakened: the firewall, two-factor sign-in, lockouts, sessions, the audit log, alerts, cron, the kill switch and recovery link keep working exactly as configured, and own security settings, unlocking people, log export and module deactivation stay open
- ImprovedDeactivating the module pauses the license on this site; activating it again reactivates it
- ImprovedLicense events in the audit log (activated, paused, not valid); translations in all 9 languages
Initial release
20 newSign-in protection
- NewLogin attempt tracking for staff and contacts, progressive delays and lockouts by address, network and account; password-spray detection; administrators are never hard-locked (delays, required code, emailed unlock link)
- NewTwo-factor sign-in: authenticator apps (TOTP) with QR set-up, recovery codes, email codes, remember this device; required per role with a grace period; optional or required for portal contacts; works alongside Perfex's own 2FA
- NewPassword policy: length, character mix, no name or email, reuse check, optional breached-password check
- New"Was this you?" email after a sign-in from a new device or country
Sessions
- NewAll Sessions and My Sessions pages: device, browser, address, country, first and last seen
- NewSign out one session, every other session or everyone; concurrent session limit; idle timeout and maximum length per role; remember-me control; account end dates for staff with warnings
Firewall
- NewEarly firewall that runs before Perfex loads, with a 7-day learning (monitor-only) period
- NewAllow and block lists, country blocking (DB-IP Lite data included), rate limits per area, attack signatures, admin-area allow list, automatic temporary blocks, Cloudflare and trusted proxy support
- NewVirtual patches for CVE-2026-7783, CVE-2026-7782 and a Perfex core CSRF bypass (PSN-2026-001)
- NewTest a Request tool, Top Offenders, recovery link, safe mode and DISABLE kill switch, command-line unlock
Audit log
- NewSettings changes with before and after values (secrets never stored), staff, roles and permissions, deletions, exports, modules, email templates, custom fields and API token use
- NewTamper-evident sealed log with daily integrity check and a copy of the seal head on disk and in reports
Hardening
- NewSecurity score from 21 checks with evidence, fix guidance and safe one-click fixes; score history
- NewCore file integrity baseline, uploads scan with quarantine, CSRF exclusions review
Alerts
- NewEmail, Slack, Microsoft Teams and Telegram; routes by category and severity, quiet hours, snoozes, hourly limits, daily digest
AI analyst
- NewAnomaly detection (impossible travel, new country, unusual hours, mass export or delete, failure waves), incidents with AI explanations, weekly security report, permission review, ask-your-log questions
- NewWorks without AI; names, addresses and emails are masked before anything is sent
Integrations
- NewPerfex Brain Pro: Security dashboard with 9 widgets; Perfex AI Staff: 5 read-only security tools
- New9 languages with complete module strings (English plus 8 translations)
Documentation
- NewOnline and offline HTML documentation: installation, recovery, configuration and troubleshooting