EMR

Security / Security overview

Security overview

What the software does to protect records, described technically. Version 1.0.

No compliance claim. Lulu hasn't been independently audited or certified, and this document doesn't claim compliance with any law, regulation or standard. Whether Lulu fits your organization's obligations is for your organization and its counsel to decide.

Architecture

Encryption

WhatHow
RecordsAES-256-GCM (Web Crypto). New random 96-bit IV for each file; authenticated, so any change makes the file fail to open.
Data keyRandom 256-bit. macOS: Keychain, this device only, only while unlocked. Windows: DPAPI (current user), stored in the user's local app-data folder (not roamed).
UnlockTouch ID or the Mac password (LocalAuthentication); Windows Hello (UserConsentVerifier). The app gets only a yes or no answer.
RecoveryThe data key, wrapped with the recovery passphrase (PBKDF2-SHA256, 310,000 iterations).
Exports (.emrx)Passphrase-wrapped (PBKDF2-SHA256, 310,000 iterations), AES-256-GCM.
DocumentsEach file has its own AES-256-GCM key, kept inside the encrypted record. Random names, sizes padded to 64 KB. Checked by SHA-256 when opened.
OneDrive backupsA separate backup key wraps a new per-file key. The backup key is wrapped by the backup passphrase (Argon2id, libsodium) and by a printed recovery key (HKDF). Files are bound to their sequence numbers and hash-chained, so tampering, missing files and rollback are detected. The folder holds only ciphertext and a plain-text READ ME; no copy of the app is ever written there, and the shells refuse any other file name.
iPhone syncP-256 key agreement with HMAC confirmation at pairing; per-phone AES-256-GCM keys; local network only. Changes made on the phone (including home programs, templates and custom exercises) are checked by the Mac like its own, with edit history and review before saving.
Shared PDFsPassword-protected: macOS PDFKit's standard PDF encryption; on Windows AES-256 (PDF 2.0 handler, lopdf).

The recovery passphrase and export passphrases must be at least 10 characters. A recovery key file and exports are protected only by that passphrase (PBKDF2), so a long sentence is the strongest choice, and exports should travel separately from their passphrase. A stronger key derivation (Argon2id, as OneDrive Backup already uses) is planned with the next file-format version.

License keys

Access and accountability

Integrity and availability

Data leaving the device

Only through a deliberate action, and each one is logged:

Diagnostics

A short local log for troubleshooting:

Supply chain

Testing

Reporting a security problem

Contact the publisher (Settings → About → Support). Please don't include student information in reports.