Loading…
Loading…
Describes the product's network architecture, including its in-VPC deployment, internal-only ingress, private database connectivity, and outbound traffic.
This document describes the product's network architecture, data flow, and data residency model. The product is designed to run entirely within an API publisher's own network infrastructure, providing complete control over data locality and access.
All core components—the control-plane API, admin UI, conversion runtime, background worker, and PostgreSQL database—are deployed inside your network (e.g., your VPC). The product does not expose any public endpoints by default, and all ingress is handled through internal-only listeners. This means your API traffic, including SOAP request/response payloads and archived logs, never leaves your infrastructure. Consequently, data residency is determined by the region where you deploy the product.
The only outbound traffic from the product is a minimal, metadata-only signal sent over HTTPS to the Specaria platform for licensing, telemetry, and update notifications. No API payloads, PII, or other sensitive data is ever transmitted externally.
The product's network security model is based on four key principles: in-VPC deployment, internal-only ingress, private database connectivity, and strictly limited outbound communication.
flowchart TD
subgraph Your Network / VPC
subgraph " "
direction LR
IAP[Identity-Aware Proxy]
ILB[Internal Load Balancer]
end
subgraph Product Components
direction TB
Admin[Product Admin Services]
Runtime[Product Runtime]
DB[(PostgreSQL Database<br>Private IP)]
end
subgraph Network Traffic
direction LR
Consumer[API Consumer<br>(Internal)]
Operator[Operator/Admin]
end
Consumer --> ILB --> Runtime
Operator --> ILB --> IAP --> Admin
Runtime --> DB
Admin --> DB
end
subgraph Internet
Specaria[Specaria Platform<br>api.specaria.io]
end
Admin -- "Outbound HTTPS (Metadata Only)" --> Specaria
Runtime -- "Outbound HTTPS (Metadata Only)" --> Specaria
style DB fill:#f9f,stroke:#333,stroke-width:2px
style Specaria fill:#ccf,stroke:#333,stroke-width:2pxAll product components run inside your own network. This includes:
Your SOAP traffic, request/response payloads, learned examples, and the entire metadata database reside within your infrastructure. Specaria never receives, stores, or proxies your runtime traffic. This ensures that data residency is dictated by your deployment choices.
By default, the product exposes no public endpoints. Both the runtime and administrative services are configured with internal-only ingress.
On Google Cloud Platform, this is implemented using Cloud Run ingress set to internal-and-cloud-load-balancing, making the raw service URL unreachable from the public internet. Because all ingress paths are internal, trusted identity headers injected by the proxy (e.g., X-Goog-Authenticated-User-*) cannot be spoofed by external actors.
The product's services connect to the metadata database over a private network path, not a public IP address.
On GCP-native deployments, services authenticate to the database using IAM database authentication instead of static passwords. Each service uses its unique service account identity to obtain a short-lived database authentication token, which is automatically refreshed. This eliminates the need to manage a long-lived static database password.
NOTE
For environments where IAM database authentication is not available, a password-based authentication path is supported. This is configured by providing the database password via the S2R_DB_PASSWORD secret. The deployment runbook specifies which authentication method applies to your installation.
The product's only outbound communication is to the Specaria platform (api.specaria.io) over HTTPS (TCP port 443). This traffic is strictly limited to metadata for licensing, telemetry, update notifications, and feedback.
The product never sends the following data externally:
Your VPC firewall must be configured to permit outbound TCP 443 traffic from the product's subnet to the endpoints listed in the egress allow-list.
IMPORTANT
While the product backend only calls api.specaria.io, operators may need browser access to other Specaria domains (e.g., for documentation or the management portal). These are not called by the product itself.
The following environment variable is used for database authentication in specific environments.
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
S2R_DB_PASSWORD | String | — | Varies | The database password. This is used only when IAM database authentication is not available. The deployment runbook for your installation specifies whether this is required. |
| Property | Behaviour |
|---|---|
| Where it runs | Entirely inside your VPC |
| Data residency | Follows your deployment region; data never leaves your network |
| Public endpoint | None — internal-only ingress by default |
| Operator access | Internal load balancer + identity-aware proxy |
| Database path | Private (private-IP Cloud SQL; IAM DB auth on GCP) |
| Outbound traffic | HTTPS to the Specaria platform only; metadata-only, no payloads/PII |
api.specaria.io and other required domains as specified in the egress allow-list.