Security model
Production URL: https://asi-database-node-api.arybit.co.ke
Explicit allowed hosts, deployed HTTPS CORS origins and loopback-only database settings are validated at startup. Deployed environments require private database credentials. Driver exception details are withheld from readiness responses.
Nginx enforces HTTPS, adds security headers and blocks sensitive source paths. Documentation uses local styles and no third-party scripts. Keep database credentials, SSH keys, deployment targets, runtime files, backup keys and logs outside published assets.
The live console uses the private VM operator bearer token, held only in browser memory and sent over HTTPS. The operator service authenticates every request and rejects cross-origin calls. SQL runs under the application OS identity and database role. Lifecycle actions require typed confirmation; operation outcomes are audited without SQL or result values. The FastAPI diagnostic service remains separate. Keep runtime, migration and backup identities separate. Verify PostgreSQL CURRENT_USER tenant policies with representative roles before production acceptance.