Security · Controls

What we have, what we're finishing, what we'll build on request

An honest inventory of GRID's security posture. Written so a procurement team can answer 80% of their diligence questions without a call. Each control lists what's actually running in production, not what's in a deck. If something you need isn't here and isn't listed as planned, write to us — most enterprise gaps close in the first contract.

Access control

AC-01

Role-based access within Environments

Shipped

Every Environment has an Owner plus memberships scoped to Admin, Contributor, or Viewer. The API enforces owner-only writes on Environment-level mutations.

Evidence: EnvironmentMembership model · assertOwnsEnvironment helper

AC-02

Per-route role enforcement

In progress

Route-level role checks (ADMIN / CONTRIBUTOR / VIEWER) are being fanned out from the current Environment-owner gate to all downstream routes.

AC-03

SSO via OIDC

In progress

Google and Microsoft sign-in available; additional OIDC providers (Okta, Azure AD) integrate via the same Auth.js surface.

AC-04

SCIM 2.0 provisioning

On request

Automated directory provisioning for enterprise identity providers. Built on demand for enterprise deals that require it.

Audit

AU-01

Audit log

Shipped

Every workflow, execution, member change, integration change, and Atrium query is recorded in the AuditLog with before/after JSON diffs.

Evidence: AuditLog model · /audit page · CSV export endpoint

AU-02

Autonomous action trace

Shipped

Every Atrium action persists a KernelTrace including tools called, data read, and the rationale. Surface-facing “why did Atrium do this?” panel exposes the trace inline.

Evidence: KernelTrace · IntelligenceLog models

AU-03

Tamper-evident monthly reports

In progress

Signed monthly ROI reports for finance review. Hash of the month’s AuditLog entries embedded in the PDF so the report is verifiable after the fact.

Cryptography

CR-01

Encryption in transit

Shipped

TLS 1.2+ for all HTTP traffic. HSTS with preload.

CR-02

Encryption at rest

Shipped

Primary datastore is encrypted at rest via the managed provider. Secrets (integration tokens, email verification, invite tokens) are stored as SHA-256 hashes or envelope-encrypted blobs.

Evidence: lib/email-verification.ts · lib/invitations.ts · lib/keys

CR-03

Customer-managed keys (CMK / BYOK)

On request

Available on enterprise plans. Built on request for the first customer that contractually requires it.

Consent & privacy

CO-01

Consent log

Shipped

Every consent event (signup, marketing, analytics, data-processing, third-party share) is recorded with policy version, hashed IP, and truncated user-agent. Re-consent triggers on policy-version bumps.

Evidence: ConsentLog model · lib/consent/log.ts

CO-02

Scoped consent per data class

In progress

Consent scoped by integration and data class (e.g., Gmail read vs Gmail send). The UI exposes this per-integration rather than as a single global toggle.

CO-03

Data residency

On request

Regional data planes for EU / UK / US. Planned for the first enterprise deal whose MSA requires it.

Change management

CH-01

Reversible-by-default autonomy

Shipped

Every autonomous action at Level 3+ creates a compensating PendingAction that can be undone within a 24-hour window.

Evidence: PendingAction model · AutonomyConfig model

CH-02

Per-scope autonomy (5 levels)

Shipped

Observe → Suggest → Act & Notify → Autonomous → Self-Direct. Configurable per Workflow and per System. Recommendation engine surfaces upgrades based on approval rate.

Evidence: AutonomyConfig · Atrium Trust Score

Approvals

AP-01

Multi-step approval chains

Shipped

ApprovalRequest supports multi-step chains with per-step reviewer assignment, status, and comments.

Vulnerability management

VM-01

Dependency monitoring

Shipped

Automated CVE scanning on every push via the hosting provider’s advisory feed. Dependabot-equivalent PRs for high-severity CVEs.

VM-02

Responsible disclosure

Shipped

Public security.txt and disclosure page. 48-hour acknowledgement commitment.

Evidence: /security · /.well-known/security.txt

Availability

AV-01

Rate limiting

Shipped

Per-identity rate limiting on all authenticated API routes. Limits are per-role and can be lifted per-customer.

Evidence: lib/rate-limit.ts · rateLimitApi

AV-02

Backup & recovery

Shipped

Automated daily Postgres snapshots with 30-day retention. Restore rehearsed monthly.

Need a control that isn't listed, or an expedited SOC2 Type II? Email security@grid.app. The public disclosure process lives on the security page.