# Normogen ## Overview Normogen is a privacy-focused health data tracking and management platform. The name comes from Mapudungun, relating to "Balanced Life." ## Vision To record as many variables related to health as possible, store them in a secure, private manner, to be used by **you**, not by corporations. From medication reminders to pattern analysis, Normogen puts you in control of your health data. ## Key Features ### Core Functionality - ๐Ÿ” **Zero-knowledge encryption** - Your data is encrypted before it reaches the server - ๐Ÿ‘ฅ **Multi-person profiles** - Track health data for yourself, children, elderly family members - ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ **Family structure** - Manage family health records in one place - ๐Ÿ”— **Secure sharing** - Share specific data via expiring links with embedded passwords - ๐Ÿ“ฑ **Mobile apps** - iOS and Android with health sensor integration - ๐ŸŒ **Web interface** - Access from any device ### Health Data Tracking - Lab results storage - Medication tracking (dosage, schedules, composition) - Health statistics (weight, height, trends) - Medical appointments - Regular checkups - Period tracking - Pregnancy tracking - Dental information - Illness records - Phone sensor data (steps, activity, sleep, blood pressure, temperature) ## Architecture ### Technology Stack - **Backend API**: Rust - **Web Server**: Node.js - **Database**: MongoDB (with zero-knowledge encryption) - **Frontend**: Web + iOS + Android - **Deployment**: Docker on Linux ### Security Model - **Client-side encryption**: Data encrypted before leaving the device - **Zero-knowledge**: Server stores only encrypted data - **Proton-style encryption**: AES-256-GCM with PBKDF2 key derivation - **Shareable links**: Self-contained decryption keys in URLs - **Privacy-first**: No data selling, subscription-based revenue ## Documentation - [Introduction](./introduction.md) - Project vision and detailed feature specification - [Encryption Implementation Guide](./encryption.md) - Zero-knowledge encryption architecture - [Research](./thoughts/research/) - Technical research and planning documents ## Development Status ๐Ÿšง **Current Phase**: Planning/Documentation ### Completed - โœ… Project vision and requirements - โœ… Security architecture design - โœ… Encryption implementation guide - โœ… Feature specifications - โœ… Git repository initialization ### Next Steps - [ ] Select Rust framework (Actix, Axum, Rocket?) - [ ] Design database schema - [ ] Implement authentication system - [ ] Build CRUD API - [ ] Create web frontend - [ ] Add encryption layer - [ ] Implement sharing functionality ## Open Source Normogen is open-source. Both server and client code will be publicly available. ## License TBD ## Contributing TBD - While in planning phase, contributions are welcome through discussion and documentation improvements. --- **Note**: This project is currently in the planning phase. No implementation code has been written yet.