Repository navigation
Security Model
StatusZERO is designed with a minimal but intentional security model to support lightweight, internal deployment. This page outlines how authentication, access, and protection mechanisms work.
All privileged actions (e.g., adding or removing IPs) are protected by an Admin Token, which acts as a shared secret.
- Token is generated at first setup and stored in
.env - Required for any write operations through the web interface
- Token must be manually supplied when prompted in modals
Important: This token is the only authentication method currently supported. There are no user roles or session logins.
To help keep your instance secure:
- Run StatusZERO behind a reverse proxy (e.g., NGINX or Caddy)
- Restrict access via IP allowlists or HTTP Basic Auth
- Use HTTPS via Let's Encrypt or a valid TLS certificate
- Rotate the Admin Token periodically and after any exposure
For internal use only, StatusZERO is not intended to be exposed publicly without additional access controls.
To rotate your Admin Token:
- Open
.env - Replace the
adminTokenvalue with a new secure string - Restart the application
The new token will be enforced immediately.
StatusZERO does not store:
- Logs of who accessed the system
- IP geolocation or metadata
- Personally identifiable information (PII)
All checks are performed on demand or via internal scheduling using DNS-only queries. No third-party APIs are used.
- Multi-user auth with role-based access
- Audit logging for IP changes and check history
- Rate-limiting and brute-force protection for the token prompt
For now, StatusZERO is intended for trusted internal teams and should be secured using your existing infrastructure.
Questions? Open a GitHub issue or visit the FAQ for more details.