Trust, But Verify
Most vendors ask you to trust their internal controls. Icebreaker gives you something to check instead. Verification isn't hard — most of the claims below take minutes to confirm from inside your own cluster — and it buys you real accountability, lower risk, and full transparency, not just our word for it. We separate the control plane (hosted by Icebreaker) from the data plane (your cluster, your data): only metadata crosses that boundary — instance definitions, capacity policy configuration, and operational status like pod health and replica counts.
1. Your data never crosses the boundary, because it never has to leave.
This isn't just a policy about what we upload or export. The execution engines that actually run your queries are ephemeral pods that live inside your own cluster — see Query Isolation for how that works. Query content, intermediate state, and results are produced and consumed entirely within your VPC. There's no export step to trust, because there's no execution happening anywhere else — Icebreaker never has direct access to your sensitive data, or to the data of the tenants and customers you serve.
2. The connection is outbound-only.
The Icebreaker Agent in your cluster initiates a single outbound connection to the control plane. The control plane never initiates a connection into your cluster — there's nothing for it to reach even if it wanted to.
3. Access is least-privilege.
The Agent's Kubernetes permissions are scoped to the namespace you designate for Icebreaker workloads. The only cluster-wide access it holds is for capacity policy resources, which by nature aren't namespaced in Kubernetes.
4. Query results stay local too.
Results are delivered from your query executor pods back to the Data Server over Redis — deployed by the Icebreaker Agent inside your own cluster, next to the Data Server itself, never in Icebreaker's control plane. If your team is wary of caches because you don't trust where they live, the same principle applies here: nothing about your query results is ever sent anywhere outside your cluster.
On the roadmap
Connecting Icebreaker to your Iceberg catalog currently means providing catalog and storage credentials, which are stored in the control-plane database. We recommend scoping those credentials to the minimum permissions Icebreaker needs and rotating them regularly. We're rolling out support for IRSA / Pod Identity so this step can be removed entirely — no static keys stored anywhere.