Skip to main content

Cloud Infrastructure

Seal is a cloud-native SaaS platform hosted entirely on Google Cloud Platform (GCP). This page provides an overview of our tech stack, infrastructure architecture, and security controls.

Tech Stack

LayerTechnology
Cloud ProviderGoogle Cloud Platform (GCP)
ComputeCloud Run (serverless containers)
DatabaseAlloyDB (PostgreSQL-compatible)
File StorageFirebase Storage (Google Cloud Storage)
LanguageTypeScript (full stack)
FrontendReact
BackendNode.js

Architecture Diagram

The following diagram illustrates how data flows through the Seal platform, highlighting the security controls at each layer. Seal Cloud Infrastructure Architecture Diagram

Why VPC Matters

All internal communication between Seal services occurs within a private Virtual Private Cloud (VPC). This provides critical security benefits:
BenefitExplanation
No public internet exposureTraffic between Cloud Run, AlloyDB, and Storage never leaves Google’s private network
Private IP addressingInternal services communicate via private IPs only — databases have no public IP
Network-level isolationEven if credentials were compromised, attackers cannot reach services from outside the VPC
Defence in depthVPC isolation + encryption + authentication
Google VPC documentation
The VPC acts as a secure perimeter around our data layer. Combined with mTLS encryption and IAM authentication, this ensures that even internal traffic is protected against interception and unauthorised access.

Security at Each Layer

1. Client to Cloud Run (Edge)

All traffic entering the Seal platform is encrypted using TLS.
AspectDetails
ProtocolHTTPS only (HTTP connections rejected)
TLS VersionTLS 1.2 or higher
Certificate ManagementAutomatic via GCP-managed certificates
AuthenticationFirebase JWT (browser) or API Key (REST API)
API keys are hashed using SHA-512 and never stored in plaintext. Keys are shown to users only once at generation time. Permissions are scoped per system and keys can only be created by admins.

2. Cloud Run to AlloyDB (Database)

Database connections are secured using the AlloyDB Auth Proxy, which provides mutual TLS (mTLS) and IAM-based authentication.
AspectDetails
Connection MethodAlloyDB Auth Proxy (sidecar container)
EncryptionMutual TLS (mTLS)
AuthenticationGCP IAM Service Account
NetworkPrivate VPC, no public IP exposure
SSL EnforcementAlloyDB configured to reject non-SSL connections
The Auth Proxy handles certificate rotation automatically, eliminating the risk of expired certificates causing outages.

3. Cloud Run to Firebase Storage (Files)

File storage connections use Google Cloud Storage APIs with IAM authentication.
AspectDetails
ProtocolHTTPS (mandatory for GCS API)
AuthenticationGCP IAM Service Account
Access ControlFirebase Security Rules + application-level checks

Encryption

Encryption in Transit

All data in transit is encrypted:
ConnectionEncryption
Client → Cloud RunTLS 1.2+
Cloud Run → AlloyDBmTLS (via Auth Proxy)
Cloud Run → Firebase StorageTLS (HTTPS)

Encryption at Rest

All data at rest is encrypted using AES-256:
StorageEncryptionKey Management
AlloyDBAES-256Google-managed (automatic rotation)
Firebase StorageAES-256Google-managed (automatic rotation)
BackupsAES-256Google-managed
For organisations requiring additional control over encryption keys, Customer-Managed Encryption Keys (CMEK) are available through Google Cloud KMS. Contact [email protected] for more information.

Network Security

VPC Isolation

Seal’s infrastructure operates within a private Virtual Private Cloud (VPC):
  • No public database access — AlloyDB has no public IP address
  • Private egress only — Cloud Run connects to data services via private IP ranges
  • VPC Connector — Dedicated connector for secure communication between services

Data Residency

RegionLocationAvailability
EU (Default)europe-west1 (Belgium)All customers
USus-central1 (Iowa)Enterprise customers
Enterprise customers can request deployment in additional GCP regions. Contact [email protected] to discuss requirements.