> ## 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.

# ZeroKeyUSB Documentation

> Central hub for guides, hardware specs, firmware internals, and support resources.

## Welcome

**ZeroKeyUSB** is a standalone, hardware-based password manager designed to keep your credentials completely offline.\
It behaves like a USB keyboard — typing your encrypted usernames, passwords, and optional TOTP codes wherever you need them.\
No apps. No cloud. No subscriptions.

Everything you need to **assemble the hardware**, **understand the firmware**, and **keep your device secure** is organized below.

<Card title="Get started" icon="rocket" href="/quickstart" horizontal>
  Learn how to flash the firmware, set your Master PIN, and start using ZeroKeyUSB safely.
</Card>

***

## Main Features

<Columns cols={2}>
  <Card title="Offline Encryption" icon="lock" href="/firmware/security">
    Protects your data using **AES-128 CBC encryption**. The key is generated by the ATECC608A's TRNG and stays inside slot 8 of the chip — encryption and decryption run on the secure element's hardware AES engine, never exposing the key to the MCU.\
    The PIN is verified via SHA-256 and a hardware monotonic counter. No Internet connection ever required.
  </Card>

  <Card title="Hardware Secure Element" icon="shield" href="/hardware/overview">
    An **ATECC608A** secure element provides hardware-grade true random numbers, a tamper-resistant **monotonic counter** for PIN rate-limiting, and a chip-unique serial used as a PIN salt.
  </Card>

  <Card title="Hardware Simplicity" icon="microchip" href="/hardware/overview">
    Built around a **SAMD21E18A microcontroller** and **M24C64-WMN6TP EEPROM**, fully powered by **USB-C**.\
    No batteries, no wireless chips — truly air-gapped.
  </Card>

  <Card title="Universal Keyboard Output" icon="keyboard" href="/firmware/usb-utilities">
    Acts as a standard **USB HID keyboard** supporting 9 language layouts (EN-US, DE, FR, ES, IT, PT, SV, DA, HU) to type credentials into any focused field.\
    Works across all major operating systems.
  </Card>

  <Card title="Integrated OLED Display" icon="display" href="/firmware/display">
    Navigate stored credentials and 2FA codes on a **128×32-pixel SSD1306 OLED screen** with auto-scroll for long text.
  </Card>

  <Card title="Time-Based One-Time Passwords (TOTP)" icon="clock" href="/firmware/totp">
    Generate 6-digit 2FA codes **locally and offline**.\
    Requires a one-time **time sync** from the host via USB — never through the Internet.
  </Card>

  <Card title="Open Source & Transparent" icon="code" href="https://github.com/Depbit-lab/zerokeyusb">
    Every line of firmware and hardware schematic is public.\
    Audit, verify, and contribute to improve the device.
  </Card>

  <Card title="62 Credential Slots" icon="database" href="/firmware/eeprom-management">
    Stores up to **62 site/user/password entries** plus optional TOTP secrets, all AES-128 CBC encrypted at rest in the external EEPROM.
  </Card>
</Columns>

***

## Security at a Glance

| Layer               | Technology                                                              | Location                                  |
| ------------------- | ----------------------------------------------------------------------- | ----------------------------------------- |
| Encryption          | AES-128 ECB (hardware, ATECC608A `AES` command) + software CBC chaining | ATECC608A + SAMD21 MCU                    |
| Encryption key      | 16 B random (ATECC608A TRNG, written by the chip itself at first boot)  | ATECC608A slot 8 (IsSecret=1, never read) |
| IV                  | 16 B random (ATECC608A TRNG)                                            | EEPROM `0x0010`                           |
| PIN hashing         | SHA-256(PIN ∥ chip\_serial)                                             | MCU (software)                            |
| PIN salt            | 9-byte chip serial                                                      | ATECC608A Config Zone                     |
| PIN rate-limit      | Monotonic Counter0 (hardware)                                           | ATECC608A                                 |
| PIN budget          | 50 attempts before wipe                                                 | Threshold at EEPROM `0x0020`              |
| Boot integrity      | ECDSA P-256 signature verification                                      | Bootloader                                |
| Physical protection | Epoxy encapsulation + BOOTPROT fuse                                     | PCB / SAMD21 fuses                        |

***

## Documentation Overview

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Step-by-step guide to flash the firmware, create your Master PIN, and store your first credentials.
  </Card>

  <Card title="Hardware" icon="microchip" href="/hardware/overview">
    Electrical schematics, component list, and EEPROM memory map for the **M24C64-WMN6TP**.
  </Card>

  <Card title="Firmware" icon="code" href="/firmware/architecture">
    Explore how modules interact: display, menu navigation, EEPROM storage, keyboard output, and TOTP generation.
  </Card>

  <Card title="Security" icon="shield" href="/firmware/security">
    Understand how AES-128 CBC encryption, ATECC608A-assisted PIN verification, IV generation, and hardware rate-limiting secure your data.
  </Card>

  <Card title="Compliance & Open Source" icon="book" href="/certifications">
    Certifications, licensing, and community contribution guidelines.
  </Card>

  <Card title="Support" icon="lifebuoy" href="/support/faq">
    FAQs, troubleshooting steps, and how to reach the ZeroKeyUSB community or request professional help.
  </Card>
</Columns>

***

## Need help?

<Card title="Visit zerokeyusb.com" icon="link" href="https://zerokeyusb.com">
  Find user guides, updates, and community resources for ZeroKeyUSB.
</Card>
