PearPass is a free, open source password & secret management project written in TypeScript and released under a custom open-source licence. It has 534 GitHub stars, 70 forks and 32 open issues, and was last pushed 1 months ago. On this registry it ranks #7 of 7 tracked projects in Password & Secret Management, with 5 head-to-head comparisons available.

What is PearPass?

PearPass is an open-source, end-to-end encrypted password and identity manager for macOS, Linux, and Windows that keeps credentials encrypted on disk and syncs them directly between devices over Pear Runtime rather than through a central server.

What it is

PearPass is built on Pear Runtime, the peer-to-peer application stack from pears.com, and is written in TypeScript. The desktop client lives in the tetherto/pearpass-app-desktop repository, alongside a mobile app (pearpass-app-mobile) and a browser extension (pearpass-app-browser-extension). Before anything is written to disk, the vault encrypts passwords, credit cards, secure notes, and custom fields, so the at-rest format is ciphertext rather than a plaintext or server-readable store. Syncing between devices is peer-to-peer and mediated by Pear Runtime.

The concrete problem it addresses is the central sync point that traditional password managers depend on. A cloud vault means one operator holds the copy that reconciles every device, which dictates the availability, the trust model, and the account relationship. PearPass replaces that centralised server with direct device-to-device sync, and because the vault is local it also remains usable with no network connection at all. The product positioning is stated plainly in the README: it is privacy-first, and data stays under the user's control.

Key capabilities

  • Encrypted-at-rest storage covering passwords, credit cards, secure notes, and custom fields, encrypted before being written to disk.
  • Cross-device sync performed directly between the user's own devices through Pear Runtime, with no central server in the path.
  • Offline access to the vault, so credentials remain available without a network connection.
  • Password health analysis that assesses password strength and identifies weak passwords.
  • Random password generator for producing strong, unique credentials.
  • Multi-platform builds for macOS, Linux, and Windows, with companion implementations for mobile and for the browser.
  • Optional diagnostic logging, enabled by the in-app toggle at Settings → Diagnostics → Enable logs or by the --enable-logging launch flag, writing main.log from the host process and core.log from the vault worker; the worker sink redacts known sensitive fields, the host logger does not.

Who uses it and how

  • Individuals who want one vault across their own desktop, mobile device, and browser without creating an account with a hosting provider.
  • Developers and self-builders who work from source: clone tetherto/pearpass-app-desktop, run npm install, npm run build, then npm run dev, with Node.js matched to .nvmrc and Pear Runtime installed first.
  • Users in environments where connectivity cannot be assumed, since offline access is a first-class feature rather than a fallback.
  • Nightly-build users on PearPass-nightly, where logging is enabled automatically and the in-app toggle is locked.
  • Contributors validating changes with npm test, which runs the Jest unit suite.

Getting started

The documented path is building from source: install Node.js at the version in .nvmrc and Pear Runtime, clone [email protected]:tetherto/pearpass-app-desktop.git, then run npm install, npm run build, and npm run dev. Setup, vault management, and syncing guides are published at docs.pass.pears.com, with downloads at pass.pears.com.

How it compares

No comparable alternatives and no list of paid products are named in the facts provided for this entry, so the project stands alone in this registry on those terms. Any comparison against hosted commercial password managers would have to rest on the axes the README does state: peer-to-peer sync in place of a central server, local encrypted storage in place of a cloud vault, and open-source code in place of a proprietary client.

When to use it — and when not to

The README carries an explicit warning that PearPass is paused from active development and should be used with caution until further notice, which is the single most important trade-off on this page. Operating it means building from source with Node.js and Pear Runtime on hand; the repository documents no package-manager install, published image, or hosted option, and the licence is recorded as NOASSERTION, so the terms should be verified before any organisational deployment. Teams that need vendor support, maintenance guarantees, or Intel Mac builds should not choose it: Intel-based Mac builds are deprecated and shipped without official support or active testing, and anyone enabling logging should note that values passed to logger.* in main.cjs reach main.log without redaction.

project readme (upstream, from github) — read inline

[!WARNING] 🍐 PearPass is currently paused from active development, so please use at your own caution until further notice.

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 [email protected]: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 /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.

Frequently asked questions

Is PearPass free to use?

PearPass is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does PearPass do?

Complete password control, zero cloud dependency

What is PearPass written in?

PearPass is primarily written in TypeScript. Its source is publicly available at https://github.com/tetherto/pearpass-app-desktop, and it has 534 GitHub stars.