🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

veridigit

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

veridigit

Verified IBAN, card, ISBN-13 & VIN validation for AI agents — checksums, not guesses.

latest
Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
21
-40%
Maintainers
1
Weekly downloads
 
Created
Source

veridigit

Verified validation of structured identifiers for AI agents — checksums, not guesses.

LLMs cheerfully accept malformed IBANs, mistype card check digits, invent ISBN and VIN check digits, and guess a card's brand wrong. veridigit gives an agent a deterministic, authoritative answer instead: it runs the real checksum algorithms and returns structured results with the parsed parts and clear error reasons.

It ships as both an MCP server (for agents to call live) and a typed TypeScript library (for apps to import).

Supported in v1:

  • IBAN — ISO 7064 mod-97 checksum + country-specific length, for 75+ countries.
  • Payment cards — Luhn (ISO/IEC 7812) checksum, brand detection from the BIN (Visa, Mastercard, Amex, Discover, Diners, JCB, UnionPay), and length rules.
  • ISBN-13 — 978/979 prefix and mod-10 weighted check digit.
  • VIN — ISO 3779 alphabet (no I/O/Q) and the position-9 transliteration check digit.

Why

A quick eval of a frontier model with no tools, on arbitrary (non-memorised) identifiers, gets check-digit questions wrong a large fraction of the time — and silently. The failure is invisible: the model returns a confident, well-formatted answer that happens to be wrong. veridigit replaces the guess with the algorithm.

Use as an MCP server

// in your MCP client config
{
  "mcpServers": {
    "veridigit": { "command": "npx", "args": ["-y", "veridigit"] }
  }
}

Tools exposed: validate_iban, validate_card, validate_isbn, validate_vin.

Use as a library

npm install veridigit
import { validateIban, validateCard, validateIsbn13, validateVin } from "veridigit";

validateIban("GB82 WEST 1234 5698 7654 32");
// { valid: true, countryCode: "GB", country: "United Kingdom", checkDigits: "82", ... }

validateCard("4111 1111 1111 1111");
// { valid: true, luhnValid: true, brand: "Visa", lengthValid: true, ... }

validateIsbn13("978-0-306-40615-7"); // { valid: true, type: "ISBN-13", checkDigit: "7", ... }
validateVin("1HGCM82633A004352");    // { valid: true, checkDigit: "3", ... }

Helper exports are also available: ibanCheckDigits, luhnValid, luhnCheckDigit, detectBrand, isbn13CheckDigit, vinCheckDigit, supportedIbanCountries.

Scope

veridigit validates the structure of an identifier — its format and checksum. It does not confirm that a bank account, card, book or vehicle actually exists, is active, or belongs to anyone. It performs no network calls.

Development

npm install
npm run build   # tsc -> dist/
npm test        # parity/known-answer tests via tsx

The curated reference data (IBAN country specs, card BIN ranges) lives in data/.

License

Apache-2.0

Keywords

mcp

FAQs

Package last updated on 15 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts