Skip to content

tetherto/pearpass-app-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

619 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pearpass logo

PearPass Desktop

The desktop app for PearPass, an open-source, end-to-end encrypted password and identity manager built on Pear Runtime.


Table of Contents


Introduction

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.


Features

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

Installation

Prerequisites

  • Node.js — check the required version in .nvmrc and verify with:
node --version

Steps

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

Usage Examples

Visit the official PearPass documentation for step-by-step guides on setup, vault management, syncing across devices, browser extension usage, and all other PearPass features:

docs.pass.pears.com

⚠️ Intel Mac Support: Intel-based Mac builds are deprecated and provided without official support or active testing. We're keeping them available for now, but use them at your own risk. If you run into issues, feel free to open a ticket. While we can't guarantee a fix, we'd like to know if these builds are still being used!


Logging

Off by default. When enabled, logs are written under <userData>/logs/main.log from the host process and core.log from the vault worker. The worker's sink redacts known sensitive fields (passwords, keys, tokens, etc.) before writing to core.log. The host process logger does not redact, so treat anything passed to logger.* in main.cjs as on-disk-visible in main.log.

Three ways to enable:

  • In-app toggle (Settings → Diagnostics → Enable logs). Persists across launches; toggling on clears any previous log files to start a clean session. Toggling off stops writing but preserves the existing files so you can share them.
  • Launch flag: pass --enable-logging at startup. Forces logging on regardless of the toggle.
  • Nightly builds (PearPass-nightly): logging is on automatically and the in-app toggle is locked.

When logging is on, Open logs folder in the same screen reveals the directory.


Testing

Unit Testing

Run unit tests with Jest:

npm test

Staging to Dev

Ensure 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"]

Workspace Dependencies

The following sibling modules must be present in the workspace (they are not declared as npm dependencies):


Dependencies


Related Projects

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

Contributing

We welcome contributions. See CONTRIBUTING.md for the development workflow and coding conventions.


License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

About

PearPass is an open-source, privacy-first password manager with peer-to-peer syncing and end-to-end encryption.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors