1Password rebuilt its cross-platform core in Rust. The shared logic behind the Mac, Windows, Linux, browser, and command-line apps is now one Rust codebase. Here is what 1Password builds in Rust, the public evidence, and how to get hired onto the team.
1Password is a strong example of Rust for security-critical client software: a password manager cannot afford memory-safety bugs in the code that decrypts your vault, and a single shared core keeps behavior identical across every platform.
By Max Wells, updated August 2026
TL;DR
- 1Password's shared application core, covering crypto, sync, and vault logic, is written in Rust and used by every 1Password client.
- The rewrite began around the 1Password 8 generation and consolidated many platform-specific implementations into one.
- Rust lets 1Password ship the same audited logic to macOS, Windows, Linux, browsers via WebAssembly, and the CLI.
- Hiring focuses on core, platform, and security engineering.
- Cryptography knowledge and careful, test-heavy engineering matter more here than raw systems performance.
Does 1Password Use Rust?
Yes. Over the last several years 1Password has moved the shared logic of its applications into a single Rust core. Historically each platform, macOS, Windows, Android, iOS, and the browser extension, had its own implementation of vault handling, encryption, and sync. That meant the same security-sensitive behavior was written and maintained several times, with the risk of subtle differences between platforms.
The Rust core replaces those separate implementations with one codebase. Every client, including the browser extension compiled to WebAssembly and the command-line tool, links the same Rust logic. 1Password has said publicly that Rust's memory safety and its ability to compile to many targets were the deciding factors. For a company whose product is trust, removing whole classes of memory bugs from the code that touches plaintext secrets is a direct security win.
What 1Password Builds With Rust
- The shared application core. Vault decryption and encryption, item models, and the local database.
- Sync and server communication. The client side of talking to 1Password's servers, including conflict handling.
- Cryptography glue. Key derivation, the Secret Key and account unlock flow, and integration with platform key stores and the Secure Enclave.
- The 1Password CLI. A Rust binary that reuses the same core, so scripts and CI get identical behavior to the desktop app.
- Browser extension logic. Core logic compiled to WebAssembly so the extension shares the audited code path rather than reimplementing it in JavaScript.
The Evidence
- 1Password blog posts and engineering talks describing the move to a Rust core during the 1Password 8 development cycle.
- Public conference talks by 1Password engineers on shipping a shared Rust core to many platforms, including WebAssembly.
- 1Password's open-source crates and contributions in the Rust cryptography and FFI space.
- Job postings for core and platform engineering that list Rust as the primary language.
Hiring Signals
1Password hires Rust engineers mainly for:
- Core engineering. The shared Rust codebase itself: crypto, data model, sync.
- Platform engineering. The layer that binds the Rust core to each native UI and to WebAssembly.
- Security engineering. Review, threat modeling, and hardening of the code paths that handle secrets.
1Password is a remote-first company that hires across the United States and Canada. Typical US total compensation:
- Mid-level engineer: roughly 150K to 190K USD.
- Senior engineer: roughly 190K to 250K USD.
- Staff and above: 260K USD and up.
Because the product is a security tool, interviews weigh care, testing discipline, and the ability to reason about failure modes heavily. Fast-and-loose coding is a poor fit.
How to Get Hired Onto a Rust Team at 1Password
- Learn applied cryptography basics. Symmetric encryption, authenticated encryption, key derivation, and the common mistakes. You do not need to be a cryptographer, but you must be able to read and reason about this code.
- Show cross-platform Rust. A project that compiles to at least two of desktop, mobile via FFI, and WebAssembly. This is exactly the problem 1Password solves daily.
- Demonstrate test discipline. Property tests, fuzzing, and clear handling of error cases. Bring a repository where the tests are as interesting as the code.
- Understand FFI. How Rust exposes a safe interface to Swift, Kotlin, and JavaScript, and where the boundary risks are.
Frequently Asked Questions
Is all of 1Password written in Rust?
No. The user interface for each platform is still native, using Swift, Kotlin, and web technologies. The shared logic underneath, especially anything touching encryption and sync, is the Rust core.
Does the 1Password browser extension really run Rust?
Yes, in the form of WebAssembly. The extension compiles the shared Rust core to WebAssembly so it runs the same audited logic as the desktop apps rather than a separate JavaScript reimplementation.
Do I need a cryptography background to work at 1Password?
Not a formal one for most roles, but you need to be comfortable reading cryptographic code and reasoning about it. Dedicated security and crypto roles have a higher bar.
Is 1Password fully remote?
1Password is remote-first and hires across the United States and Canada, with some role-specific location requirements.
Why did 1Password consolidate onto a Rust core?
To stop maintaining the same security-sensitive logic separately on each platform, to eliminate memory-safety bugs in code that handles plaintext secrets, and to compile one implementation to every target including WebAssembly.
Sources
- 1Password blog
- 1Password: Building the 1Password Rust core (engineering talks and posts)
- 1Password on GitHub
- 1Password Careers
Related Companies
Keep Reading
- Rust vs C++
- 10 Rust Crates Every Developer Should Know in 2026
- How to Get a Rust Backend Job in 2026
Last verified: August 2026.


