π’ Firmware β’ πΎ Protobuf β’ π» Host β’ π Chrome β’ π± Android
A secure, hardware-backed password generator that connects your browser to the TurtlPass USB device via Web Serial & Protobuf. Passwords are generated on-device, and when you press the physical button, the device emulates a keyboard and types your password β safely and locally, without ever exposing it online.
- π Hardware-assisted password generation
- π§© Communicates with the device via Protobuf
- π Auto-detects the active Domain
- πΎ Remembers your Account ID
- β¨οΈ One-button password typing (no clipboard needed)
- π Press
Ctrlto reveal/hide your password
The Chrome Extension handles hashing and serialization, while the MCU validates input, generates the password using a KDF, and types it directly via USB keyboard emulation.
+--------------------------+ Protobuf over USB +------------------+
| Chrome Extension | <---------------------> | TurtlPass Device |
|--------------------------| |------------------|
| Hash(Argon2ID + SHA-512) | Serialized Commands: | Generate |
| of | β genPassword(hash) β | Password |
| Domain + AccountID + PIN | β isSuccess(bool) β | (KDF) |
+--------------------------+ +------------------+
| |
βββββββββββ< Types password via HID keyboard <βββββββ
- Download and unzip this repository
- Go to Chrome Extensions:
chrome://extensions - Enable Developer mode
- Click Load Unpacked β select the unzipped folder
- Done! π
- Open a login page (e.g., GitHub Login)
- Click the TurtlPass icon β the domain auto-fills
- Enter your
Account ID(auto-saved next time) - Click Get Password and enter your 6-digit PIN
- Choose your TurtlPass device β click Connect
- Press the device button β it types your password securely in the focused input field
| Browser | Status |
|---|---|
| Google Chrome | β Supported |
| Gener8 | β Supported |
Not supported: Firefox, Brave, Opera, Safari, Arc
If the extension cannot connect to the device:
chrome://flags/#enable-experimental-web-platform-features
Enable the Web Serial API feature.
- Web Serial API β USB device communication
- Protocol Buffers β Message serialization
- Argon2 Browser β Password hashing
- SHA-512 JS β Entropy mixing
- Lottie Web β Animations
- Material Components for Web β UI styling
This repository is licensed under the MIT License.
