On-device encryption vs encryption "in transit"
A lot of apps encrypt your data "in transit" — while it travels to their servers — then store it decrypted once it arrives. That protects against someone intercepting the connection, but it means the company itself, and anyone who breaches their systems, can read your records directly off the server.
On-device encryption is a stronger standard: your information is encrypted on your phone before it is ever sent anywhere. What reaches a server is ciphertext — ideally the only form your data ever takes once it leaves your device.
The practical result, done well: even if the company behind the app were compromised in a data breach, an attacker would get ciphertext, not readable records. That's a meaningfully different security posture than an app that only protects data in transit.
Why health data deserves the highest protection
Health data is among the most sensitive categories of personal information that exists. It can reveal conditions, medications, family history, and lifestyle factors that have real consequences in contexts far beyond healthcare — employment, insurance, personal relationships.
Medical records are also among the most valuable data types on the black market. A stolen financial credential can be changed. A health record cannot. It contains information that remains sensitive for decades and can be used for identity theft, insurance fraud, and targeted manipulation.
Many health apps on the market today use cloud storage with only in-transit encryption, meaning the company can read your data and it may be shared with third-party advertising partners, analytics services, or sold as aggregated data. Reading the privacy policy carefully is not paranoia — it is due diligence when the subject is your family's medical history.
Red flag: If a health app's privacy policy mentions sharing de-identified or aggregated health data with third parties for research or commercial purposes, your data is not truly private — even if it is "anonymised."
How on-device encryption works in practice
A well-built app derives an encryption key and uses it to encrypt your data with AES-256 (the same standard used by financial institutions and intelligence agencies) before any of it is written to local storage or transmitted anywhere. The strongest version of this ties the key to something only you control, like a device-held secret or passphrase — though implementations vary, and it's worth asking any app how their key derivation actually works rather than assuming.
AES-256 means the encryption uses a 256-bit key. There are 2²⁵⁶ possible keys — approximately 10⁷⁷. Even if every computer on Earth searched for the correct key, it would take longer than the current age of the universe to find it by brute force. Properly implemented AES-256 is computationally unbreakable with any technology that exists or is projected to exist.
The cryptography is only as strong as its implementation and key-management design, which is why it matters that an app's encryption architecture is transparent and, ideally, audited by a third party.
Questions to ask before trusting a health app
- Where is my data encrypted — on my device, or on your servers?
- Is any of my data ever stored or processed as plain text on your servers?
- Can your employees or engineers access the content of my health records?
- What happens to my data if your company is acquired or goes out of business?
- Has your encryption architecture been independently audited?
- Do you share any form of health data — including aggregated or anonymised data — with third parties?
A company with a genuinely strong architecture should be able to answer the first two questions clearly and immediately: data is encrypted on-device, and it's never stored as plain text on their servers.
What MedKeep does
MedKeep encrypts your health records on your device with AES-256 before anything is stored or synced. Data on our servers is always encrypted ciphertext, never plain text — reading the content of your health records isn't part of how the app operates, and it's not something our team does.
MedKeep is offline-first. Core functionality requires no internet connection. When your records sync to our servers, only encrypted ciphertext is sent. The one exception is lab-report auto-extraction, which briefly processes that specific document to pull out values for you to review — everything else in your vault stays encrypted end to end.
Ready to put this into practice? Read the step-by-step guide: How to Store Medical Documents Securely on Your Phone