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

saro-dat

v4.7.1

Published

Distributed Access Token

Readme

DAT - Distributed Access Token

Document

Requirements

  • Node.js 24 or newer. The encoders use Uint8Array.fromBase64/toBase64/fromHex/toHex, which land in Node 24; on Node 20/22 every encode and decode throws a TypeError.
  • ESM only. This package ships a single ES module entry point — import it with import { ... } from 'saro-dat'. There is no CommonJS (require) build.

Support Platform

Support algorithm

Signature

| name | note | |-----------------|-----------------------| | ECDSA-P256 | = secp256r1 | | ECDSA-P384 | = secp384r1 | | ECDSA-P521 | = secp521r1 | | HMAC-SHA256-MFS | = 256Bit Fixed Secret | | HMAC-SHA384-MFS | = 384Bit Fixed Secret | | HMAC-SHA512-MFS | = 512Bit Fixed Secret |

  • MFS : Maximum(Same Bit) Fixed Secret

Crypto

| name | note | |------------|-------------------------------| | IV-AES128-GCM | (IV=NONCE:96BIT) + AES128 GCM | | IV-AES256-GCM | (IV=NONCE:96BIT) + AES256 GCM |

Performance

  • random plain and secure test
  • mac mini m4 2024 basic (10 core)
  • bench.test.ts
plain: 3IyOGYSW2BWwigSw6zC0LMXhB76hypld4DaplHTzlKIfN7qRpsL3wS5Tx2VFBawEIPXmvNqZnu5eXkR8vsK2IhLuC7ZPreVHtE89
secure: 2oG3GLTXDtrph0Ie4sHawB1sQP6jfl1VsABcoULJ4NJ4VTeBCg9ElpWnGQTw0R2gPnRkURT4yjr0ND4Y0YsxDC4jei8KdfZZJIH4

Multi-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 157ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 159ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 148ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 153ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 138ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 149ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 137ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 149ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 138ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 150ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 136ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 150ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 187ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 183ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 185ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 178ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 1073ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 900ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 1079ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 898ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 2509ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 1884ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 2499ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 1864ms

Single-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 265ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 258ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 262ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 256ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 258ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 245ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 261ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 253ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 260ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 233ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 253ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 248ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 430ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 698ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 434ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 697ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 4223ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 3578ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 4226ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 3561ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 9433ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 7172ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 9388ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 7261ms