Overview
Salud Health is built with privacy-first principles using Aleo blockchain’s zero-knowledge technology. Your medical data is encrypted end-to-end, and only you control who can access it.Salud achieves HIPAA-grade encryption through client-side encryption, zero-knowledge proofs, and blockchain-enforced access control.
Privacy Architecture
Three-Layer Security Model
End-to-End Encryption
Data encrypted before leaving your browser, decrypted only by authorized users
Zero Server Knowledge
Backend servers never see your unencrypted medical data
Blockchain Immutability
Records permanently stored with cryptographic integrity
Granular Access Control
You control exactly who can access each record and for how long
Data Flow and Privacy
Creating a Medical Record
Step 1: Client-Side Encryption
Step 1: Client-Side Encryption
Your medical data is encrypted using your private key directly in the browser. The plaintext never leaves your device.
Step 2: Data Chunking
Step 2: Data Chunking
Encrypted data is split into Aleo field elements (~253 bits each) for blockchain storage.Storage Capacity: ~126 bytes total across 4 fields
Step 3: Blockchain Transaction
Step 3: Blockchain Transaction
The backend facilitates the blockchain transaction, but cannot read the encrypted data.
Step 4: Private Record Creation
Step 4: Private Record Creation
The record is stored on Aleo blockchain as a private record, visible only to the owner.Result: Your medical data is now permanently stored on blockchain, encrypted and accessible only by you.
Privacy Model
What’s Private vs. Public
| Data Type | Visibility | Who Can See |
|---|---|---|
| Medical Records | Private | Only the record owner (patient) |
| Encrypted Data Fields | Private | Only owner can decrypt |
| Access Grants | Public | Anyone can verify, but data stays encrypted |
| Access Tokens | Semi-public | Shared via QR code, verifiable on-chain |
| Record Metadata | Optional | Public only if patient opts in |
| Transaction Hashes | Public | Standard blockchain transparency |
Even though access grants are publicly visible on blockchain, they only contain addresses and token hashes - no medical data is exposed.
Encryption Details
Private Key Security
Your private key is the master key to all your medical records:Browser Session Only
Private key stored in memory only during active session
Never Transmitted
Private key never sent over network or stored on servers
User-Controlled
You manage your private key - no password recovery
Standard Aleo Format
Compatible with all Aleo wallets and tools
View Key Encryption
When sharing records, view keys enable decryption:- Only the specified doctor can decrypt the view key
- View key is unique per patient
- Encrypted using elliptic curve cryptography
- Included in QR code for seamless sharing
Access Control
Time-Limited Access
Access grants automatically expire based on block height:Block-based expiration is enforced at the blockchain protocol level and cannot be bypassed, even by malicious actors.
Revocation
You can instantly revoke access before expiration:- Only the patient who granted access can revoke it
- Revocation is immediate and irreversible
- Blockchain verifies patient signature
- Doctor loses access in next verification attempt
Security Features
Attack Vector Mitigation
Token Prediction Attacks
Token Prediction Attacks
Mitigation: Client-provided nonces ensure tokens are unpredictableEach access token is unique and cannot be guessed or pre-computed.
Replay Attacks
Replay Attacks
Mitigation: Unique tokens per grant, verified against blockchain stateAccess tokens are single-use credentials tied to specific record/doctor pairs.
Unauthorized Access
Unauthorized Access
Data Tampering
Data Tampering
Mitigation: Cryptographic hash verificationAny modification to encrypted data will fail hash verification.
Stale Access
Stale Access
Mitigation: Block height-based automatic expirationAccess is checked against current block height every time:
Blockchain Security
Aleo’s Zero-Knowledge Technology
Salud leverages Aleo’s unique privacy features:Private Transactions
Transaction details are hidden using zero-knowledge proofs
Private Records
Record contents only visible to owner, not other blockchain nodes
Public Verification
Anyone can verify transactions without seeing private data
Programmable Privacy
Smart contract controls precisely what’s public vs. private
Smart Contract Security
The Salud smart contract includes several security measures:Data Integrity
Hash Verification
Every record includes a hash for integrity checking:- Original data is hashed before encryption
- Hash is stored in the record
- Upon decryption, hash is recalculated
- If hashes don’t match, data was tampered with
Privacy Best Practices
For Patients
Secure Your Private Key
- Store in a password manager
- Never share with anyone
- Keep backup in secure location
- Consider hardware wallet for maximum security
Minimize Access Duration
- Grant shortest access time needed
- Revoke immediately after appointment
- Review active grants regularly
Verify Doctor Identity
- Confirm doctor’s Aleo address before sharing
- Use doctor-specific grants (not generic QR codes)
- Check blockchain explorer to verify grants
For Healthcare Providers
Protect Your Private Key
- Use dedicated device for medical records access
- Never expose private key on shared computers
- Log out after each session
Verify Patient Identity
- Confirm patient address matches records
- Verify QR code is from official Salud app
- Check expiration time before relying on data
Comparison with Traditional Systems
Salud vs. Centralized EHR
| Feature | Salud (Blockchain) | Traditional EHR |
|---|---|---|
| Data Control | Patient-owned | Hospital/provider-owned |
| Encryption | End-to-end | Usually at-rest only |
| Access Control | Cryptographic | Database permissions |
| Data Portability | Fully portable | Locked to system |
| Single Point of Failure | No | Yes (central database) |
| Audit Trail | Immutable blockchain | Modifiable logs |
| Privacy | Zero-knowledge | Trust-based |
| Interoperability | Universal (blockchain) | Limited (proprietary) |
While traditional EHRs rely on trusting the system administrator, Salud uses cryptography to enforce privacy - you don’t have to trust anyone.
Known Limitations
Current Security Considerations
Browser-Based Key Storage
Browser-Based Key Storage
Limitation: Private keys stored in browser memory during sessionRisk: Browser vulnerabilities could expose keysMitigation: Keys cleared on disconnect, use trusted browsers, keep browser updated
Client-Side Trust
Client-Side Trust
Limitation: Frontend code must be trustedRisk: Compromised frontend could steal keysMitigation: Use official Salud deployment, verify code integrity, open-source transparency
Block Time Variance
Block Time Variance
Limitation: Block times are approximate (~15 seconds)Risk: Expiration times may vary slightlyMitigation: Use conservative durations, check blockchain time before relying on access
Limited Record Size
Limited Record Size
Limitation: ~126 bytes per recordRisk: Large files need multiple recordsMitigation: Store file hashes on-chain, actual files in encrypted IPFS/storage
Security Auditing
How to Verify Security
Blockchain Explorer
Verify your records and access grants on-chain:- Testnet Explorer: https://explorer.aleo.org/
- Search by: Address, transaction hash, or record ID
- Verify: Record creation, access grants, revocations
All blockchain transactions are publicly verifiable, but medical data remains encrypted and private.
Compliance and Standards
Privacy Regulations
Salud’s architecture supports compliance with:HIPAA
End-to-end encryption and access controls meet HIPAA technical safeguards
GDPR
Patient data ownership and right to revoke access align with GDPR
21 CFR Part 11
Blockchain audit trail provides required record-keeping
SOC 2
Cryptographic access controls and audit logs support SOC 2 compliance
Future Security Enhancements
Planned security improvements:- Hardware Wallet Integration: Support for Ledger/Trezor for key storage
- Multi-Signature Records: Require multiple approvals for sensitive data
- Biometric Authentication: Fingerprint/FaceID for access
- Zero-Knowledge Proofs: Prove record attributes without revealing data
- Decentralized Identity: Integration with DID standards
Get Help
Report Security Issue
Found a vulnerability? Email [email protected]
Community Support
Join Aleo Discord for privacy-tech discussions