Damat registry

Every version scanned & scored

No mystery code
in your node_modules.

Point your .npmrc at us. Every package — ours or npm's — is owner-verified, statically and AI-scanned, and given a trust verdict before it reaches your tree.

$ npm install lodash
✓ PASS · score 96 · owner verified · scanned 2h ago
$ npm install evnt-stream
✗ BLOCKED · malicious · install-script exfiltration
$ damat module add @damatjs/webhook
✓ source copied · 9 files · verified publisher

The pipeline

Six stages between a release and your tree.

  1. 01

    Publish / proxy

    A version arrives — published to us, or pulled from npm through the proxy.

  2. 02

    Owner verify

    Publisher identity, provenance signatures, repo linkage, ownership changes.

  3. 03

    Static scan

    Install scripts, obfuscation, typosquats, suspicious APIs, binary blobs.

  4. 04

    AI scan

    An LLM reads the suspicious surface and the diff against the last version.

  5. 05

    Verdict 0–100

    One score, one status: pass, warn, flagged, or malicious.

  6. 06

    Your tree

    Your workspace policy decides — allow, warn, or block — before install.

A safety layer on top of npm

Keep installing from npm. Through us.

The registry is an npm-protocol proxy: your installs keep resolving the same packages, but every version passes owner verification, static + AI scanning, and your workspace policy on the way in. Malicious versions never reach you.

lodash@4.17.21

PASS · 96

Verified owner, valid provenance, clean scans.

Owner verifiedProvenanceAI-scanned

left-pad-utilz@1.0.2

WARN · 61

Typosquat-pattern name and a fresh maintainer.

Unverified ownerOwnership change

evnt-stream@3.4.1

BLOCKED · 4

Install-script exfiltration caught by static + AI scan.

MaliciousBlocked in every mode
How scanning & gating work

First-party hosting

Host any package with us.

Not just Damat modules — any npm-shaped package publishes to and serves from the registry, GitHub-Packages style. Standard npm protocol in, verification, scanning, and verdicts out.

How hosting works

Two ways to install

A dependency — or the source itself.

Everything we host installs as a normal npm dependency or as a shadcn-style source copy vendored into your tree: visible, reviewable, yours to keep intact or diverge.

$ bun add @acme/queue-worker
✓ installed into node_modules
$ damat module add @acme/queue-worker
✓ source copied to src/modules/queue-worker

Built for AI agents

Your agent asks before it installs.

One endpoint answers the question agents can't eyeball: is this package legit? Status, score, reasons, and a summary written for machine consumption.

The verdict API
GET /packages/lodash/4.17.21/verdict
→ { "status": "pass", "score": 96,
    "summary": "Published by its verified owner… safe to install." }

The Damat module registry

Backend building blocks, ready to drop in.

Self-contained Damat modules — auth, billing, webhooks, teams — each with an owner, a verification status, and one-command install.

2 modules · 1 verified

Browse all modules

Get started

Put a gate in front of your installs.

registry=https://registry.damatjs.com/api/