Philosophy
ZeroKeyUSB is intentionally offline and closed for modification, yet open for inspection. Publishing the full firmware and hardware documentation lets anyone audit the security model while keeping production devices sealed and tamper-resistant.Repository overview
All public materials live in the Depbit-lab/zerokeyusb repository. You will find:firmware/
→ C++ source code for the SAMD21 application, including crypto helpers and device drivers.hardware/
→ Schematics, PCB layout, and BOM files for each hardware revision.tests/
→ Unit tests that validate AES routines, EEPROM transactions, and TOTP calculations.docs/
→ Markdown guides that mirror this knowledge base.
zerokeyusb-vX.Y.Z.bin
) and SHA-256 checksums for independent verification.
Reproducible builds
We publish the exact toolchain configuration used at the factory:- The container ships with ARM GCC, openocd, and all dependencies pinned.
- Running
make release
produces a firmware image identical to the official one (matching checksum). - The build artifacts include a manifest with git commit, build timestamp, and compiler flags.
Security-first contributions
We welcome issues and pull requests that improve documentation, testing, or tooling. To keep the production firmware auditable:- Development happens on feature branches.
- Every change requires two maintainer reviews focused on security impact.
- CI runs unit tests and static analysis (cppcheck, clang-tidy) on each commit.
- Release candidates undergo manual hardware testing before a new tag is created.
Verifying your device
You can confirm that your ZeroKeyUSB runs the officially signed firmware:- Check the firmware version from Menu → Settings → About.
- Download the matching release binary from GitHub and compute its SHA-256 hash.
- Compare it against the checksum printed in the release notes.
- (Optional) If you have factory tools, you can read the flash memory and verify the signature block — the repository documents the process.
Community channels
- Issues → Report bugs, propose features, or request clarifications.
- Discussions → Share tips, automation scripts, or talk about self-hosted backups.
- Security inbox → Email
security@zerokeyusb.com
for coordinated vulnerability disclosure.
Open source does not mean modifiable firmware on retail units. The published code is for transparency, audits, and educational purposes.