Two devices running the real IRL2FA firmware, compiled to WebAssembly. Pair them over infrared, compare the six symbols, then watch each one show the word the other expects to hear. Everything is driven by the 5-way joystick, just like the hardware.
Your device
Starting…IR onTheir device
Starting…IR onClick a device (or Tab to it) and use ← ↑ → ↓ and Enter. Hold a direction to repeat.
- On both devices choose Pair with someone, then switch on Hold devices together.
- Check the six symbols match on both screens and press the joystick on each.
- Name the contact. Now one device's SAY word is the other's HEAR word.
Time
Both devices share this UTC clock. Use the skew sliders under each device to drift one clock by up to a minute: words change every 15 s, and each device also accepts the previous word (“or …”), so small skews still verify. While you hold a button the simulation runs in real time.
Reference TOTP
Demo data adds two codes to your device, including
JBSWY3DPEHPK3PXP: add the same secret to a phone authenticator and the codes match.
Computed here with Web Crypto HMAC-SHA1; nothing is stored or sent anywhere.
Battery
| Yours | Theirs | |
|---|---|---|
| Used | – | – |
| Awake / asleep | – | – |
| Refreshes full / fast | – | – |
| IR on | – | – |
| Average | – | – |
| Life at this pace | – | – |
Power model
About IRL2FA
IRL2FA is an open-source, air-gapped hardware token the size of a stick of gum: a 2.13″ e-paper screen, a 5-way joystick, an infrared link and a CR2450 coin cell. It has no USB data, no radio and no network.
Person-to-person verification. Two people pair their devices once, in person, over IR (an X25519 key agreement checked by comparing six symbols on both screens). From then on each device shows a pair of words that changes every 15 seconds: the word you say and the word you should hear. When a call or message claims to be from them, ask for the word. A voice clone or a hijacked account can't know it.
Standard TOTP. It is also an ordinary authenticator for the 6- or 8-digit codes websites use (RFC 6238), entered by hand from the base32 secret and kept encrypted on the device.
Joystick only. Up, down, left, right and press are the whole interface, PIN included.
This simulator runs the same C firmware as the device (AGPL-3.0), compiled to WebAssembly, on a virtual board. Nothing you do here leaves your browser.