In this discussion with Andrew Burkhart, a Senior Rust Developer at 1Password, we dive into the challenges of managing secrets securely. Andrew shares insights on how Rust supports reliable data synchronization for millions of users, enhancing user experience. He also reflects on the shift from Kotlin to a Rust-based architecture, emphasizing its benefits for maintainability and security. The conversation covers architectural patterns for asynchronous sync and navigating complexities in cross-platform development, making Rust a key tool in their innovative approach.
01:03:57
forum Ask episode
web_stories AI Snips
view_agenda Chapters
menu_book Books
auto_awesome Transcript
info_circle Episode notes
question_answer ANECDOTE
Andrew's Role and 1Password Growth
Andrew Burkhart joined 1Password as a senior Rust developer focusing on async Rust frameworks and data synchronization.
He described how 1Password expanded beyond password management into a broad security space including Passkeys and enterprise features.
insights INSIGHT
Reliable Async Sync Architecture
Data synchronization must happen reliably and asynchronously in the background.
This approach ensures data is locally cached and up-to-date, improving feature developer experience.
question_answer ANECDOTE
Rust Unified 1Password's Core
Before Rust, 1Password implemented platform native code leading to duplicated business logic in Swift, Kotlin, etc.
Rust was adopted to create a singular core powering all apps to unify business logic across platforms.
Get the Snipd Podcast app to discover more snips from this episode
This book is the official guide to Rust, an open-source systems programming language. It covers everything from the basics of creating functions, choosing data types, and binding variables to advanced concepts such as ownership, borrowing, lifetimes, error handling, and fearless concurrency. The book includes concept chapters and project chapters, where readers apply what they have learned by building small programs, including a number-guessing game, a Rust implementation of a command line tool, and a multithreaded server. It emphasizes Rust’s ability to provide low-level control without the traditional risks of crashes or security holes, making it suitable for a wide range of programming tasks, from CLI apps to web servers.
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.