The desktop app for PearPass, an open-source, end-to-end encrypted password and identity manager built on Pear Runtime.
- Introduction
- Features
- Installation
- Usage Examples
- Testing
- Staging to Dev
- Workspace Dependencies
- Dependencies
- Related Projects
- Contributing
- License
PearPass is an open-source, privacy-first password and identity manager that gives you full control over your sensitive information. It makes storing and managing your credentials simple, secure, and private. PearPass encrypts and stores all data locally on your device.
Unlike traditional password managers that rely on centralized servers, PearPass is built on Pear Runtime and uses peer-to-peer technology to sync your credentials directly between your devices, ensuring they remain private, secure, and always under your control.
- Encrypted-at-rest storage — PearPass encrypts passwords, credit cards, secure notes, and custom fields before writing them to disk.
- Cross-device sync — PearPass syncs credentials directly between your devices using Pear Runtime, with no central server.
- Offline access — Access your vault anytime, even without a network connection.
- Password health — Analyse password strength and identify weak passwords.
- Random password generator — Generate strong, unique passwords.
- Multi-platform — Runs on macOS, Linux, and Windows. PearPass is also available on mobile and as a browser extension.
- Node.js — check the required version in
.nvmrcand verify with:
node --version- Pear Runtime — Installation guide.
# 1. Clone the repository
git clone git@github.com:tetherto/pearpass-app-desktop.git
# 2. Go to the cloned directory
cd pearpass-app-desktop
# 3. Install dependencies
npm install
# 4. Generate translation keys
npm run build
# 5. Start the development app
npm run devVisit the official PearPass documentation for step-by-step guides on setup, vault management, syncing across devices, browser extension usage, and all other PearPass features:
Run unit tests with Jest:
npm testEnsure the app runs correctly using npm run dev.
If successful, stage it, for example: pear stage dev.
Then run the app: pear run pear://GENERATED_URL.
Pear serves files from the dist/ folder:
<!-- index.html -->
<script type="module" src="./dist/app.js"></script>The src/ folder is for development and it's ignored in package.json:
"ignore": [".github", "appling", ".git", ".gitignore", "packages", "src"]The following sibling modules must be present in the workspace (they are not declared as npm dependencies):
@tetherto/tether-dev-docs@tetherto/pear-apps-lib-feedback@tetherto/pear-apps-lib-ui-react-hooks@tetherto/pear-apps-utils-avatar-initials@tetherto/pear-apps-utils-date@tetherto/pear-apps-utils-generate-unique-id@tetherto/pear-apps-utils-pattern-search@tetherto/pear-apps-utils-qr@tetherto/pear-apps-utils-validator@tetherto/pearpass-lib-constants@tetherto/pearpass-lib-data-export@tetherto/pearpass-lib-data-import@tetherto/pearpass-lib-ui-theme-provider@tetherto/pearpass-lib-vault@tetherto/pearpass-lib-vault-core@tetherto/pearpass-utils-password-check@tetherto/pearpass-utils-password-generator
| Project | Description |
|---|---|
pearpass-app-mobile |
Mobile app for PearPass |
pearpass-app-browser-extension |
Browser extension for PearPass |
pearpass-lib-vault |
Vault management library |
pearpass-lib-vault-core |
Bare worker and client for PearPass vaults |
pearpass-lib-ui-react-components |
React UI component library |
pearpass-lib-ui-react-native-components |
React Native UI component library |
tether-dev-docs |
Developer documentation and guides |
We welcome contributions. See CONTRIBUTING.md for the development workflow and coding conventions.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
