fakefido/ GitHub

A virtual authenticator demo

FIDO flows,
without the hardware.

FakeFido is a small command-line project for exploring FIDO2 and WebAuthn with a virtual USB device.

Built on BulwarkID’s Virtual FIDO ↗

Install on Linux

amd64 · arm64 · systemd

Requires root
terminal
curl -fsSL https://pub-7e86b3749663480cb15de05614bda9e4.r2.dev/latest/install.sh | sudo sh

Downloads are served from the public FakeFido release bucket.

Please read before using

This is not real WebAuthn security.

FakeFido is software, not a hardware authenticator. Credentials (often called passkeys) are stored in a local JSON vault file. There is no secure hardware protecting the keys, device-bound storage, or hardware-backed user verification.

That differs from passkeys protected by Apple or Android devices, and physical security keys such as YubiKeys. Do not use FakeFido to protect real accounts or sensitive data.

Under the hood

A demo built on
Virtual FIDO.

FakeFido wraps BulwarkID’s Virtual FIDO repository, which implements a virtual FIDO2/U2F USB device. This project connects that library to a simple command-line demo and local credential vault.

It’s a place to learn, inspect the code, and experiment with test accounts. A virtual device cannot provide the physical isolation or assurances of an actual authenticator.

After installation, manage the systemd service with systemctl status fakefido and view logs with journalctl -u fakefido -f.

Curious about the implementation? Read the warning, then experiment with test accounts.

View FakeFido on GitHub ↗