Control channel
The BYOC deployment has three network connections, all initiated from within your account:
The deployment agent uses an egress-only polling model — it reaches out to Restate’s control plane to check for work. Restate’s control plane never initiates connections into your account for provisioning or management operations.
Restate’s control plane connects to your Kubernetes API to manage Restate environments. This connection uses a bearer token scoped to a limited Kubernetes RBAC role. You can restrict access to the Kubernetes API endpoint by IP allowlisting.
The token can manage
RestateCluster resources and namespaces, and write the in-cluster signing-key Secrets it provisions — but it cannot read existing Secrets in your cluster. Revoking the token disables management while leaving running environments untouched.What crosses the control channel
Sent to your cluster:
Received from your cluster:
What does NOT cross the control channel:
- Customer application data or invocation payloads
- State stored in Restate
- Customer secrets or credentials
- Application logs (retained in your account)
Bootstrap security
The foundation template is a standard CloudFormation stack (AWS) or ARM template (Azure) that you deploy yourself. It creates scoped roles for the deployment agent.- AWS
- Azure
The CloudFormation template creates an IAM role for the deployment agent with the following permissions, scoped to the install’s resources:
All IAM roles follow least-privilege principles and are scoped to the resources created by the stack.
Infrastructure security
Compute
Kubernetes clusters run on dedicated cloud-managed virtual machines:
Instance security features include IMDSv2 enforcement (AWS), encrypted storage at rest (AES-256), and no local ephemeral storage (all data on network-attached volumes).
Patching
Vulnerabilities are triaged and prioritized by severity, with critical issues fast-tracked ahead of routine maintenance.
Network isolation
Each BYOC deployment runs in its own VPC with private subnets across multiple availability zones. Restate environments are isolated via Kubernetes NetworkPolicies:- Ingress: only the ingress proxy and metrics collector can reach environment pods
- Egress: DNS, peer nodes in the same namespace, allowlisted VPC endpoints, tunnel, and the public internet
- Cross-namespace: blocked by default
Service connectivity
Restate environments invoke your service handlers over HTTP. Supported connectivity patterns:Data sovereignty
All customer data remains in your cloud account:- Invocation payloads, stored state, and snapshots never leave your account
- Application logs are retained in-cluster and accessible to you
- Restate collects only operational metadata (health, resource utilization, environment configuration) for monitoring and management
Audit
Customer controls
Frequently asked questions
Does Restate have access to my AWS or Azure credentials?
Does Restate have access to my AWS or Azure credentials?
No. Restate never receives your cloud provider credentials. The deployment agent operates using an IAM role on AWS or a managed identity on Azure within your account that you provision. Restate’s control plane authenticates to your Kubernetes cluster using bearer tokens with limited RBAC permissions.
Can I run BYOC in an air gapped environment?
Can I run BYOC in an air gapped environment?
Not with the standard deployment model. The deployment agent requires outbound internet access to poll for jobs, and Restate’s control plane requires access to your Kubernetes API. For environments with strict egress requirements, contact Restate to discuss private connectivity options such as AWS PrivateLink or Azure Private Link.
What happens if I revoke Restate's access?
What happens if I revoke Restate's access?
Your Restate environments continue running because they are self contained workloads. However, you lose the ability to create, update, delete, or scale environments through the Restate Cloud console. You can restore management by granting access again.
How do you prevent lateral movement if the control plane is compromised?
How do you prevent lateral movement if the control plane is compromised?
Multiple layers of defense limit access:
- Kubernetes RBAC limits the control plane to RestateCluster CRD operations and namespace scoped resources.
- Network policies prevent pods from communicating outside their namespace.
- Nodes do not expose SSH access. All management uses the Kubernetes API.
- Pod security contexts enforce non root execution and read only filesystems.
- You retain audit logs of all operations.
How are secrets managed?
How are secrets managed?
Signing keys for request authentication are generated in the cluster and stored as Kubernetes Secrets within the environment’s namespace. They never leave your cluster. For your own application secrets, use your existing secrets management solution, such as AWS Secrets Manager, Azure Key Vault, or HashiCorp Vault.
What data does Restate collect from my environments?
What data does Restate collect from my environments?
Restate collects only the operational metadata required for management, including pod health, resource utilization, non sensitive environment configuration, and cluster metrics used for monitoring and alerting.Restate does not collect application payloads, invocation data, stored state, customer secrets, or application logs.
Can I use my own container registry?
Can I use my own container registry?
Yes. You can mirror Restate images to your private registry and configure the deployment to pull from there. This lets you use your existing vulnerability scanning and policy enforcement tooling.
Do you have SOC 2 certification?
Do you have SOC 2 certification?
Restate is SOC 2 Type I certified, with a Type II audit underway.