← Documentation home
Security and data

Know exactly what crosses the cluster boundary.

This guide describes the implemented collection, permission and retention boundaries. Optional diagnostics and write workflows are called out separately from normal read-focused collection.

Outbound HTTPSNo kubeconfig in SaaSNormal role: get/listPublic chart

Architecture and trust boundary

1Customer clusterThe Helm-installed agent observes permitted Kubernetes resources.
2RedactionConfigured privacy filters remove sensitive fields before transport.
3KrevoPilot APIThe unique cluster key authenticates outbound reports over HTTPS.
4Tenant storageRows are stored with tenant and cluster scope and checked on access.

The agent initiates outbound communication. KrevoPilot does not require inbound network access to the Kubernetes API.

What is and is not collected

Collected when enabled
  • Cluster, node, workload, pod and readiness metadata
  • Resource requests, limits and usage samples
  • Kubernetes warning events and status reasons
  • Selected, redacted manifests needed for topology and diagnosis
  • Agent/chart/image version and connection health
Not collected
  • Kubernetes Secret values
  • Service-account bearer tokens
  • Unbounded full-cluster log archives
  • Arbitrary files from nodes or containers
  • Cloud credentials from customer workloads

Identifier privacy can replace resource names with stable one-way aliases. When real-name collection is enabled, the UI can show exact application and object names. Changes to this setting require an identity migration so old aliases and new names are not counted twice.

Agent permission modes

ModeDefaultBehavior
Normal collectionOnUses get and list for Kubernetes discovery, status, metrics, events and enabled manifest context. It has no mutation verbs.
DiagnosticsOffWhen explicitly enabled, may create and remove a restricted, short-lived diagnostic pod to test DNS, TCP or HTTP from the target namespace.
Write actionsOffWhen explicitly enabled, supported patch/update operations are server-side dry runs. They do not persist changes.
Important distinction

“Read-only” describes the normal collection path. Optional diagnostics need create/delete permission for their ephemeral pod. Optional write validation needs dry-run patch/update permission for supported workload kinds. Neither should be enabled without a customer security review.

Write validation excludes Secrets, RBAC objects and custom-resource definitions. Review the rendered chart RBAC before installation because enabled feature flags determine the final permission set.

Live logs, retained evidence and Loki

Live pod logsFetched on demand, redacted inside the cluster, displayed once and purged within 15 minutes.
Incident evidenceSanitized excerpts used for an investigation are retained for 30 days.
Historical logsAvailable only when the customer connects Loki or another supported source.
No Loki detectedKrevoPilot must say that historical querying is unavailable; it must not imply stored history exists.

Loki stays customer-controlled. KrevoPilot queries the configured endpoint within the permitted integration boundary; it does not silently deploy or retain a second copy of all logs.

Default retention schedule

DataDefault retention
Cluster snapshots7 days, maximum 10,000 per tenant and cluster
Raw resource metrics14 days
Hourly optimization rollups90 days
State, events and error fingerprints180 days
Sanitized investigation evidence30 days
On-demand redacted pod logsOne-time display, purged within 15 minutes
Command metadata30 days
Local database backups14 nightly copies

Optional object-storage backups need a separately configured lifecycle. Without that lifecycle, the application’s database cleanup cannot delete independent backup copies.

Deletion is not the same as retention expiry

Workspace deletion must remove tenant-scoped live data and follow the documented backup expiry process. Obtain written confirmation for contractual deletion requirements.

Tenant and cluster isolation

Operational records are tenant-scoped in the database. API authorization must derive the tenant from the authenticated session, never from an untrusted tenant identifier supplied by the browser. Cluster access is further narrowed by role and team assignment.

  • A customer cannot list another tenant’s clusters, users, investigations, deployments or metrics.
  • Cluster keys authenticate only their saved cluster connection.
  • Saved deployments and Git connections are workspace-scoped.
  • Cross-tenant checks belong in automated backend tests, not only frontend hiding.

Identity, SSO and audit

Owners configure OIDC, allowed company domains, automatic provisioning and optional SSO enforcement. Newly provisioned members receive the configured default role and no cluster access until assigned.

  • Roles: Owner, Admin, Developer and Viewer.
  • Teams map members to permitted clusters.
  • Password sign-in can remain available during SSO testing.
  • An Owner recovery path should remain available before SSO is required.
  • Audit records should attribute material actions to the authenticated user.

Customer security review checklist

Inspect RBACRender the chart with intended feature flags.
Confirm egressAllow only required platform and registry endpoints.
Choose identifiersDecide between real resource names and privacy aliases.
Choose log modeLive-only, sanitized evidence, or connected Loki history.
Set retentionConfirm live data and backup lifecycles.
Test isolationValidate tenant, team and cluster authorization.