Documentation Index
Fetch the complete documentation index at: https://docs.zerokeyusb.com/llms.txt
Use this file to discover all available pages before exploring further.
Welcome to ZeroKeyUSB
Congratulations on your new ZeroKeyUSB — a fully offline, hardware-encrypted password manager.No apps to install, no accounts to create, no cloud to trust. Just plug it in.
What’s in the box
| Item | Description |
|---|---|
| ZeroKeyUSB device | Epoxy-sealed hardware key with OLED screen and 5 capacitive touch pads |
| USB-C cable | For connecting to your computer, tablet, or phone |
Know your device
ZeroKeyUSB has five golden touch pads arranged in a cross pattern. These are your only controls:| Pad | Short tap | Long press |
|---|---|---|
| ⬆ Up | Change digit / Scroll up | — |
| ⬇ Down | Change digit / Scroll down | — |
| ⬅ Left | Go back / Delete digit | Jump 10 slots back |
| ➡ Right | Go forward / Add digit | Jump 10 slots forward |
| ● Center | Confirm / Select | Edit field / Type to host |
Step 1 — Plug in & power up
Connect the USB-C cable
Plug ZeroKeyUSB into any USB-C port on your computer, tablet, or phone.
The device draws about 20 mA — less than a wireless mouse — and needs no battery.
The device draws about 20 mA — less than a wireless mouse — and needs no battery.
Wait for the splash screen
The OLED screen lights up showing:This confirms all hardware is working: the display, the touch controller (TS06), the EEPROM memory, and the ATECC608A secure element.
Step 2 — Choose your screen orientation
The wizard asks if the screen and controls feel right-side-up.- Press Center to flip the display 180°.
- Press Right when it looks correct.
Step 3 — Select your keyboard layout
ZeroKeyUSB emulates a USB keyboard. To type special characters correctly (@, !, #, etc.), it needs to match your computer’s keyboard layout.
Available layouts:
| Code | Language |
|---|---|
EN-US | English (United States) — default |
ES-ES | Spanish |
FR-FR | French |
DE-DE | German |
IT-IT | Italian |
PT-PT | Portuguese |
DA-DK | Danish |
SV-SE | Swedish |
HU-HU | Hungarian |
Step 4 — Create your Master PIN
This is the most important step. Your PIN protects everything on the device.Choose 4–16 digits
Use Up/Down to change the current digit (0–9).
Press Right to add a digit.
Press Left to delete the last digit.
Press Right to add a digit.
Press Left to delete the last digit.
Confirm your PIN
Type the same PIN again for confirmation.
If they don’t match, you’ll be asked to start over.
If they don’t match, you’ll be asked to start over.
Wait for security setup
The device shows a progress bar while it:
- Derives your PIN hash:
SHA-256(PIN ∥ chip_serial) - Stores the hash in the ATECC608A secure element (slot 9)
- Generates a 128-bit AES master key from the hardware TRNG
- Generates a 128-bit IV (Initialization Vector) from the TRNG
- Sets the hardware PIN attempt counter (Counter0)
- Initializes all 62 credential slots with encrypted blanks
Step 5 — Understanding the security
Here’s what happens behind the scenes when you enter your PIN: Key security features:- Hardware counter (Counter0): Every PIN attempt — right or wrong — increments an irreversible hardware counter in the ATECC608A. After 50 consecutive wrong attempts, the device permanently wipes all data.
- Exponential delay: Wrong PIN? Wait 5 seconds. Wrong again? 10 seconds. Then 20, 40, 80… up to 43 minutes between attempts.
- Constant-time compare: The PIN hash comparison uses a timing-safe algorithm that reveals nothing about which digits were correct.
Step 6 — Store your first credential
After unlocking, you see the main screen showing slot 0:Type characters
The editor shows three keyboard pages:
- Page 1:
A-Zand brackets - Page 2:
a-zand symbols - Page 3:
0-9, space, and special characters
Step 7 — Type credentials to your computer
This is where the magic happens:- Navigate to the credential slot you want.
- Press Center on the Site field → ZeroKeyUSB types the username + Tab + password as a USB keyboard.
Works on Windows, macOS, Linux, Android, and iPadOS.
Step 8 — (Optional) Add 2FA / TOTP
ZeroKeyUSB can generate time-based one-time passwords (TOTP) — the same codes you’d get from Google Authenticator, but fully offline.Import your TOTP secret
Use the web manager or serial CLI to send the Base32-encoded secret (from the
otpauth:// QR code your service provides). The secret is encrypted and stored in page 3 of the credential slot.Sync the clock
Since ZeroKeyUSB has no real-time clock, it needs the current time once.
When you see
The time is saved in EEPROM and tracked using the SAMD21’s
When you see
REQTIME on screen, the web manager or a terminal sends the Unix epoch over USB serial.The time is saved in EEPROM and tracked using the SAMD21’s
millis() counter.Step 9 — Back up your data
- Navigate to Menu → Backup → Export.
- Hold Center to authorize the export.
- ZeroKeyUSB sends all 62 credential slots as CSV lines over the USB serial port.
- Save the output file securely — encrypt it with GPG, age, or a password-protected ZIP.
Quick reference card
| Action | How |
|---|---|
| Unlock | Enter PIN on touch pads |
| Browse credentials | Left / Right (short press) |
| Jump 10 slots | Left / Right (long press) |
| Switch field | Up / Down on main screen |
| Type to computer | Center on Site field |
| Edit a field | Long-press Center |
| Open menu | Scroll past last slot |
| View 2FA code | Down past Password to 2FA |
| Export backup | Menu → Backup → Export |
| Factory reset | Menu → Danger Zone → Factory Reset |
Next steps
Hardware Overview
Understand the main components: SAMD21 MCU, ATECC608A secure element, EEPROM, and touch controller.
Security Architecture
Learn how AES-128 CBC, the ATECC608A TRNG, and Counter0 work together to protect your data.
Menu System
Explore every menu option: Backup, Settings, Danger Zone, and device Info.
TOTP Module
Set up offline 2FA codes with time synchronization and automatic code refresh.
ZeroKeyUSB works on any operating system that supports USB keyboards.
No drivers, browser extensions, or software installations are required — ever.
No drivers, browser extensions, or software installations are required — ever.