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:
| Store | Role | Typical placement |
|---|---|---|
| MongoDB | Application data | In-cluster, data on persistent volumes |
| PostgreSQL | Application and identity-related data | In-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).
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
| Path | Protection |
|---|---|
| User browser → Penfield UI / API | HTTPS / TLS using certificates you provide for the application DNS name |
At rest
| Asset | Protection |
|---|---|
| Database volumes (MongoDB, PostgreSQL) | Platform disk / storage-class encryption that you enable |
| Kubernetes secrets | Stored as Kubernetes Secrets; many customers also integrate a secret manager or sealed-secrets workflow |
| Local user passwords | Stored 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
| Topic | Summary |
|---|---|
| Data location | Your Kubernetes cluster, using your cloud or on-premises storage |
| Databases | MongoDB and PostgreSQL (inside your Kubernetes cluster by default) |
| Encryption in transit | TLS/HTTPS for client access |
| Encryption at rest | Via your encrypted volumes / disks |
| Password storage | Argon2id hashing for local accounts only. With SSO, passwords are managed by your identity provider and are not stored by Penfield. |
| Retention & deletion | Controlled in your environment; removing the deployment and volumes removes application data under your operational process |
| Backups | Follow 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. |