
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.
@veritasacta/verify
Advanced tools
CLI tool to verify signed artifacts (receipts, manifests, tickets). Works offline.
Verify signed artifacts offline. No accounts. No API calls. No trust required.
Apache-2.0 licensed. Works offline. The verifier verifies itself.
Sigil: Slow Reed
Fingerprint: dd0443f0
Version: 0.3.0
This release carries a cryptographic Sigil — a commitment to the exact source code published in this package. Run --self-check to verify you have the canonical, unmodified verifier:
npx @veritasacta/verify --self-check
@veritasacta/verify — self-check
✓ Canonical verifier — Slow Reed
Sigil: dd0443f0
Version: 0.3.0
Package: @veritasacta/verify
Source: e7af6bb636d2336b... matches commitment
Policy: 789aa634fa4496b0... matches commitment
Sigil: dd0443f0ae189b11... matches commitment
This verifier is the unmodified canonical release.
The source code has not been changed since it was published.
If you see "Modified verifier — NOT the canonical release," the code has been changed. Get the canonical version: npm install @veritasacta/verify
Why this matters: any fork of this verifier can rename itself, but it cannot produce a matching Sigil without the project's private key. The --self-check flag lets anyone confirm they are running the real thing.
npx @veritasacta/verify --self-test
@veritasacta/verify — self-test
✓ Sample receipt: VALID (decision_receipt, kid: kPrK_qmx...)
✓ Sample bundle: VALID (3/3 receipts)
All self-tests passed. The verifier is working correctly.
No ScopeBlind servers were contacted. No accounts required.
# Verify a receipt with a known public key
npx @veritasacta/verify receipt.json --key <public-key-hex>
# Verify a receipt, fetching key from JWKS
npx @veritasacta/verify receipt.json --jwks https://example.com/.well-known/jwks.json
# Verify an audit bundle (receipts + embedded keys)
npx @veritasacta/verify bundle.json --bundle
# Read from stdin (for piping)
cat receipt.json | npx @veritasacta/verify --stdin
# Machine-readable output (for CI/scripting)
npx @veritasacta/verify receipt.json --key <hex> --json
# Verify the verifier itself
npx @veritasacta/verify --self-check
The verifier:
signature field from the artifactIf the signature is valid, the artifact has not been tampered with since signing.
| Format | Detection |
|---|---|
| v2 artifact | { v: 2, type, algorithm, kid, signature, ... } |
| v1 artifact | { algorithm, signature, hash, ... } |
| Passport SignedEnvelope | { payload, signature: { alg, kid, sig } } |
| IETF draft envelope | { payload, signature: { alg, kid, sig } } per draft-farley-acta-signed-receipts |
| Audit bundle | { receipts: [...], verification: { signing_keys: [...] } } |
| Flag | Description |
|---|---|
--key, -k <hex> | Ed25519 public key (64 hex chars) |
--jwks <url> | JWKS endpoint URL for key discovery |
--bundle | Verify all receipts in an audit bundle |
--stdin | Read artifact from stdin |
--json | Machine-readable JSON output |
--verbose, -v | Show detailed verification info |
--self-test | Verify bundled sample artifacts (proves the verifier works) |
--self-check | Verify this verifier is the canonical, unmodified release |
--help, -h | Show help |
| Code | Meaning | Semantics |
|---|---|---|
0 | Signature valid | Proven authentic — the Ed25519 math confirms the artifact has not been modified since signing |
1 | Signature invalid | Proven tampered — the signature does not match the payload. This is a security event. |
2 | Verifier error | Undecidable — malformed input, missing key, unparseable JSON. The check could not be performed. |
The distinction matters: exit 1 is evidence of tampering. Exit 2 is an operational error. These demand different responses.
This verifier accepts receipts from multiple governance frameworks:
| System | Receipt type | Verified |
|---|---|---|
| protect-mcp | Cedar policy + execution receipts | Exit 0 |
| Agent Passport System | Delegation + evaluation + outcome receipts | Exit 0 |
| AgentID | Identity verification attestations | Exit 0 |
All three use the same IETF draft envelope format with JCS canonicalization and Ed25519 signatures.
The sigil.json file in this package contains:
| Field | Value | Purpose |
|---|---|---|
fingerprint | dd0443f0 | Short identifier for this release's Sigil |
name | Slow Reed | Human-readable name (deterministic from fingerprint) |
project_public_key | fe665e86... | Veritas Acta project Ed25519 public key |
policy.source_hash | e7af6bb6... | SHA-256 of cli.js at release time |
policy.package_version | 0.3.0 | npm version this Sigil commits to |
policy.ietf_draft | draft-farley-acta-signed-receipts-02 | IETF spec version implemented |
The Sigil is derived from: SHA-256("scopeblind:sigil:v2" || project_public_key || SHA-256(policy_json)). Anyone with the public key and the source code can independently re-derive the Sigil and confirm it matches.
--self-check)Any platform can log what its agents do. Very few will let you verify those logs without trusting them. Even fewer will let you verify the verifier.
Apache-2.0 — veritasacta.com | IETF Draft | Protocol
FAQs
Offline verifier for Veritas Acta signed receipts. Powers protect-mcp, ScopeBlind cold-chain hardware, and Microsoft AGT Lesson 18.
The npm package @veritasacta/verify receives a total of 46 weekly downloads. As such, @veritasacta/verify popularity was classified as not popular.
We found that @veritasacta/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.