google/opensk

OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 26 minutes ago
Added to GitGenius on September 20th, 2026
Created on December 17th, 2019
Open Issues & Pull Requests: 12 (+0)
GitHub issues: Enabled
Number of forks: 339
Total Stargazers: 3,429 (+0)
Total Subscribers: 82 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.0 hours
Mean response time: 42.9 days
90th percentile: 7.2 days
Tracked items: 41

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 5
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 833 days
Stale 30+ days: 5
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (5)
  • question (5)
  • documentation (2)
  • tracking (2)
  • bug (1)
  • help wanted (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

OpenSK is an open-source implementation of a FIDO2 security key written in Rust that supports both FIDO U2F and FIDO2 standards.

Security keys are external devices used for authentication on websites, and OpenSK solves the problem of having a fully open-source security key implementation from firmware to application layer. The project implements the FIDO2 protocol in Rust and runs on embedded hardware, specifically Nordic nRF52840-based boards. It can be deployed as a Wasefire applet or used as a library. The tool currently uses RustCrypto for cryptographic operations while work continues on integrating hardware-accelerated cryptography via the ARM CryptoCell-310 embedded in the nRF52840 chip.

OpenSK is positioned as a proof-of-concept and research platform rather than a production security key for daily use. It suits developers and researchers interested in understanding security key implementation, experimenting with FIDO protocols, or building custom authentication hardware. The project explicitly states it is not meant for daily usage and that the develop branch is less rigorously tested than numbered branches tracking older CTAP versions. A previous version implementing CTAP 2.0 achieved FIDO Alliance certification, though the current develop branch tracking the latest CTAP specification is not certified. The tool supports multiple hardware platforms including Nordic development kits and dongles from various manufacturers, with installation instructions provided for each.

Development activity shows consistent automated testing across multiple dimensions including code formatting, linting, and coverage tracking. The project maintains active CI workflows for Cargo checks and format validation. Documentation is actively maintained with linting checks in place. The codebase demonstrates attention to code quality through automated format enforcement and comprehensive testing infrastructure.