
Product
PHP and Composer Support Is Now in Beta
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.
@decionis/verify
Advanced tools
Independently verify a Decionis Decision Dossier's Ed25519 proof bundle offline, using only Node's built-in crypto. No Decionis account, SDK, or network dependency required.
Independently verify a Decionis Decision Dossier — the signed, non-repudiable record Decionis emits every time it allows or blocks a high-stakes action.
This package uses only Node's built-in crypto. It has zero runtime
dependencies and never talks to Decionis except to fetch the public dossier and
the public JWKS. If it prints VERIFIED, the Ed25519 signature is genuinely
Decionis's and the signed documents have not been altered by a single byte. You
do not need a Decionis account, API key, or SDK — that's the point.
# Verify a live dossier (JWKS auto-discovered from the proof bundle)
npx @decionis/verify https://api.decionis.com/public/decision-dossiers/<id>/proof-bundle
# Verify a dossier JSON you saved locally
npx @decionis/verify --file dossier.json --jwks https://api.decionis.com/.well-known/decision-dossier-jwks.json
# Machine-readable output
npx @decionis/verify <url> --json
Exit code 0 means verified, 1 means not verified, 2 means a usage or IO error.
import { verifyDossierProofBundle, verifyDossierFromUrls } from "@decionis/verify";
// From objects you already hold
const result = verifyDossierProofBundle({ dossier_payload, public_jwks });
if (!result.verified) throw new Error("dossier failed verification");
// Or fetch + verify from public URLs (JWKS auto-discovered)
const { result: r } = await verifyDossierFromUrls({ dossierUrl });
For each signed artifact in the proof bundle:
OKP / Ed25519 JWK in the published JWKS matches the
bundle's key id (or a rotated predecessor).Canonicalization is deliberately simple and stable: recursively sort object keys,
leave arrays and scalars in place, then JSON.stringify. A parity test pins this
to the server's implementation so a server-produced signature always verifies here.
A verified signature proves a dossier was not altered — but the stronger property
is reproducibility: a third party can re-run the exact recorded policy against
the exact recorded inputs and get the same verdict. That recompute needs the
deterministic engine (the reproduce endpoint), so it is not offline. What is
offline-checkable is whether a dossier carries what the engine needs to
reproduce it. assessDossierReproducibility(payload) reports one of:
reproduction_ready — carries the recorded outcome, policy version, rules
hash, evaluation time, and inputs snapshot; the engine can recompute and
hash-match the exact recorded bundle.incomplete — some reproduction inputs are present but not enough; names
what is missing.signature_only — no reproduction metadata; a signed record, not a
reproducible one.The CLI prints this posture beneath the VERIFIED line (and includes it under
reproducibility in --json). It is informational — it never changes the
verified/exit status, which reflects the cryptographic check alone.
This verifies the cryptographic integrity of a dossier. It does not by itself
prove when the decision was made — that is covered separately by the dossier's
external timestamp anchor. It does not re-run the policy: the reproducibility
posture above is a coverage check, and the actual recompute uses the dossier's
reproduce endpoint.
FAQs
Independently verify a Decionis Decision Dossier's Ed25519 proof bundle offline, using only Node's built-in crypto. No Decionis account, SDK, or network dependency required.
The npm package @decionis/verify receives a total of 36 weekly downloads. As such, @decionis/verify popularity was classified as not popular.
We found that @decionis/verify demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.