Tapbridge: phone -> pc u2f/fido2/webauthn/piv auth

i was tired of carrying around a USB NFC card reader when i had a perfectly capable one in my pocket all the time.

introducing tapbridge! a piece of FOSS mostly-vibecoded software that works pretty damn well.

tl;dr: pair your phone and windows or macos machine when you go to a website that requests 2fa from a physical device, tapbridge sends a notification to your phone. tap your phone & it proxies the communication so you can log in.

works over USB or the internet (via https://www.iroh.computer , no central server or port forwarding needed).
pair your phone, then tapbridge will take WebAuthn requests from your browser & send a notification to your phone to tap.
you can register your card/implant with your phone so tapbridge opens automatically when you tap to fulfill a request.

also supported: macOS login/sudo et al auth

current builds aren’t signed, so you gotta do a crazy macOS dance to allow its driver, but working on an apple dev account.

macOS Windows Android
Passkeys / security keys in the browser, with PIN :white_check_mark: (Safari, incl. Google sign-in) :red_question_mark: not tested in a while :white_check_mark:
Pairing, unpairing, wake-up notifications :white_check_mark: :red_question_mark: :white_check_mark:
Create a login certificate on your card (from the phone) :white_check_mark: – :white_check_mark:
Log in, unlock and approve prompts with your card (instead of Touch ID) :white_check_mark: :red_question_mark: –
Connect over a USB cable :white_check_mark: :test_tube: :white_check_mark:
Mac security settings, nix-darwin module :test_tube: new, barely tested – –
Signed / store builds :soon_arrow: :soon_arrow: :soon_arrow:

:white_check_mark: works · :test_tube: barely tested · :red_question_mark: might work · :soon_arrow: planned · – doesn’t apply

the only central piece right now is firebase cloud messaging to send notifications when your phone is locked, but unifiedpush coming soon!

contributions, feedback, testers welcome <3

3 Likes

Iroh mentioned :double_exclamation_mark:

Looks good, I’ll will play with it!

2 Likes

So it similar to PassKey Bridge!?

But yours is Peer-to-Peer and it can be plugged in via USB. (Actually, I havent tried that on Passkey Bridge thinking :thinking: )
Anything else of note that I missed?

1 Like

Yeah, it’s also FOSS, and works with a janky driver instead of the qr code pairing method, just directly presenting as a reader to the OS.

2 Likes

tapbridge now supports linux & PAM! it’s a lil janky in PAM, i’m working on some pretty overlay stuff, but you can use it for sudo and su (and even login if you’re insane!)

feedback welcome <3

1 Like

@ethernet is reading your mind @amal

tinfoil-hat-gif-by-the-tick

1 Like

yeah :slight_smile: great minds right?

The VivoKey Reader project will work as a universal NFC PC/SC device, including Fido but will also work with any other NFC tag type. I’m also kind of adamant about it not requiring 3rd party servers / internet so we’re implementing multiple local transports for notifications and data flow.

tapbridge did teach me about the iroh protocol, which I hadn’t heard of before and I think may actually work quite well for some projects I have in mind. Also the event log monitoring on Windows for FIDO events was an eye opener.. I did not know the actual websites requesting FIDO auth are logged in Windows Event Log.. yikes..

1 Like

Big Iroh fan here, long time user. It’s my go-to now when I need two processes to talk over unknown network conditions. All the default protocols they have are very nice. Some stuff isn’t 1.0 yet.

I saw tapbridge in the Iroh discord and then it was posted here shortly after lol

1 Like