jacs

Crates.iojacs
lib.rsjacs
version0.3.5
created_at2024-04-12 09:01:24.034632+00
updated_at2025-05-28 23:47:31.64247+00
descriptionJACS JSON AI Communication Standard
homepagehttps://humanassisted.github.io/JACS
repositoryhttps://github.com/HumanAssisted/JACS
max_upload_size
id1206125
size598,701
Jonathan Hendler (Hendler)

documentation

README

JACS: JSON Agent Communication Standard

Welcome to JACS (JSON Agent Communication Standard), a comprehensive framework for creating, signing, and verifying JSON documents with cryptographic integrity, designed specifically for AI agent communication and task management.

What is JACS?

JACS provides a standard way for AI agents to:

  • Create and sign JSON documents with cryptographic signatures
  • Verify authenticity and integrity of documents
  • Manage tasks and agreements between multiple agents
  • Maintain audit trails of modifications and versioning
  • Ensure trust in multi-agent systems

Perfect for building trustworthy AI systems where agents can securely exchange tasks, agreements, and data with verifiable integrity.

Key Features

  • Cryptographic Security: RSA, Ed25519, and post-quantum algorithms
  • JSON Schema Validation: Enforced document structure
  • Multi-Agent Agreements: Built-in collaboration support
  • Full Audit Trail: Complete versioning and modification history
  • Multiple Languages: Rust, Node.js, and Python implementations
  • MCP Integration: Native Model Context Protocol support
  • Production Ready: Built-in observability and monitoring

About

JACS is a JSON document format for creating secure, verifiable documents that AI agents, ML pipelines, SaaS services, and UIs can exchange and process. The goal of JACS is to ensure that these documents remain unchanged (immutable), produce the same verification result every time (idempotent), and can be used flexibly by software.

With JACS, data can be securely stored or shared, and different versions of the data can be tracked. One of the key features of JACS is its ability to provide instant verification of document ownership. Each version of a JACS document is signed with a unique digital signature, allowing an AI agent to prove its data claims. This enables trusted interactions between agents and provides flexibility in how documents are versioned and exchanged. Any person or software can modify a doc, but only agents with the private key can sign new versions, and only holders of the public key can verify.

JACS also provides standardization for agreement between agents. While each document will only have been modified by one agent, any agent can create a new version. With a JACS document, one can guarantee that other agents agree to new versions is critical infrastructure for sharing tasks.

Use JACS as is, embed in other projects or libraries, commercial or otherwise.

Please note that the license is modified Apache 2.0, with the Common Clause preamble. In simple terms, unless you are competing with HAI.AI, you can create commercial products with JACS.

Basic use cases

  1. version json documents and test against a schema
  2. capture metadata about files and versions and securely verify
  3. sign documents
  4. create agreements between human and ai agents
  5. create agents and describe what they can do
  6. create tasks manage their state
  7. Use with OpenAI structured output

Documentation

Schemas

extensible

Use any type of JSON document, and you can enforce structure of type of JSON document using JSON Schema. If you are just getting started with JSON schema

  1. introduction
  2. github page
  3. youtube channel

JSON isn't the only document you can work with. You can embed any document, so if you want to sign a gif or .csv, you can link or embed that document with JACS.

open source

In addition, JACS also depends on the work of great other open source efforts in standards and encryption.

See the Cargo.toml

Quick Start

To install the command line tool for creating and verifying agents and documents

$ cargo install jacs
$ jacs --help
$ jacs init 

If you are working in Rust, add the rust lib to your project

cargo add jacs

For development you may want cargo install cargo-outdated and cargo install cargo-edit


Then start reading the usage docs

Current Version: 0.3.5+ (Active Development) © 2024, 2025 https://hai.ai

Commit count: 547

cargo fmt