However, smart cards have existed since forever in the enterprise. You can buy FIPS 201-2 Level 3 compliant smart cards by the truckload at ~$10/card, generate a keypair onboard, put the public key in Active Directory, and have a pretty solid guarantee that the private key will never leak. Distribute one to every employee and use them instead of (or in addition to) passwords for Windows logon. The per-device cost is very low, but the big vendors (Gemalto, etc) want you to call their salespeople to discuss how many hundreds of thousands of dollars the Windows integration and card programming software is going to cost.
Most of these are JavaCards preloaded with a proprietary applet, then locked so you can't change the applets. The vendor then sells a driver that communicates with the applet and provides a PKCS#11 interface to the OS, so the card can be used for i.e. webmail client certificate login, PAM modules, domain authentication, SSH, VPN, etc. You can also just buy unlocked JavaCards and write your own applets for them. This is how most smart card products (national IDs, school IDs, large corporate deployments, U.S. DOD CACs, etc) come into existence - buy JavaCards by the shipping container, load your applet, run through an ID printer, distribute. There are a few places that will sell in low volumes with the default key set so you can use tools like GlobalPlatformPro to load open-source applets. Otherwise you can pay a coule grand for an SDK. There are a few open-source applets that (allegedly) provide a PKCS#11 interface on Linux and OSX through OpenSC. The JavaCards I bought were too old for most of them, unfortunately, but I'm buying some newer ones.
Old corporate hardware used to have smart card readers integrated everywhere - in monitors, in the keyboard, in the sides of ThinkPads. Nowadays the card + reader thing is a little dated and people would rather carry a USB token. So you can buy (bulk, white label) JavaCard chips with an integrated reader in USB form factor. Interface protocols are the same, and the same applets can run on both.
YubiKey wrote its own proprietary PKCS#11 applet and drivers. They also forked an existing OpenPGP applet (competing standard) which you can download from Github and (theoretically) run on a white-label JavaCard yourself.
So did Nitrokey. The only thing that's new about these developments is that the personalization tools and drivers are free, and the tokens are available in quantity 1. There are actually a few dozen different corporate, enterprise-sales-only YubiKey/NitroKey-like devices already, and have been for years. NitroKey is actually on the expensive side - their ~$50 model has a bit less functionality than YubiKey's. See also Feitian ePass2003, Gemalto IDBridge K50, etc.