This is an unofficial, independent personal project, not affiliated with, endorsed by, or in any way connected to Nord Security AS or NordPass.
"NordPass", "Nord Security" and their logos and trademarks are the exclusive property of Nord Security AS. All rights reserved to their respective owners.
This project does not modify, reverse-engineer, redistribute, or replicate any NordPass software or service. It is simply a native Linux window wrapper that loads the official, publicly available NordPass web application (
app.nordpass.com) — exactly as any web browser would. No NordPass code, assets, APIs, or proprietary data are included or redistributed.This project was created solely for personal use, to fill a gap that exists on Linux, and is shared openly in case it helps others with the same need. Use it at your own risk.
If you are a representative of Nord Security and have any concerns about this project, please open an issue and it will be addressed promptly.
NordPass ships a web app and an Android app, but no Linux desktop client. This project was built for personal use to have a proper, always-available native window — without opening a full browser tab.
Wrapping the vault in a GTK WebView (used by Tauri, Pake, etc.) does not work with a USB security key: the WebKitGTK builds shipped by Ubuntu/Debian/Mint are compiled without WebAuthn support, so the key prompt never appears. The only engine on Linux that communicates with a physical security key is Chromium.
This project embeds Chromium via CEF (Chromium Embedded Framework) in a small Rust app, providing a native window where the security key works.
- 🔐 USB security key (WebAuthn/FIDO2) login — real Chromium engine
- 🪟 Native app window — no browser chrome, no address bar
- 📌 System tray with the NordPass logo — Show / Lock / Start on login / Quit
- ❌ Close to tray — closing the window hides the app; you are not asked to log in again
- 🔁 Persistent session — your login is preserved between app launches
- 🔒 Auto-lock on inactivity — the vault locks automatically after ~10 minutes idle
- 📋 Clipboard auto-clear — passwords are cleared from the clipboard after ~30 seconds
- 🚀 Single instance — launching the app again focuses the existing window
- ⚙️ Start on login — toggle directly from the tray menu
- 📦 Installable
.deb— appears in your application menu like any app
Download the latest nordpass_*_amd64.deb from the Releases page:
sudo dpkg -i nordpass_0.1.0_amd64.deb
# if it reports missing dependencies:
sudo apt -f installLaunch NordPass from your application menu or run nordpass in a terminal.
To uninstall:
sudo dpkg -r nordpasssudo apt install build-essential pkg-config \
libgtk-3-0 libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 \
libxrandr2 libgbm1 libasound2t64 libxss1 xclip dpkg-devYou also need Rust (stable) — install via rustup.rs.
# 1. Download CEF runtime binaries (~150 MB, stored in ~/.local/share/cef)
./scripts/setup-cef.sh
# 2. Compile and assemble the runnable bundle (output: build/bundle/)
./scripts/build.sh
# 3. (optional) Build the installable .deb (output: build/dist/)
./packaging/build-deb.sh
sudo dpkg -i build/dist/nordpass_0.1.0_amd64.debRun without installing:
( cd build/bundle && LD_LIBRARY_PATH="$PWD" ./nordpass )┌─────────────────────────────────────────────────┐
│ nordpass (Rust native app) │
│ ├─ CEF / Chromium 149 ── app.nordpass.com │ ← security key works here
│ ├─ Views window (Alloy style – no browser UI) │
│ ├─ System tray (ksni) │
│ └─ Desktop integration (X11): │
│ auto-lock · clipboard clear · autostart │
└─────────────────────────────────────────────────┘
The window uses CEF's Views framework in Alloy style: a clean native window that renders only the web content, with no browser toolbar or address bar.
| Distribution | Desktop | Session | Login | Security Key | Tray | Auto-lock |
|---|---|---|---|---|---|---|
| Linux Mint 22.3 | Cinnamon | X11 | ✅ | ✅ | ✅ | ✅ |
| Ubuntu 24.04 | GNOME | X11 | 🟡 | 🟡 | 🟡 | 🟡 |
| Other Debian-based | any | X11 | 🟡 | 🟡 | 🟡 | 🟡 |
| Any distro | any | Wayland | 🟡 | 🟡 | 🟡 | 🟡 |
✅ Confirmed working · 🟡 Expected to work, not tested · ❌ Does not work
Wayland support is not tested. X11 features (auto-lock, clipboard clear) rely on Xlib. Contributions with test results on other distributions are welcome!
src/
main.rs entry point
shared/
mod.rs CEF initialization and main process
cef_app.rs window, icon, title
handler/ browser event callbacks
control.rs cross-thread window control
desktop.rs X11: auto-lock, clipboard clear, autostart
tray.rs system tray (ksni)
resources/linux/ app icons (PNG, multiple sizes)
scripts/
setup-cef.sh download CEF runtime
build.sh compile + assemble bundle
packaging/
build-deb.sh build installable .deb
- Built with cef-rs — Rust bindings for the Chromium Embedded Framework. Derived from the
cefsimpleexample. - System tray via ksni.
- NordPass and all related trademarks belong to Nord Security AS.
If this project was useful to you and you'd like to support its development, consider buying me a coffee:
Any contribution is voluntary and greatly appreciated!
MIT — This license covers only the wrapper code in this repository.
NordPass, its web application, and all related services remain the property of Nord Security AS.


