Tenant isolation
Because Enterprise is a multi-tenant managed service, organization isolation is the load-bearing design requirement. Application scope, stored artifacts, background work, and database row-level security are intended to reinforce the same boundary. The Trust Center, not this architecture guide, is authoritative for production verification status.
- API and session design is organization-scoped. The active organization is carried in the session context and membership is rechecked by protected application workflows.
- PostgreSQL row-level security is the database boundary in the target architecture. Production enablement and effectiveness remain part of the control review published in the Trust Center.
- Stored files and background work carry organization context. Reports, exports, and queued scan jobs are designed to retain that scope through processing and delivery.
Switching organizations is designed to re-issue the active organization context rather than granting ambient cross-organization access.
Two collection paths into RelixQ SaaS
| Surface | What crosses the wire |
|---|---|
| CLI and CI submission | Finding metadata, matched evidence snippets, and only the artifacts the customer explicitly selects for submission. |
| Managed repository connection | Customer-authorized repository content is retrieved by RelixQ SaaS for the requested scan under the authorized connection scope; final retention and deletion commitments remain governed by the approved schedule and applicable agreement. |
| The finding contract | The normalized finding carries location, classification, confidence, and the matched evidence snippet rather than a full source file. |
| The AI explanation | The target AI explanation flow uses selected finding metadata rather than full source files by default. Exact fields, provider, retention, region, and customer controls remain under review in Trust Center: AI. |
| The QAST active probe | Read-only handshake observation. No application payloads are ever sent, nothing is mutated, and the run auto-halts at any third-party boundary. |
Credential handling
- CLI tokens
relixq loginruns the device-code flow — you approve in a browser, and no password is typed into the terminal. Tokens are stored in the OS keychain, never on disk in plain text.- API keys
- Created with a name, an explicit scope set, and an optional expiry. The full key is displayed once; only a hash is stored. Revocation is immediate through the JTI blacklist, not deferred to expiry.
- Integration secrets
- Sink credentials are written to the secret store and referenced by name. The raw secret is never persisted in the connection record and is never displayed back.
- GitHub App keys
- The App private key lives in the secret store. The token broker signs App JWTs, mints short-lived installation tokens, and caches them for 50 minutes.
- Password storage
- Argon2 hashing, a 12-character minimum with strength checking, lockout after 10 failed attempts, and full session revocation on password reset.
Inbound request verification
| Path | Verification |
|---|---|
| Runtime telemetry ingest | HMAC-SHA256 signed headers: X-Relixq-Org, X-Relixq-Timestamp, X-Relixq-Nonce, X-Relixq-Signature. Timestamp and nonce bound replay. |
| GitHub App webhooks | HMAC-SHA256 with a constant-time compare, plus delivery-id replay protection and fast-ack queueing. |
| Slack interactivity | Slack signing-secret verification with a 5-minute replay window, checked before any state change. |
| GitHub Issues status sync | Required HMAC (X-Hub-Signature-256). |
| Jira / Linear / ServiceNow status sync | Optional shared-secret HMAC. Webhooks for tickets the service did not create are logged and ignored. |
| Azure Boards status sync | No signature available from the provider — restrict at the network layer. |
The consent model for active probing
QAST is passive by default and sends zero packets. Active probing sits behind a hard consent gate with defense in depth at four levels. This is the part of the product most likely to appear in a security review.
- 01
Const invariants the engine enforces regardless of what anyone signs
No denial of service. No mutation. Read-only handshake observation only. Automatic halt at any third-party boundary. These are not configurable.
- 02
A signed Rules of Engagement document
A named signatory with a validity window, a scope allowlist where every entry carries a per-target authority attestation, exclusions that override allows, and at least one attested target required before signing. Signing seals the scope cryptographically; editing any sealed field invalidates the signature and re-closes the gate.
- 03
Server-side re-assertion
The orchestrator independently re-checks the gate before any probe starts — an expired window, an active blackout, or an unsigned RoE refuses the run.
- 04
Connect-time re-verification
The probe worker re-checks the resolved IP, the SNI, and any redirect at connect time, so a DNS change after signing cannot silently widen the scope.
Auditability
- Findings are immutable facts. You never edit a finding, you supersede it. Triage state lives on separate rows, so the trail reconstructs what was known and decided at each point in time.
- The audit chain is hash-linked and verifiable.
GET /api/v1/audit/verify-chainchecks its integrity independently of the application. - Closure requires evidence. In the QAST remediation lifecycle, verified fixed and accepted risk both require a rescan or retest confirmation, a scoped exception grant, or a documented compensating control — with a reference an auditor can follow.
The platform own cryptography
A product that detects post-quantum risk should not become a source of it. The target SaaS architecture applies the same crypto-agility principles, while production-verified control claims remain governed by the Trust Center:
- TLS 1.3 target for service-to-service transport.
- Hybrid PQC key exchange target where the platform SDK supports it — the same transition the product recommends.
- Swappable signing and hashing abstractions, so the platform can change algorithms without a rewrite. This is the crypto-agility it measures in your code.
- Zero-trust service posture by design — row-level security, JWT validation against published JWKS, and mTLS between services.
Related pages
Accounts, organizations and administration
The account lifecycle, authentication methods and their honest UI-versus-API status, organizations and the switcher, invitations, members and roles, and project administration.
QAST: Quantum Exposure Assessment
The adversary-validation layer: HNDL exposure classification via the Mosca inequality, attack-path projection, consent-gated read-only probing, remediation lifecycle, PTES/NIST reports, retest, and the PQC compatibility lab.
REST API reference
The endpoint map for the Enterprise REST API: authentication, tenancy, per-service endpoint tables, honest-empty semantics, and the internal endpoints you should never call directly.
Compliance evidence: what RelixQ produces
Which artifact answers which requirement, what RelixQ emits, and where the evidence boundary sits. For the mandates and deadlines themselves, see Post-quantum concepts.