DAT
పత్రాలు

DAT JavaScript / TypeScript Library

GitHub npm

Installation

bash
bash
bash

Quick start

This complete flow retrieves certificates from CMS, creates a DAT containing JSON data, and verifies it.

typescript

Step by step

1. Connect to CMS

An issuing service uses a token for full certificates. Synchronizing immediately at startup prevents issuance before certificates are available.

typescript

2. Issue a DAT

This example puts public JSON in plain and protected user information as JSON in secure.

typescript

3. Verify a DAT

parse checks expiration and the signature, then decrypts secure. Use only a payload returned after successful verification.

typescript

Key functions

FunctionPurpose
syncOrThrow()Synchronizes certificates immediately.
issue(plain, secure)Creates a DAT string asynchronously.
parse(dat)Verifies a DAT and returns a DatPayload.
lastError()Returns the last synchronization error.

Data regions

  • plain: bytes that are signed but not encrypted.
  • secure: encrypted bytes.
  • payload: trust it only after parse succeeds.

Options beyond JSON

The examples use familiar JSON. For faster processing, binary data can avoid JSON serialization and parsing while reducing data size.

Store simple values as text, or place structured data in binary formats such as Protobuf or MessagePack in plain and secure.

typescript

Pass a Uint8Array or ArrayBuffer and retrieve the original bytes through plainBytes and secureBytes.

Verify-only services

A service that does not issue DATs uses the verify-only option and a verify-only token, and calls only parse.

Shutdown and errors

Call stop() at shutdown to clean up timers and in-progress requests.

Use error codes and retry classifications instead of error messages.