OSCAR Shareable is a web-based, secure uploader and viewer for OSCAR (Open Source CPAP Analysis Reporter) data. It allows users to securely upload their CPAP and oximetry data to a private, isolated environment where they can then use OSCAR to analyze their results directly in their browser.
- Secure Sharing: Generate tokenized, read-only sharing links to allow clinicians or peers to view specific OSCAR profiles.
- Secure Data Upload: Easy drag-and-drop or folder selection for CPAP SD card and oximetry data via the web UI.
- Third-Party API Support: Integrated API for hardware devices (like ESP32/CPAP-AutoSync) to perform incremental data synchronization.
- Isolated User Sessions: Each user session runs in its own dedicated, transient Docker container, ensuring maximum privacy and data isolation.
- Full OSCAR Interface: Access the complete OSCAR application via high-performance remote desktop (Selkies VNC) without installing anything locally.
- Privacy First: Designed for security with optional "Tinfoil Hat Mode" (client-side encryption) and strictly isolated storage.
- Admin Management: Built-in panel for managing users, invite codes, and system audit logs.
OSCAR Shareable is composed of three primary layers:
- Frontend: A modern, responsive web interface built with Vite and vanilla JavaScript.
- Backend (Secure Uploader): A high-performance Rust service built with Axum. It handles authentication, file synchronization, API requests, and dynamically manages the lifecycle of OSCAR Docker containers.
- Visualization Layer: Isolated Docker containers running the OSCAR desktop application, streamed to the browser using the linuxserver.io Selkies VNC base.
Detailed guides and specifications are available in the docs/ directory:
- 📖 API Documentation: Details on the Third-Party Upload API for hardware developers.
- 🛠️ Self-Hosting Guide: Instructions for deploying OSCAR Shareable using Docker.
- 🔐 Privacy and Security: Information on our data handling and security posture.
- Backend: Rust (Axum, Tokio, SQLx, Bollard)
- Frontend: Vite, JavaScript, CSS3
- Containerization: Docker, Docker Compose
- Database: SQLite3
- Proxy/Web Server: Nginx (Internal)
- Remote Desktop: Selkies / WebRTC / WebGL
This project is distributed under the GNU GPL v3 License.
- OSCAR: Released under the GNU GPL v3 License.
- Qt SDK: Built using Qt SDK (Open Source Edition).
- linuxserver.io: The VNC infrastructure is powered by the docker-baseimage-selkies container.
Portions of this software and its documentation were created using generative AI tools. As such, the application may exhibit unexpected behavior in certain edge cases. Extensive testing has been performed to ensure it functions as designed.
This software is provided as-is. Users are responsible for their own data and compliance with local health data regulations. Please use responsibly.