Proton WebClients
Monorepo hosting the Proton web clients including Mail, Calendar, Drive, Pass, VPN, and Wallet applications with shared component libraries and utilities.
What is Proton WebClients?
Proton WebClients is a comprehensive monorepo that powers Proton’s suite of privacy-focused web applications. Built with React 18 and TypeScript, it provides a unified development environment for all Proton web products, including:- Proton Mail - End-to-end encrypted email service
- Proton Calendar - Private calendar and scheduling
- Proton Drive - Secure cloud storage
- Proton Pass - Password manager
- Proton VPN - Virtual private network settings
- Proton Wallet - Cryptocurrency wallet
Key Features
Multiple Applications
Seven production web applications sharing a common architecture
Component Library
Over 100 reusable React components with comprehensive documentation
Shared Packages
Modular packages for utilities, hooks, state management, and more
End-to-End Encryption
PGP/OpenPGP integration for secure communication
Architecture Highlights
Monorepo Structure
The repository is organized using Yarn Workspaces with unified versioning:Technology Stack
- React 18 - Modern React with concurrent features
- TypeScript 5.9 - Type-safe development
- Redux Toolkit - State management
- Yarn 4 - Package management and workspaces
- Webpack 5 - Module bundling
- Jest - Testing framework
Privacy & Security
All Proton applications are built with privacy as the foundation:Proton WebClients implements end-to-end encryption using OpenPGP, ensuring that user data is encrypted on the client side before transmission.
- Zero-access encryption - Proton cannot read user data
- Open source - Licensed under GPL-3.0
- PGP integration - Industry-standard encryption
- Client-side encryption - Data encrypted before leaving the device
Quick Links
Installation
Set up your development environment
Project Structure
Understand the monorepo layout
Building Apps
Learn how to build applications
Components
Explore the component library
Contributing
Contribute to Proton WebClients
API Reference
Browse the API documentation
Who is this for?
This documentation is designed for:- Contributors - Developers contributing to Proton’s open-source projects
- Internal developers - Proton team members building new features
- Library consumers - Teams using Proton’s shared packages
- Researchers - Security researchers auditing the codebase
Community
Proton WebClients is an open-source project licensed under GPL-3.0. We welcome contributions from the community.GitHub Repository
View the source code and contribute
Translation Community
Help translate Proton products
Next Steps
Install Dependencies
Follow the installation guide to set up your development environment.
Explore the Structure
Learn about the project structure and how packages are organized.
Run an Application
Start developing by building and running one of the applications.
Browse Components
Explore the component library to see available UI components.