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

@verifner/web

v0.5.0

Published

VerifNer web SDK: guided document and selfie capture for Nigerien identity verification

Readme

@verifner/web

Guided capture for the VerifNer verification API: document front (and back for a CNI), selfie, quality gates in the browser, compression for 3G, upload with a short-lived client token. No framework, no dependencies, one file.

Flow

  1. Your server calls POST /v1/sessions with the secret key and gets { id, client_token } (15 minutes, single use).

  2. Your page mounts the SDK with those two values. The secret key never reaches the browser.

  3. The SDK uploads to POST /v1/sessions/:id/verify and calls onComplete.

  4. Your server trusts the webhook or GET /v1/sessions/:id, not the browser.

Or npm install @verifner/web, then import { create } from '@verifner/web'.

Screens

Welcome (steps, duration, consent, language) → document (skipped when documentType is set) → how to prepare it, with tips and an illustration → camera (the front, then "turn your card over" and the back for a CNI) → a checklist to review each photo → selfie tips → selfie → sending → result. Text is set in Satoshi, loaded from verify.verifner.com (font changes it). By default the person sees "verification sent"; showVerdict: true shows the verdict (verified, in review, not confirmed), never its reasons. Your server decides from the webhook either way.

Quality gates

Each frame under the guide is scored: Laplacian variance (blur), blown-out pixel ratio (glare) and mean luma (dark). Six clean frames in a row (about 1.5 s) trigger auto-capture for documents; the selfie is taken with the button. Captures are cropped to the guide, scaled to 1600 px on the long edge and re-encoded to about 300 KB. Without a camera the file picker takes over, through the same resize.

Develop

npm run build --workspace=@verifner/web      # dist/verifner.js, dist/verifner.iife.js, types
node --import tsx --test packages/sdk-web/test/*.test.ts
VERIFNER_API_KEY=vn_test_… node packages/sdk-web/example/server.mjs   # http://localhost:3000

Face detection

The selfie guide finds the face with a TypeScript port of pico.js and its facefinder cascade, both by Nenad Markus under the MIT licence (https://github.com/nenadmarkus/picojs). The cascade (about 240 KB) is served from verify.verifner.com; set faceModel to host it yourself, or false to turn the face checks off.

Licence

MIT.