skillfed

soft-webauthn

Python webauthn software authenticator

soft-webauthn v0.1.4 143.7K downloads/30d#11,170 on PyPI53
Permissive license Abandoned released

What it is and what it does

soft-webauthn provides a SoftWebauthnDevice class that mimics a WebAuthn authenticator for testing passwordless authentication flows in web applications. It exports navigator-like methods (create, get) and credential initialization helpers so developers can write integration tests without physical security keys or live browser automation.

The package is designed to sit within a test suite alongside application-specific code that handles credential exchange between the test client and the web application under test. It depends on cryptography and fido2 for the underlying cryptographic operations and FIDO2 protocol implementation.

Use it for:

  • Write unit tests for WebAuthn registration and authentication flows in web applications during CI/CD
  • Emulate authenticator behavior in integration tests without requiring hardware tokens
  • Test passwordless login flows in development without setting up a full browser environment
  • Validate credential creation and assertion handling in custom WebAuthn relying party implementations

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Emulates a WebAuthn authenticator in Python for testing web applications that use passwordless authentication, without requiring physical security keys.

Yes, if you are actively testing WebAuthn flows and can tolerate an abandoned package. The low install friction and permissive license make it straightforward to adopt, but verify that it works with your current dependency versions and WebAuthn spec version before relying on it in production CI—no updates are forthcoming.

Install

soft-webauthn on PyPI

pip

pip install soft-webauthn

uv

uv add soft-webauthn

poetry

poetry add soft-webauthn

Installing soft-webauthn

Before you install

Low install friction with only two runtime dependencies (cryptography and fido2). However, the project is abandoned—last release was 2022-07-08 and last commit 2023-06-09—so expect no maintenance or security updates.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe to incorporate into test suites.

Quickstart

pip install soft-webauthn

from soft_webauthn import SoftWebauthnDevice

device = SoftWebauthnDevice()
device.cred_init(rp_id='example.com', user_handle=b'user')
attestation = device.cred_as_attested()

Verify before relying

  • Whether the package works with current versions of cryptography and fido2 dependencies, given its abandoned status since mid-2023
  • Compatibility with modern WebAuthn specifications and browser implementations
  • Whether it handles all WebAuthn credential types and algorithms in current use

Package facts

License not declared (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — cryptography, fido2
Maintenance abandoned — 1,498 days since the last release
Last repo commit
First released
Downloads 143,699/month — #11,170 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: soft_webauthn-0.1.4-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3

Tags

webauthn testingsoftware authenticatorfido2 emulationpasswordless auth testingwebauthn mock devicebrowser credential simulationweb app security testing
webauthntestingauthentication

More Testing packages