
1Password with Andrew Burkhart
Rust in Production
00:00
Intro
This chapter explores 1Password's innovative approach to secure login solutions, highlighting their use of Rust in product development. The discussion also covers the company's evolution, data synchronization challenges, and the impact of recent expansions and acquisitions on their security offerings.
Transcript
Play full episode
Transcript
Episode notes
Handling secrets is extremely hard. You have to keep them safe (obviously), while at the same time you need to integrate with a ton of different systems and always provide a great user-experience, because otherwise people will just find a way around your system. When talking to peers, a lot of people mention 1Password as a company that nailed this balance.
In today's episode, I talk to Andrew about how 1Password uses Rust to build critical systems that must never fail, how Rust helps them handle secrets for millions of users, and the lessons they learned when adopting Rust in their stack.
About 1Password
1Password is a password manager that helps users securely store and manage their passwords, credit card information, and other sensitive data. It provides a user-friendly interface and strong security features to protect users' secrets across multiple devices.
About Andrew Burkhart
Andrew is a Senior Rust Developer at 1Password in the Product Foundations org, on the Frameworks team and specifically on the Core Platform squad handling the asynchronous frameworks other developers use to build features (i.e. requests into the Rust core from the Native clients, data sync, etc.). He specifically specialized in that synchronization process, getting data federated from cloud to clients to native apps and back.
Links From The Episode
- Backend for Frontend Pattern - Architectural pattern for creating dedicated backends for specific frontends
- typeshare - Generate types for multiple languages from Rust code
- zeroizing-alloc - 1Password's minimal secure heap zero-on-free implementation for Rust
- arboard - Cross-platform clipboard manager written in Rust
- passkey-rs - Pure Rust implementation of the WebAuthn Passkey specification
- WebAssembly (WASM) - Binary instruction format for portable execution across platforms
- tokio - The de facto standard async runtime for Rust
- Clippy - A collection of lints to catch common mistakes in Rust
- cargo-deny - Cargo plugin for linting dependencies, licenses, and security advisories
- Nix - Purely functional package manager for reproducible builds
- Nix Flakes - Experimental feature for hermetic, reproducible Nix builds
- direnv - Load and unload environment variables based on current directory
- ACM: Spotify Guilds - A study into Spotify's Agile Model's Guilds
- axum - Ergonomic and modular web framework built on tokio and tower
- tower - Library for building robust networking clients and servers
- tracing - Application-level tracing framework for async-aware diagnostics
- rusqlite - Ergonomic wrapper for SQLite in Rust
- mockall - Powerful mock object library for Rust
- pretty_assertions - Better assertion macros with colored diff output
- neon - Library for writing native Node.js modules in Rust
- nom-supreme - Parser combinator additions and utilities for nom
- crane - Nix library for building Cargo projects
- Rust in Production: Zed - High-performance code editor built in Rust
- tokio-console - Debugger for async Rust programs using tokio
- Rust Atomics and Locks by Mara Bos - Free online book about low-level concurrency in Rust
- The Rust Programming Language (Brown University Edition) - Interactive version of the Rust Book with quizzes
- Rustlings - Small exercises to get you used to reading and writing Rust code
Official Links
The AI-powered Podcast Player
Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!