Security

Effective May 1, 2026

OrionHub is a multi-tenant DevSecOps platform that holds credentials, source-control tokens, and audit data for its customers. This page documents the technical and organizational measures we use to protect that data and how to report suspected vulnerabilities.

1. Report a vulnerability

Email: security@nexagen.com

Encrypted reports: see /.well-known/security.txt for the current PGP key fingerprint and policy URL.

Response time: we acknowledge reports within 24 hours and provide a triage decision within 5 business days.

2. Coordinated disclosure policy

  • We follow a 90-day coordinated disclosure window. We’ll work with the reporter to ship a fix; once the fix is deployed (or 90 days elapse, whichever comes first), we coordinate public disclosure.
  • Safe harbor: Nexagen will not pursue legal action against researchers who:
    • Test only against their own tenant or accounts.
    • Do not access, modify, or delete data belonging to other tenants.
    • Do not disrupt service for other users (no DoS, no automated scanners running at high volume).
    • Report findings via the channel above before disclosure.
  • Bounty awards may be offered on a per-finding basis at our discretion. Reach out at the address above; we do not run a public bounty program.

3. Out of scope

  • Findings on third-party services we depend on (report to that vendor).
  • Best-practice recommendations without a demonstrated exploit (header settings, cookie flags) — happy to receive, but lower priority.
  • Vulnerabilities requiring physical access to a user’s device.
  • Volumetric DoS / DDoS.
  • Social engineering of Nexagen employees or customers.

4. Technical controls

Identity

  • Keycloak OIDC authentication; SSO supported via SAML / OIDC federation.
  • Five-role RBAC: platform_admin > owner > maintainer > developer > reader.
  • Optional enforced MFA at the Keycloak realm level for enterprise customers.

Cryptography

  • TLS 1.2 minimum on all public endpoints; HSTS enforced; modern cipher suites only.
  • Secrets at rest: HashiCorp Vault Transit (AES-256-GCM). Plaintext values never persist in our primary database.
  • RDS storage encryption with customer-managed KMS keys (AES-256).
  • S3 server-side encryption (SSE-KMS) on every bucket.
  • Cross-region backup keys are distinct from the primary region keys.

Tenant isolation

  • Postgres Row-Level Security (RLS) policies on every tenant-scoped table. A SQL bug in application code cannot leak across tenants.
  • Cross-tenant routes (admin endpoints) are gated by a separate platform-admin role and explicitly disable RLS for the read; they cannot decrypt secret values.

Audit logging

  • Every state-changing API call writes an audit row.
  • Rows include actor (user_id), tenant_id, action, resource_type, resource_id, and a structured detail payload.
  • Retention: 395 days minimum (1 year + 30-day buffer).
  • Write-only application role; reads require a separate query-only role to prevent app-bug tampering.

Network & infrastructure

  • VPC isolation; application + database in private subnets; only ALB / CloudFront in public subnets.
  • AWS WAF managed rule sets (Core, Known Bad Inputs, SQLi) on the public ingress.
  • CloudTrail enabled in all regions with logs to a write-protected, separately-keyed S3 bucket.
  • GuardDuty enabled across the account.
  • Principle-of-least-privilege IAM with no long-lived access keys for service principals.

Software supply chain

  • SBOMs generated for every release via CycloneDX.
  • Dependency scanning on every PR (SCA + license).
  • Container image scanning; signed images via Cosign.
  • Reproducible builds using locked dependency manifests.

5. Compliance posture

  • AWS Marketplace: published per Data Handling Disclosure and the AWS Marketplace SaaS guidelines.
  • GDPR + CCPA: see the Privacy Policy. Standard Contractual Clauses available for EU/UK personal data.
  • U.S. Government: AWS GovCloud deployment supported for IL5 use cases under separate engagement. IL6 / SIPR is not in scope at this time.
  • SOC 2 Type II: in progress — observation period scheduled for 2026 calendar year.

6. Incident notification

If we identify a security incident that affects customer data, we will notify affected tenant Owners and Platform Administrators within 72 hours of discovery, via the email on file plus an in-product banner. Notification includes: the nature of the incident, data classes affected, customer-specific impact (where known), the remediation taken, and recommended customer actions.

7. Status

Real-time platform status: status.orionhub.io (placeholder — live status page deployment is part of operational rollout).