Admins run the full panel; customers get a slim self-service portal for the servers they own.
NexoVirt has two kinds of accounts: admins, who run the full panel, and customers, who get a slim self-service portal showing only the servers they own. Admins create customers, assign guest ownership, and manage other admins from the Users menu. Customer logins can be turned off entirely with a single toggle.
Customers sign in to /portal and see My Servers, only the
guests they own, with live charts, power actions and an in-browser console. Every portal
action re-checks ownership on the server, so a customer can never see or touch a guest that
isn't theirs.
Admins can “log in as” a customer to see exactly what they see, then return to their own account, with a persistent banner while doing so. The same ownership checks apply during impersonation, and the action is recorded in the audit log.
Each user can store their SSH public keys. When a guest is created (or reinstalled), the owner's keys can be attached as pre-checked options alongside a paste field, and they are installed into the new guest. If at least one key is present, the root password becomes optional.
Both admins and customers can enable TOTP two-factor authentication from their profile / security page: scan a QR code with an authenticator app and keep single-use recovery codes. Logins are then challenged for a code. An admin can clear another admin's 2FA as a lockout escape hatch. Passwords can be changed from the same page, and login is throttled against brute force.
A global audit log records security-relevant actions: logins and logouts, impersonation, host changes, user and admin changes, and 2FA changes, in a filterable table for administrators. Each guest also keeps its own permanent activity log of every lifecycle event, whether it came from NexoVirt or directly from Proxmox.