Skip to content

Security

The login page uses ALTCHA Proof-of-Work, requiring clients to solve a computational challenge before submitting login requests.

TOTP-based 2FA support — enable in Settings → Security, scan QR code with Google Authenticator / Authy.

All API requests use JWT tokens with persistent key storage (survives restarts).

All write operations (POST/PUT/DELETE) are automatically logged with timestamp, user, path, and response status.

Automatic security headers: X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy.

After 5 consecutive failures, webhook/email notifications are sent (10-minute throttle).

Disable dangerous PHP functions per site using php_admin_value (cannot be overridden in .htaccess).

LiteHttpd fully supports .htaccess. WordPress installations automatically get wp-config.php protection, upload directory PHP execution blocking, and xmlrpc.php blocking.

LLStack supports multi-user access with four roles:

RoleDescription
OwnerFull panel access, manages users and plans
AdminManages all sites, databases, and services
DeveloperManages assigned sites only, no system settings
ViewerRead-only access to assigned sites

Admins can assign specific sites to Developer and Viewer users, restricting access to only their designated sites.

Each user can be assigned a plan with resource limits:

QuotaDescription
max_sitesMaximum number of sites the user can create
max_databasesMaximum number of databases the user can create
disk_quotaMaximum disk usage allowed (in MB)

The built-in file manager is restricted to site document root directories only. Symlink escape protection is enforced to prevent directory traversal outside the allowed paths.

The panel follows least-privilege principles: SSL keys at 0600, site files owned by system user (not root), operations via sudo-restricted shell scripts.