normogen/README.md
goose e72602d784 Initial commit: Project setup and documentation
- Initialize Normogen health tracking platform
- Add comprehensive project documentation
- Add zero-knowledge encryption implementation guide
- Set up .gitignore for Rust/Node.js/mobile development
- Create README with project overview and roadmap

Project is currently in planning phase with no implementation code yet.
2026-02-14 11:11:06 -03:00

89 lines
2.9 KiB
Markdown

# 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.