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

voxsheild

v1.0.0

Published

Client for the VoxVerify voice-authenticity API: batch analysis, the risk gate, and live calls.

Readme

voxsheild

Client for the VoxVerify voice-authenticity API — batch file analysis, the pre-action risk gate, and live-call scoring over a WebSocket.

The classes keep the service's name, because that is what they are a client of: the API paths, the environment variables and the OpenAPI document all say VoxVerify. voxsheild is what you install and import.

npm install voxsheild

Node 22.6 or newer. No build step — the package ships as the TypeScript it was generated as, and the modules import each other with .ts on the specifier so Node's type-stripping runs them directly.

Analyse a recording

import { VoxVerify } from "voxsheild";

const vx = new VoxVerify({ baseUrl: "", apiKey: KEY });  // "" = same origin
const verdict = await vx.analyze(file);

Three verdicts, never two: LIKELY_HUMAN, LIKELY_AI, INCONCLUSIVE. The service abstains rather than guessing when the fused score does not clear a validation-selected threshold, or when the fusion weight behind it is split. Treat the estimate as evidence, not proof — the absence of a synthesis cue is not evidence of human origin.

Score a live call

import { LiveCall } from "voxsheild/stream";

const call = new LiveCall({ apiKey: KEY, sampleRate: 16000, codec: "opus" });
call.onRisk = (e) => console.warn(e.state, e.confidence, e.reason);
await call.open();
call.send(pcmFrame);                     // Int16Array, LE
const summary = await call.stop();

call.droppedFrames counts what the client refused to queue when the socket's send buffer was already backed up. A tab that buffers thirty seconds of audio is not monitoring a call, it is recording one late.

Frames are capped at 1,048,576 bytes, and both clients split at the cap rather than let an oversized frame close the socket and cost the call every window it had accumulated. The caps are generated from the document, so a deployment that tunes them does not need this package patched.

Auth

Keys are per-tenant and scoped, and the tenant comes off the key — no request body may name one. 10 of the 18 documented operations require a scope; the batch forensic routes are open by design. A 403 carrying scope means the key is real but provisioned for a different surface, which is a different fix from a bad key.

Version

1.0.0, which is the API document's version rather than a number this package maintains separately. The request methods are generated from that document; the live-call client is hand-written, because OpenAPI 3.1 has no vocabulary for a socket.

Prototype for research and evaluation. Do not present any output of the service as proof of origin, and do not use it as the sole basis for an accusation.