vds - v0.1.3
    Preparing search index...

    vds - v0.1.3

    vds logo

    @li0ard/vds
    simple library for visible digital seals (VDS)
    docs




    • Simple: Hides decoding process and provides simple and modern API
    • Type-Safe: Most of the APIs are strictly typed to help your workflow
    • Compliance: Fully complies with ICAO 9303, BSI TR-03137 and other standards
    • Supports Bun, Node.js, Deno, Browsers, Cloudflare Workers
    • Supports many curves from @noble/curves
    # from NPM
    npm i @li0ard/vds

    # from JSR
    bunx jsr add @li0ard/vds
    import { Seal } from "@li0ard/vds";

    const seal = Buffer.from("DC03....", "hex");
    const decodedSeal = Seal.decode(seal);

    console.log(decodedSeal);
    import { Seal, Verifier } from "@li0ard/vds";
    import { brainpoolP256r1 } from "@noble/curves/misc.js";

    const publicKey = Buffer.from("0408....", "hex");
    const verifier = new Verifier(brainpoolP256r1, publicKey);

    const seal = Buffer.from("DC03....", "hex");
    const decodedSeal = Seal.decode(seal);

    console.log(verifier.verifySeal(decodedSeal));
    import { Seal, mapSealToFeatures, type SealSchema } from "@li0ard/vds";

    const ICAO_EMERGENCY_TRAVEL_DOCUMENT = {
    documentRef: 0x5e03,
    version: 4,
    features: [
    {
    name: "MRZ",
    coding: FeatureCoding.MRZ,
    tag: 2,
    required: true
    }
    ]
    } as const satisfies SealSchema;

    const seal = Buffer.from("DC03....", "hex");
    const decodedSeal = Seal.decode(seal);
    console.log(mapSealToFeatures(decodedSeal, schema)); // - { "MRZ": "..." }
    import { ICAOBarcode } from "@li0ard/vds";

    const barcode = "RDB1B...";
    const decodedBarcode = ICAOBarcode.decode(barcode);

    console.log(decodedBarcode);
    import { ICAOBarcode, Verifier } from "@li0ard/vds";
    import { brainpoolP256r1 } from "@noble/curves/misc.js";

    const publicKey = Buffer.from("0408....", "hex");
    const verifier = new Verifier(brainpoolP256r1, publicKey);

    const barcode = "RDB1B...";
    const decodedBarcode = ICAOBarcode.decode(barcode);

    console.log(verifier.verifyBarcode(decodedBarcode));