Handbook - Architecture

Tenancy And Security

CloudGrid is designed so tenant, company, project, and secret boundaries remain enforceable at public APIs, private messages, and storage.

On this page

CloudGrid is designed so tenant, company, project, and secret boundaries remain enforceable at public APIs, private messages, and storage.

Trust Sources

ValueTrusted source
Browser identityBFF session cookie or validated bearer token in deployed mode.
Company accesscontrol-plane company membership.
Project accesscontrol-plane project membership or company-admin fallback.
Ingest projectvalidated project API key, trusted bearer JWT, or local token mapping.
Telemetry ownershipnormalized auth context on ingest command.

OTLP attributes are telemetry data only. They are never trusted for tenant, company, project, principal, or permission decisions.

Secret Boundaries

Secrets must not appear in frontend bundles, public responses, default logs, dashboards, generated assets, or telemetry attributes.

SecretAllowed location
SurrealDB username/passwordstorage-read, storage-write, control-plane process config.
SSO client secretsBFF process config.
Session secretBFF process config.
Project API key secretReturned once on creation, then only one-way hash in control-plane.
Self-observability bearer tokenservice process config and collector auth path.

Deployed Authorization Flow

diagram
Browser HttpOnly session cookie BFF control-planemembership resolution AuthContext storage-read live trace session
Mermaid diagram rendered with beautiful-mermaid.

Ingest Authorization Flow

diagram
OTLP sender Bearer credential collector Validate ingest scope Check project status cache Persist command with ownership metadata
Mermaid diagram rendered with beautiful-mermaid.

Production ingest validation must not call control-plane or SurrealDB per request. Project status is cached by the collector and must fail closed in production when stale.

Local Mode Warning

Local mode has no login and treats the local user as admin. Use it only on a trusted local or internal network.

Next Step

Configure the relevant mode in Configuration.

Last updated .