Skip to main content

Data & encryption

This page explains where Penfield stores data in a typical customer deployment and how encryption is applied. Details that vary by cloud account or storage class are called out as customer-controlled.

Where data is stored

By default, Penfield uses databases that run inside your Kubernetes cluster:

StoreRoleTypical placement
MongoDBApplication dataIn-cluster, data on persistent volumes
PostgreSQLApplication and identity-related dataIn-cluster, data on persistent volumes

Persistent data uses Kubernetes Persistent Volume Claims (PVCs) backed by your cloud or on-prem storage platform (for example encrypted managed disks or encrypted storage classes).

Customer-controlled storage

Encryption at rest for volumes depends on the storage class, disk encryption settings, and key management you configure in your cloud or data center. Penfield’s deployment guides recommend using encrypted storage classes where available.

Data residency

In the standard customer-hosted model:

  • Application databases and volumes remain in your subscription, VPC/VNet, or data center.
  • Core product operation does not require shipping customer data to Penfield.
  • AI stays in your environment: either customer-provisioned LLM / AI models you already operate, or fine-tuned SLM models deployed as an SLM service in your Kubernetes cluster (usually on a GPU node).

Encryption

In transit

PathProtection
User browser → Penfield UI / APIHTTPS / TLS using certificates you provide for the application DNS name

At rest

AssetProtection
Database volumes (MongoDB, PostgreSQL)Platform disk / storage-class encryption that you enable
Kubernetes secretsStored as Kubernetes Secrets; many customers also integrate a secret manager or sealed-secrets workflow
Local user passwordsStored as one-way hashes using Argon2id (local accounts only; not used when SSO is enabled)

Application secrets

Penfield recommends secure practices for deployment secrets (database credentials, OIDC client secrets, and similar), such as not storing them in plaintext in version control and using a secret manager where available.

How secrets are stored and managed follows your organization’s policy. You choose the approach that meets your standards. Operator guidance is in the product documentation.

Data handling summary

TopicSummary
Data locationYour Kubernetes cluster, using your cloud or on-premises storage
DatabasesMongoDB and PostgreSQL (inside your Kubernetes cluster by default)
Encryption in transitTLS/HTTPS for client access
Encryption at restVia your encrypted volumes / disks
Password storageArgon2id hashing for local accounts only. With SSO, passwords are managed by your identity provider and are not stored by Penfield.
Retention & deletionControlled in your environment; removing the deployment and volumes removes application data under your operational process
BackupsFollow your backup and restore standards for cluster volumes and databases. Penfield can also provide a Kubernetes CronJob (for example nightly) to dump databases to a location you choose, such as S3 or Azure Blob.