Skip to main content
Glama
putervision

WebCrypt

by putervision
README.md
# WebCrypt v1.0.1

**Zero-dependency Web Crypto & native AI Agent Tooling (MCP) for modern JavaScript.**

[![npm version](https://img.shields.io/npm/v/webcrypt.svg)](https://www.npmjs.com/package/webcrypt)
[![npm downloads](https://img.shields.io/npm/dm/webcrypt.svg)](https://www.npmjs.com/package/webcrypt)
[![Node](https://img.shields.io/badge/node-%3E%3D18.0.0-339933.svg?logo=node.js&logoColor=white)](https://nodejs.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.5-3178C6.svg?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
[![MCP](https://img.shields.io/badge/MCP-Ready-blueviolet.svg?logo=json&logoColor=white)](https://modelcontextprotocol.io)
[![Tests](https://img.shields.io/badge/tests-247%20passed-brightgreen.svg)](./__tests__)
[![Coverage](https://img.shields.io/badge/coverage-93.8%25-success.svg)](./coverage)
[![PuterVision Triad](https://img.shields.io/badge/PuterVision-Triad%20Standard-6366f1.svg)](https://putervision.com)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

AES-256-GCM symmetric encryption, RSA-4096 hybrid public keys, ECDH key agreement, ECDSA/HMAC digital signatures, and Post-Quantum KEM (Kyber/Dilithium) โ€” zero runtime dependencies, pure Web Crypto API.

---

## โšก Quickstart (15 Seconds)

### 1. Installation

```bash
# ๐Ÿ“ฆ Install as project library (Node.js, TypeScript, Browser)
npm install webcrypt

# ๐ŸŒ Install globally (CLI utilities & global MCP tools)
npm install -g webcrypt
```

```javascript
import { WebCrypt, WebCryptAsym } from "webcrypt";

// ๐Ÿ”’ Symmetric AES-256-GCM (600k PBKDF2 iterations)
const wc = new WebCrypt();
const encrypted = await wc.encryptText("Secret payload", "password");
const decrypted = await wc.decryptText(encrypted, "password");

// ๐Ÿ”‘ Asymmetric RSA-4096 Hybrid Encryption
const wca = new WebCryptAsym();
const keyPair = await wca.generateKeyPair(4096);
const cipher = await wca.encryptText("Secret payload", keyPair.publicKey);
const plain = await wca.decryptText(cipher, keyPair.privateKey);
```

---

### 2. Auto-Setup for AI Agents & IDEs (MCP Server)

```bash
# Initialize MCP server, agent skills, and rules across your project
npx webcrypt init  # or `webcrypt init` if installed globally
```

_Supports **Google Antigravity**, **Cursor**, **Claude Desktop**, **VS Code / Copilot**, **Windsurf**, **Cline**, and **Zed**._

---

## ๐Ÿค– Why AI Agents Need WebCrypt MCP

Equip autonomous coding agents with an authenticated cryptographic vault directly in their toolbelt:

- ๐Ÿ” **Confidential Local Vaulting (`encrypt_payload`)**: Encrypt API keys and state memory before writing to disk to prevent prompt log leaks.
- ๐Ÿ›ก๏ธ **Tamper-Proof Provenance (`sign_verify`)**: Cryptographically sign test evidence packs, release binaries, and code diffs with ECDSA or HMAC.
- ๐Ÿค **Inter-Agent Key Exchange (`manage_keys`)**: Ephemeral JWK keypairs (RSA-4096, ECDH P-256/P-384) for private agent-to-agent messaging.
- โš›๏ธ **Post-Quantum Guardrails (`pqc_kem_sign`)**: Built-in Kyber KEM and Dilithium signatures future-proof long-term agent artifacts.
- โšก **Zero Dependencies**: 100% native `crypto.subtle` execution across Node.js 18+, Bun, browsers, and Edge runtimes.

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              Autonomous AI Coding Agent                   โ”‚
โ”‚     (Antigravity / Cursor / Claude / Copilot / Cline)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
          โ”‚                   โ”‚                   โ”‚
          โ–ผ                   โ–ผ                   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ state-memory-mcp  โ”‚โ”‚ vision-memory-mcp โ”‚โ”‚     webcrypt      โ”‚
โ”‚  (Workflow State) โ”‚โ”‚  (Visual Cache)   โ”‚โ”‚  (Security Vault) โ”‚
โ”‚  โ€ข Task Graph DAG โ”‚โ”‚  โ€ข UI Grounding   โ”‚โ”‚  โ€ข AES-256 Vault  โ”‚
โ”‚  โ€ข Decisions & SDDโ”‚โ”‚  โ€ข Layout Trees   โ”‚โ”‚  โ€ข RSA/ECDH Keys  โ”‚
โ”‚  โ€ข Event Ledger   โ”‚โ”‚  โ€ข Visual History โ”‚โ”‚  โ€ข Digital Sigs   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

---

## ๐Ÿ› ๏ธ MCP Tools Reference (6 Core Tools)

| Tool                  | Action / Mode                            | Description                                                                  |
| :-------------------- | :--------------------------------------- | :--------------------------------------------------------------------------- |
| **`encrypt_payload`** | `symmetric` \| `asymmetric` \| `data`    | Encrypt text, JSON objects, or files with AES-256-GCM or RSA-4096.           |
| **`decrypt_payload`** | `symmetric` \| `asymmetric` \| `data`    | Decrypt ciphertext back to plaintext or structured JSON.                     |
| **`manage_keys`**     | `generate` \| `generate_random_password` | Generate JWK keypairs (RSA, ECDH, ECDSA, RSA-PSS) or high-entropy passwords. |
| **`crypto_hash`**     | `SHA-256` \| `SHA-512` \| `SHA-3`        | Compute cryptographic hash digests in hex or base64.                         |
| **`sign_verify`**     | `sign` \| `verify`                       | Sign and verify messages, release hashes, and evidence packs.                |
| **`pqc_kem_sign`**    | `kyber_*` \| `dilithium_*` \| `hybrid_*` | Post-quantum Kyber KEM encapsulation and Dilithium signatures.               |

---

## ๐Ÿ“š Technical Documentation Directory

Explore dedicated guides in [`docs/`](docs/) and [`examples/`](examples/):

| Guide                                                                         | Topic                                                         |
| :---------------------------------------------------------------------------- | :------------------------------------------------------------ |
| ๐Ÿš€ **[Live Interactive Playground](https://putervision.github.io/webcrypt/)** | Test all crypto features in the browser demo.                 |
| ๐Ÿ’ป **[CLI Reference Guide](docs/CLI.md)**                                     | Scaffolding, global project scanning, and terminal utilities. |
| โš™๏ธ **[Multi-IDE MCP Setup Guide](docs/MCP_IDE_SETUP.md)**                     | Step-by-step MCP JSON configs for all major IDEs.             |
| ๐Ÿ”’ **[Symmetric Encryption API (`WebCrypt`)](docs/API_SYMMETRIC.md)**         | AES-256-GCM, streaming files, WebRTC E2EE, PBKDF2.            |
| ๐Ÿ”‘ **[Asymmetric Encryption API (`WebCryptAsym`)](docs/API_ASYMMETRIC.md)**   | RSA-4096 hybrid, ECDH key agreement, ECDSA/RSA-PSS.           |
| โš›๏ธ **[Post-Quantum Cryptography Guide](docs/PQC.md)**                         | Kyber KEM, Dilithium signatures, and Hybrid KEM.              |
| ๐Ÿ—๏ธ **[Architecture & MCP Specifications](docs/ARCHITECTURE.md)**              | Stdio JSON-RPC 2.0 protocol and chunk framing specs.          |
| ๐Ÿค– **[Agent Skill Definition](.agents/skills/webcrypt-mcp/SKILL.md)**         | Custom agent skill with automated test runner script.         |
| ๐Ÿ“‹ **[Project Instructions Template](PROJECT_INSTRUCTIONS_TEMPLATE.md)**      | Multi-agent rules template (`<!-- webcrypt-mcp:start -->`).   |
| ๐Ÿ’ก **[Code Examples Directory](examples/README.md)**                          | Ready-to-run Node.js & browser recipes.                       |

---

## ๐ŸŒ PuterVision Triad Standard

- ๐Ÿ“Š **[`@putervision/state-memory-mcp`](https://github.com/putervision/state-memory-mcp)**: Persistent SQLite graph for workflow states, task DAGs, and decision trails.
- ๐Ÿ‘๏ธ **[`@putervision/vision-memory-mcp`](https://github.com/putervision/vision-memory-mcp)**: Multimodal visual layout cache, AX grounding, and video replay analysis.
- ๐Ÿ” **[`webcrypt`](https://github.com/putervision/webcrypt)**: Zero-dependency cryptographic vault, payload encryption, key management, and digital signatures.

---

## ๐Ÿงช Testing & Diagnostics

```bash
# Run unit & integration test matrix (30 suites, 247 tests)
npm test

# Run live MCP tool test runner (25 assertions, 100% verified)
node .agents/skills/webcrypt-mcp/scripts/exercise_tools.js

# Audit environment & project configuration health
webcrypt doctor
```

---

## โš–๏ธ License & Disclaimers

Developed and maintained by [PuterVision](https://putervision.com). Released under the [MIT License](LICENSE).

- **100% Local Execution Guarantee**: All cryptographic operations execute locally in memory via standard W3C Web Crypto API (`crypto.subtle`). Zero external API calls, telemetry, or network transmissions.
- **Trademarks & Non-Affiliation**: Product names (Cursor, Claude, Google Antigravity, VS Code, GitHub Copilot, Windsurf, Cline, Zed) are property of their respective owners and used solely for compatibility identification.