LQMS shall support at least ~100 users (~20 concurrent), tens of projects, and on the order of 100k document versions on a single-node deployment without architectural change.
STR-022; ADR-0018, ADR-0005
REQ-NFR-002
Interactive operations shall complete within p95 < 1s under expected load; full-text search within < 1s; LLM-assisted answers within a few seconds (bounded by the LLM provider).
All network transport shall use TLS (current version); session cookies shall use secure attributes (per REQ-AUTH-003).
STR-022, STR-003; ADR-0018
REQ-NFR-008
Database and blob storage shall be encrypted at rest (platform-level: disk/volume, DB TDE, or S3 SSE), with keys managed via the platform/secret manager.
STR-022, STR-003; ADR-0018
REQ-NFR-009
Secrets and credentials shall be supplied via environment/secret manager and never stored in source or build artifacts.
STR-022; ADR-0018
REQ-NFR-010
Dependencies (the SOUP list) shall be scanned for known vulnerabilities in CI, with findings triaged.
STR-014, STR-022; ADR-0018
REQ-NFR-011
The runtime shall connect to the database as the RLS-subject role lqms_app (non-owner, non-superuser, no BYPASSRLS).
STR-003, STR-022; ADR-0018, ADR-0009
REQ-NFR-012
Authentication events, authorization failures, and security-relevant administrative actions shall be audited.
STR-009, STR-022; ADR-0018, REQ-AUD-001
REQ-NFR-013
Brute-force/credential protections and MFA are provided by the identity provider; LQMS shall store no user passwords.