npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@myfield/mfid

v0.9.0

Published

mfid DID method/profile v1 implementation.

Readme

mfid

mfid is the did:mfid v1 DID method/profile package.

Status: 1.0 preview. 0.9.0 reflects our assessment that the v1 design has reached its baseline shape; minor adjustments are still possible before 1.0 based on community feedback and real-world use, and 1.0 will freeze the API/protocol, with later versions extending it while keeping compatibility.

Purpose

mfid provides a DID profile for identities owned by control of active owner private keys, typically generated and held by user devices or authenticators, without requiring a central registry. The identifier is derived from the genesis owner key, while the current trusted state is proven by a DID document and proof-chain verified together.

An mfid profile can rotate owner keys without changing its DID. A DID document is trusted only when it verifies against its proof-chain. Applications can build registration and authorization flows on top of mfid, while product-specific policy remains outside the DID method core.

mfid v1 is intended to serve as a personal security root for a user's network of owner devices. It is not intended to be used as a public identifier across applications or third-party services.

What Is In Scope

  • did:mfid:<mfid> v1 identifier derivation and DID document creation.
  • A narrow DID Core-compatible document profile using JsonWebKey2020 and publicKeyJwk.
  • Method-specific proof-chain creation, append, and verification.
  • Deterministic JSON and hash helpers used by the v1 profile.
  • Owner proof verification for jwk.sign and webauthn.get.
  • JSON schema snapshots and cross-implementation test vectors.

What Is Out Of Scope

  • Product registration policy, bootstrap artifacts, grants, sessions, and UI.
  • Resolver hosting, registry writes, and network transport.

Usage

For API usage, read the runnable example below — it covers document creation, genesis proof-chain creation, and profile verification end to end. See docs/api.md for the full helper list.

Minimal Example

The runnable minimal example creates a P-256 owner key, creates an mfid DID document, signs the genesis document proof, creates a proof-chain, and verifies the resulting profile.

npm run example:minimal

The command prints a JSON object with verified: true, the generated DID, document hash, and proof-chain head hash.

To also print the generated profile before the verification result:

MFID_EXAMPLE_PRINT_PROFILE=1 npm run example:minimal

Source: examples/minimal.mjs.

Documentation

Specification:

Reference:

Considerations: