Storage Level Encryption
You set up storage level encryption by turning on disk encryption in your cloud or database host. This locks raw files on physical drives using a secret key managed by your team. Most teams enable this setting when they first build a database volume or file store. Still, broad database roles still let logged-in users read plain text data during active sessions. How storage level encryption works in practice Storage level encryption protects data while it sits on physical disks, solid-state dr
Column-Level Encryption: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You set up storage level encryption by turning on disk encryption in your cloud or database host. This locks raw files on physical drives using a secret key managed by your team. Most teams enable this setting when they first build a database volume or file store. Still, broad database roles still let logged-in users read plain text data during active sessions.
How storage level encryption works in practice
Storage level encryption protects data while it sits on physical disks, solid-state drives, or backup tapes. When a database writes a block to disk, the storage engine scrambles those bytes first. When the system reads that block back into memory, the engine unscrambles the bytes right away. Apps and users do not need to change how they write queries or save files.
The system relies on a hierarchy of secret keys to do this job well. A master key lives inside a dedicated key service or hardware module. That master key locks and unlocks the data keys that sit closer to the storage volumes. Teams rotate the master key on a set schedule to follow security rules.
Cloud providers and database engines offer built-in toggles for this setup. You pick a master key from your account and assign role permissions to the storage service. The host service then uses that role to load the data key when the server boots. If someone steals a physical drive from a data center, they only get scrambled bytes.
Key management and role permissions
Good key rules keep your disk encryption strong over time. You must separate the team that manages keys from the team that runs the database. If one admin account can both read backups and export keys, the risk stays high. Security teams restrict key permissions so only the storage host role can call the decrypt action.
Teams also need to plan for snapshots, replicas, and off-site backups. Every copy of a disk volume needs its own encryption rule and key assignment. When you share a snapshot across accounts, you must grant permission on the custom key too. Default provider keys often block cross-account sharing, so teams create custom keys for shared data.
Column-Level Encryption: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
What disk encryption solves and what it leaves open
Disk encryption solves a very specific problem for engineering teams. It stops attackers who get their hands on raw hardware, lost backup tapes, or unmounted volumes. It also helps teams pass basic audits that require all data at rest to be locked.
Yet this setup leaves a major operational gap during daily work. Once the storage engine boots and loads the key, the database reads plain text into memory. Storage encryption only checks if the disk host has permission to start up. It does not check who logs into the database or what queries they run in flight.
When an engineer or app logs in with valid credentials, the database returns plain text rows. Disk encryption does not rewrite emails, phone numbers, card numbers, or national IDs in query results. It cannot stop a user with broad permissions from running a bulk export or dropping tables. To protect live data, teams must control individual commands and mask sensitive fields during active sessions.
Govern statements and responses across databases and APIs
Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.
First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.
Frequently asked questions
Does storage level encryption slow down database queries?
Modern processors have built-in hardware support that handles disk encryption with very little delay. Most teams see minimal impact on read and write speeds when they turn it on.
Does disk encryption protect data from stolen database passwords?
No, it only protects data on unmounted drives or stolen physical disks. Anyone who logs into the running database with valid credentials will receive plain text query results.
What is the difference between provider keys and customer keys?
Provider keys are created and rotated by your cloud host with no extra setup needed. Customer keys let your own team control rotation schedules, key deletion, and cross-account role permissions.
Related guides
In this post