Our Approach Technology Portable Record Connectivity Privacy AI Pipeline Get Started

Database at Rest

SQLCipher
AlgorithmAES-256 (SQLCipher native)
KeyDevice-unique UUID, generated on first launch
Key StorageEncryptedSharedPreferences (hardware-backed MasterKey)
Backupandroid:allowBackup="false"

SMS in Transit

AES-256-GCM
AlgorithmAES/GCM/NoPadding
Key Size256 bits
Key DerivationPBKDF2-HMAC-SHA256 (100K iterations)
Nonce12 bytes (SecureRandom per encryption)
Auth Tag128 bits
OutputBase64(nonce + ciphertext + tag) — fits 1 SMS

PIN Storage

PBKDF2
AlgorithmPBKDF2-HMAC-SHA256
Iterations100,000
Salt16 bytes (SecureRandom, unique per user)
Output256-bit hash (Base64 stored)
VerificationConstant-time XOR comparison

Config at Rest

EncryptedSharedPreferences
Master KeyAES-256-GCM (Android Keystore backed)
Key EncryptionAES-256-SIV
Value EncryptionAES-256-GCM
ProtectedDHIS2 creds, Twilio tokens, session data, DB passphrase

Patient ID

Privacy-Preserving
Format8-char base28 (e.g., KFMT-4WRN)
Entropy40 bits SecureRandom
AlphabetABCDEFGHJKMNPQRTUVWXYZ234567 (no confusable chars)
DesignNOT derived from patient demographics

P2P Sync Authentication

Nearby Connections
Auth6-digit code displayed on both devices
VerificationUser must visually verify before accepting
TransportBluetooth link-layer encryption
StrategyP2P_CLUSTER via Android Nearby Connections

Cryptographic summary

Layer Algorithm Key Size Purpose
Database at Rest AES-256 (SQLCipher) 256-bit Full-database encryption of all patient records
SMS in Transit AES/GCM/NoPadding 256-bit End-to-end encrypted portable health records
PIN Storage PBKDF2-HMAC-SHA256 256-bit hash Secure user authentication credential storage
Config at Rest AES-256-SIV + AES-256-GCM 256-bit Encrypted API tokens, credentials, session data
Patient ID SecureRandom 40-bit entropy Privacy-preserving patient identification
P2P Sync BT link-layer + visual auth N/A Authenticated device-to-device data exchange

Role-based access control

Six clinical roles with granular permissions. Shared devices stay secure.

Role Register Patients Triage Consult Dispense Meds Manage Users View Dashboard Sync Devices Edit Settings
ADMIN
DOCTOR
NURSE
PHARMACIST
CHW
REGISTRATION_CLERK
4-6
PIN Length (digits)
5 min
Auto-Lock
5
Max Failed Attempts
2 min
Lockout Duration

Complete audit trail

Every clinical and security action is logged with millisecond precision.

Authentication

  • LOGIN — successful session start with role
  • LOGOUT — explicit session end
  • FAILED_AUTH — incorrect PIN attempt
  • UNLOCK — screen unlock after auto-lock
  • LOCKOUT — 5 consecutive failures, 2-min lock

Clinical

  • CREATE_PATIENT — new patient registration
  • CREATE_ENCOUNTER — encounter finalized with data
  • DISPENSE — medication dispensed to patient

Administrative

  • SETTINGS_CHANGE — configuration modification
  • Old and new values stored in details JSON

Sync

  • SYNC — device-to-device sync event
  • Conflict count and records exchanged logged

Each record contains

Every audit entry captures a complete forensic context for compliance and incident response.

Who userId What action + details JSON When ms timestamp On what targetType + targetId 5 database indices

Built for compliance

🇿🇦
South Africa
POPIA
Active
🇪🇹
Ethiopia
DHIS2 v40
Ready
🇺🇸
United States
HIPAA 164.312
Planned
🇬🇧
United Kingdom
DCB0129, DTAC
Planned
🌍
Multi-country
FHIR R4 Interop
Built-in