Skip to main content

Encryption posture

In transit​

PathProtocolNotes
Customer → ingestion-gateway (api.infrasage.dev)TLS 1.3Cloudflare edge terminates TLS then re-encrypts to origin
Customer → console (console.infrasage.dev)TLS 1.3HSTS, secure cookies, SameSite=strict
Ingestion-gateway → ClickHouseTLS (opt-in via CLICKHOUSE_TLS_ENABLED=true)Default false today because same-cluster; set to true for cross-AZ or cross-cluster deploys
AIOps-engine → ClickHouseTLS (same flag)Ditto
AIOps-engine → BedrockTLS 1.3AWS SDK default; not disable-able
AIOps-engine → Anthropic direct (optional)TLS 1.3Anthropic SDK default
Engine → engine (leader election)mTLS supportedOptional, enable via Helm mesh.mtls.enabled=true

We pin the AWS-recommended TLS 1.3 modern cipher list. TLS 1.0 and 1.1 are rejected at the edge.

At rest​

StorageEncryption defaultCustomer-managed keys
ClickHouse data PV (EBS gp3 / io2)AWS-managed KMS (SSE-EBS)Supported via helm/infrasage/values.yaml → ebs.kmsKeyArn
Redpanda log-segment volumesAWS-managed KMS (SSE-EBS)Supported
S3 backups (clickhouse-backup)AWS SSE-KMSSupported (BYOK on S3 bucket policy)
Container images (ghcr.io)Cosign signatures + registry TLSN/A
Kubernetes secretsDefault K8s encryption at rest (EncryptionConfiguration)Supported

Secret management​

Recommended for production: the ExternalSecrets operator pointing at AWS Secrets Manager, HashiCorp Vault, or GCP Secret Manager.

# helm/infrasage/values-prod.yaml
externalSecrets:
enabled: true
backend: aws # or "vault" or "gcp"
role: arn:aws:iam::123:role/infrasage-secrets-reader

Discouraged outside dev: Kubernetes Secret objects created directly with kubectl create secret. These are not encrypted at rest unless EncryptionConfiguration is enabled on the cluster.

Forbidden in production: hardcoded credentials in values.yaml. The Helm install will fail if INFRASAGE_ADMIN_PASSWORD is unset, and no default admin credential ships with the chart.

KMS key rotation​

  • Ingest gateway API keys: manual rotation through the /api/v1/keys API, recommended cadence 90 days
  • Database credentials: manual rotation by updating the secret, recommended cadence 180 days
  • LLM provider keys: manual rotation in the Bedrock or Anthropic console; cadence depends on the provider's policy

Automated key-rotation cron is Q1 2027 roadmap.

PII redaction (before encryption)​

Even with everything encrypted end to end, InfraSage redacts sensitive strings in log payloads before they reach the RCA agent's LLM context. See Trust Center → PII handling.